Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[kura-dev] [PATCH] plugin execution not covered by lifecycle... in the pom.xml is fixed

diff --git a/kura/org.eclipse.kura.web/pom.xml b/kura/org.eclipse.kura.web/pom.xml
index affbf97..bd1e752 100644
--- a/kura/org.eclipse.kura.web/pom.xml
+++ b/kura/org.eclipse.kura.web/pom.xml
@@ -207,24 +207,7 @@
 					</execution>
 				</executions>
 			</plugin>
-			<plugin>
-					<groupId>org.codehaus.mojo</groupId>
-					<artifactId>properties-maven-plugin</artifactId>
-					<version>1.0-alpha-1</version>
-					<executions>
-							<execution>
-									<phase>compile</phase>
-									<goals>
-											<goal>read-project-properties</goal>
-									</goals>
-									<configuration>
-									<files>
-											<file>${basedir}/../distrib/build.properties</file>
-									</files>
-									</configuration>
-							 </execution>
-					</executions>
-			</plugin>
+			
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-eclipse-plugin</artifactId>
@@ -355,6 +338,24 @@
 			<plugins>
 				<!--This plugin's configuration is used to store Eclipse m2e settings 
 					only. It has no influence on the Maven build itself. -->
+					<plugin>
+					<groupId>org.codehaus.mojo</groupId>
+					<artifactId>properties-maven-plugin</artifactId>
+					<version>1.0-alpha-1</version>
+					<executions>
+							<execution>
+									<phase>compile</phase>
+									<goals>
+											<goal>read-project-properties</goal>
+									</goals>
+									<configuration>
+									<files>
+											<file>${basedir}/../distrib/build.properties</file>
+									</files>
+									</configuration>
+							 </execution>
+					</executions>
+			</plugin>
 				<plugin>
 					<groupId>org.eclipse.m2e</groupId>
 					<artifactId>lifecycle-mapping</artifactId>
diff --git a/kura/org.eclipse.kura.web/www b/kura/org.eclipse.kura.web/www
deleted file mode 120000
index 7f628be..0000000
--- a/kura/org.eclipse.kura.web/www
+++ /dev/null
@@ -1 +0,0 @@
-src/main/webapp/
\ No newline at end of file
diff --git a/kura/pom_pom.xml b/kura/pom_pom.xml
deleted file mode 100644
index 91bc3be..0000000
--- a/kura/pom_pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2011, 2014 Eurotech and/or its affiliates
-
-     All rights reserved. This program and the accompanying materials
-     are made available under the terms of the Eclipse Public License v1.0
-     which accompanies this distribution, and is available at
-     http://www.eclipse.org/legal/epl-v10.html
-
-    Contributors:
-      Eurotech
-
--->
-<project>
-
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>org.eclipse.kura</groupId>
-	<artifactId>kura</artifactId>
-	<version>0.2.0-SNAPSHOT</version>
-
-	<packaging>pom</packaging>
-
-	<profiles>
-		<profile>
-			<id>default</id>
-			<activation>
-				<activeByDefault>true</activeByDefault>
-			</activation>
-			<modules>
-				<module>distrib</module>
-			</modules>
-		</profile>
-		<profile>
-			<id>web</id>
-			<activation>
-				<activeByDefault>false</activeByDefault>
-			</activation>
-			<modules>
-				<module>org.eclipse.kura.web</module>
-				<module>distrib</module>
-			</modules>
-		</profile>
-	</profiles>
-
-	<properties>
-		<deployment.package.version>0.2.0</deployment.package.version>
-		<tycho-version>0.18.1</tycho-version>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-		<maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
-		<kura.bundle.versions>0.2.0.${kura.build.version}</kura.bundle.versions>
-	</properties>
-
-	<repositories>
-		<repository>
-			<id>kura_addons</id>
-			<name>Kura Addons Maven Repository</name>
-			<url>https://raw.github.com/eurotech/kura_addons/mvn-repo/</url>
-			<snapshots>
-				<enabled>true</enabled>
-				<updatePolicy>always</updatePolicy>
-			</snapshots>
-		</repository>
-	</repositories>
-
-	<build>
-		<extensions>
-			<extension>
-				<groupId>org.apache.maven.wagon</groupId>
-				<artifactId>wagon-webdav-jackrabbit</artifactId>
-				<version>2.2</version>
-			</extension>
-		</extensions>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>3.3</version>
-              </plugin>
-        </plugins>
-	</build>
-        
-</project>
-
-
diff --git a/kura/target-definition/pom.xml b/kura/target-definition/pom.xml
deleted file mode 100644
index efc4b98..0000000
--- a/kura/target-definition/pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 2011, 2014 Eurotech and/or its affiliates
-
-     All rights reserved. This program and the accompanying materials
-     are made available under the terms of the Eclipse Public License v1.0
-     which accompanies this distribution, and is available at
-     http://www.eclipse.org/legal/epl-v10.html
-
-    Contributors:
-      Eurotech
-
--->
-
-<project
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";
-	xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
-	<modelVersion>4.0.0</modelVersion>
-
-        <parent>
-                <groupId>org.eclipse.kura</groupId>
-                <artifactId>kura</artifactId>
-                <version>0.2.0-SNAPSHOT</version>
-                <relativePath>../manifest_pom.xml</relativePath>
-        </parent>
-
-	<groupId>org.eclipse.kura</groupId>
-	<artifactId>target-definition</artifactId>
-	<packaging>pom</packaging>
-	<name>Kura Target Definition</name>
-
-	<build>
-		<plugins>
-                        <plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-                                <artifactId>maven-antrun-plugin</artifactId>
-                                <executions>
-                                        <execution>
-                                                <id>initialize</id>
-                                                <phase>package</phase>
-                                                <goals>
-                                                        <goal>run</goal>
-                                                </goals>
-                                                <configuration>
-                                                        <tasks>
-                                                                <echo file="${project.basedir}/../distrib/build.properties" append="false">
-                                                                        kura.build.version=${kura.build.version}
-                                                                </echo>
-                                                        </tasks>
-                                                </configuration>
-                                        </execution>
-                                </executions>
-                        </plugin>
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>build-helper-maven-plugin</artifactId>
-				<version>1.3</version>
-				<executions>
-					<execution>
-						<id>attach-artifacts</id>
-						<phase>package</phase>
-						<goals>
-							<goal>attach-artifact</goal>
-						</goals>
-						<configuration>
-							<artifacts>
-								<artifact>
-									<file>kura-equinox_3.8.1.target</file>
-									<type>target</type>
-									<classifier>target</classifier>
-								</artifact>
-							</artifacts>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-	        <groupId>org.apache.maven.plugins</groupId>
-	        <artifactId>maven-site-plugin</artifactId>
-	        <version>3.3</version>
-	      </plugin>
-		</plugins>
-	</build>
-
-</project>
diff --git a/target-platform/com.codeminders.hidapi/about.html b/target-platform/com.codeminders.hidapi/about.html
deleted file mode 100644
index cb8d2a9..0000000
--- a/target-platform/com.codeminders.hidapi/about.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>April 4, 2014</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html";>http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/";>http://www.eclipse.org</a>.</p>
-
-		
-		<h3>Third Party Content</h3>
-		<p>The Content includes items that have been sourced from third parties as set out below. If you 
-		did not receive this Content directly from the Eclipse Foundation, the following is provided 
-		for informational purposes only, and you should look to the Redistributor's license for 
-		terms and conditions of use.</p>
-		<p><em>
-		<strong>com.codeminders.hidapi_1.1.0.jar</strong> <br/><br/>
-		New BSD license
-		</em></p>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/target-platform/com.codeminders.hidapi/about_files/LICENSE-bsd.txt b/target-platform/com.codeminders.hidapi/about_files/LICENSE-bsd.txt
deleted file mode 100755
index 538cdf9..0000000
--- a/target-platform/com.codeminders.hidapi/about_files/LICENSE-bsd.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-Copyright (c) 2010, Alan Ott, Signal 11 Software
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * 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.
-    * Neither the name of Signal 11 Software nor the names of its
-      contributors may be used to endorse or promote products derived from
-      this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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.
diff --git a/target-platform/com.codeminders.hidapi/build.properties b/target-platform/com.codeminders.hidapi/build.properties
deleted file mode 100644
index 5d90481..0000000
--- a/target-platform/com.codeminders.hidapi/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/main/java/,src/main/resources/
-output.. = target/classes/
-bin.includes = META-INF/,\
-               .,\
-               src/main/lib/
diff --git a/target-platform/com.codeminders.hidapi/pom.xml b/target-platform/com.codeminders.hidapi/pom.xml
deleted file mode 100644
index a087d03..0000000
--- a/target-platform/com.codeminders.hidapi/pom.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"; xmlns="http://maven.apache.org/POM/4.0.0";
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
-
-    <parent>
-        <groupId>org.eclipse.kura</groupId>
-        <artifactId>target-platform</artifactId>
-        <version>0.2.0-SNAPSHOT</version>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-    
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>com.codeminders.hidapi</artifactId>
-    <version>1.1</version>
-    <packaging>bundle</packaging>
-
-    <name>Java API for working with Human Interface USB Devices (HID)</name>
-    <description>JNI wrapper around C/C++ HIDAPI library providing simple java API to work with devices such as USB gamepads, joysticks, keyboards etc.</description>
-    <url>http://code.google.com/p/javahidapi</url>
-
-    <licenses>
-        <license>
-            <name>New BSD License</name>
-            <url>http://opensource.org/licenses/BSD-3-Clause</url>
-            <distribution>repo</distribution>    
-        </license>
-    </licenses>
-    <scm>
-         <connection>scm:hg:http://code.google.com/p/javahidapi</connection>
-         <developerConnection>scm:hg:https://code.google.com/p/javahidapi</developerConnection>
-         <url>http://code.google.com/p/javahidapi</url>
-    </scm>
-    <developers>
-        <developer>
-            <id>lord</id>
-            <name>Vadim Zaliva</name>
-            <email>lord@xxxxxxxxxxxxxxx</email>
-        </developer>
-        <developer>
-            <id>Alexander Sova</id>
-            <name>Vadim Zaliva</name>
-            <email>bird@xxxxxxxxxxxxxxx</email>
-        </developer>
-        <developer>
-            <id>dshmyga</id>
-            <name>Denis Shmyga</name>
-            <email>dshmyga@xxxxxxxxxxxxxxx</email>
-        </developer>
-    </developers>
-    
-    <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.codeminders</groupId>
-            <artifactId>hidapi</artifactId>
-            <version>1.1</version>
-        </dependency>
-    </dependencies>
-    
-    <build>
-    <resources>
-        <resource>
-            <directory>src/main/resources</directory>
-        </resource>
-        <resource>
-            <directory>.</directory>
-            <includes>
-                <include>plugin.xml</include>
-            </includes>
-        </resource>
-    </resources>
-    <plugins>
-        <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <version>2.7.2</version>
-            <configuration>
-                <systemPropertyVariables>
-                    <java.library.path>${project.basedir}/src/main/lib</java.library.path>
-                </systemPropertyVariables>
-            </configuration>
-        </plugin>
-        <plugin>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>maven-bundle-plugin</artifactId>
-            <version>2.3.5</version>
-            <extensions>true</extensions>
-            <configuration>
-            <manifestLocation>META-INF</manifestLocation>
-                <instructions>
-                    <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                    <Bundle-Name>${project.name}</Bundle-Name>
-                    <Bundle-Version>${project.version}</Bundle-Version>
-                    <Embed-Dependency>
-                        hidapi;groupId=com.codeminders;artifactId=hidapi;version=1.1;scope=runtime
-                    </Embed-Dependency>
-                    <Include-Resource>
-                        lib=${project.basedir}/src/lib,
-                        ${project.basedir}/about.html,
-                        about_files=${project.basedir}/about_files
-                    </Include-Resource>
-                    <Bundle-NativeCode>
-                        lib/native/linux/x86/libhidapi-jni.so; osname=Linux; processor=x86,
-			lib/native/linux/x86_64/libhidapi-jni.so; osname=Linux; processor=x86-64,
-                        lib/native/linux/armv6_hf/libhidapi-jni.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv7_hf))",
-                        lib/native/linux/armv5_sf/libhidapi-jni.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv7_sf))",
-                        lib/native/linux/armv5_sf/libhidapi-jni.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv6_hf))",
-                        lib/native/linux/armv5_sf/libhidapi-jni.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv6_sf))",
-                        lib/native/linux/armv5_sf/libhidapi-jni.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv5_sf))",
-                        lib/native/mac/libhidapi-jni-32.jnilib; osname=MacOSX; processor=x86,
-                        lib/native/mac/libhidapi-jni-64.jnilib; osname=MacOSX; processor=x86_64
-                    </Bundle-NativeCode>
-                    <Export-Package>
-                        com.codeminders.hidapi.*
-                    </Export-Package>
-                </instructions>
-            </configuration>
-        </plugin>
-            
-        <plugin>
-            <artifactId>maven-dependency-plugin</artifactId>
-            <executions>
-                <execution>
-                    <id>copy-dependencies</id>
-                    <phase>package</phase>
-                    <goals>
-                      <goal>copy-dependencies</goal>
-                    </goals>
-                </execution>
-            </executions>
-        </plugin>
-       
-    </plugins>
-        <pluginManagement>
-            <plugins>
-                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
-                <plugin>
-                    <groupId>org.eclipse.m2e</groupId>
-                    <artifactId>lifecycle-mapping</artifactId>
-                    <version>1.0.0</version>
-                    <configuration>
-                        <lifecycleMappingMetadata>
-                            <pluginExecutions>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>
-                                            org.apache.maven.plugins
-                                        </groupId>
-                                        <artifactId>
-                                            maven-dependency-plugin
-                                        </artifactId>
-                                        <versionRange>
-                                            [2.1,)
-                                        </versionRange>
-                                        <goals>
-                                            <goal>
-                                                copy-dependencies
-                                            </goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore></ignore>
-                                    </action>
-                                </pluginExecution>
-                            </pluginExecutions>
-                        </lifecycleMappingMetadata>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-</project>
diff --git a/target-platform/com.codeminders.hidapi/src/AUTHORS.txt b/target-platform/com.codeminders.hidapi/src/AUTHORS.txt
deleted file mode 100755
index 98c6acb..0000000
--- a/target-platform/com.codeminders.hidapi/src/AUTHORS.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-
-HIDAPI Authors:
-
-Alan Ott <alan@xxxxxxxxxxx>:
-	Original Author and Maintainer
-	Linux, Windows, and Mac implementations
-
-Ludovic Rousseau <rousseau@xxxxxxxxxx>:
-	Formatting for Doxygen documentation
-	Bug fixes
-	Correctness fixes
-
-
-For a comprehensive list of contributions, see the commit list at github:
-	http://github.com/signal11/hidapi/commits/master
-
-
-Java binding Authors:
-
-Vadim Zaliva <lord@xxxxxxxxxxxxx>
-Alex Sova <bird@xxxxxxxxxxxxxxx>
-
-developemnt of Java bindings sponsored Codeminders: www.codeminders.com
diff --git a/target-platform/com.codeminders.hidapi/src/LICENSE-bsd.txt b/target-platform/com.codeminders.hidapi/src/LICENSE-bsd.txt
deleted file mode 100755
index 538cdf9..0000000
--- a/target-platform/com.codeminders.hidapi/src/LICENSE-bsd.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-Copyright (c) 2010, Alan Ott, Signal 11 Software
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * 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.
-    * Neither the name of Signal 11 Software nor the names of its
-      contributors may be used to endorse or promote products derived from
-      this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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.
diff --git a/target-platform/com.codeminders.hidapi/src/LICENSE-gpl3.txt b/target-platform/com.codeminders.hidapi/src/LICENSE-gpl3.txt
deleted file mode 100755
index 94a9ed0..0000000
--- a/target-platform/com.codeminders.hidapi/src/LICENSE-gpl3.txt
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program 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 3 of the License, or
-    (at your option) any later version.
-
-    This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/target-platform/com.codeminders.hidapi/src/LICENSE-orig.txt b/target-platform/com.codeminders.hidapi/src/LICENSE-orig.txt
deleted file mode 100755
index e3f3380..0000000
--- a/target-platform/com.codeminders.hidapi/src/LICENSE-orig.txt
+++ /dev/null
@@ -1,9 +0,0 @@
- HIDAPI - Multi-Platform library for
- communication with HID devices.
-
- Copyright 2009, Alan Ott, Signal 11 Software.
- All Rights Reserved.
- 
- This software may be used by anyone for any reason so
- long as the copyright notice in the source files
- remains intact.
diff --git a/target-platform/com.codeminders.hidapi/src/LICENSE.txt b/target-platform/com.codeminders.hidapi/src/LICENSE.txt
deleted file mode 100755
index 3bbd95e..0000000
--- a/target-platform/com.codeminders.hidapi/src/LICENSE.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-HIDAPI can be used under one of three licenses.
-
-1. The GNU Public License, version 3.0, in LICENSE-gpl3.txt
-2. A BSD-Style License, in LICENSE-bsd.txt.
-3. The more liberal original HIDAPI license. LICENSE-orig.txt
-
-The license chosen is at the discretion of the user of HIDAPI. For example:
-1. An author of GPL software would likely use HIDAPI under the terms of the
-GPL.
-
-2. An author of commercial closed-source software would likely use HIDAPI
-under the terms of the BSD-style license or the original HIDAPI license.
-
diff --git a/target-platform/com.codeminders.hidapi/src/README.pdf b/target-platform/com.codeminders.hidapi/src/README.pdf
deleted file mode 100644
index d3f42e1..0000000
--- a/target-platform/com.codeminders.hidapi/src/README.pdf
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/hidapi/hidapi.h b/target-platform/com.codeminders.hidapi/src/hidapi/hidapi.h
deleted file mode 100755
index da840c8..0000000
--- a/target-platform/com.codeminders.hidapi/src/hidapi/hidapi.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************
- HIDAPI - Multi-Platform library for
- communication with HID devices.
-
- Alan Ott
- Signal 11 Software
-
- 8/22/2009
-
- Copyright 2009, All Rights Reserved.
-
- At the discretion of the user of this library,
- this software may be licensed under the terms of the
- GNU Public License v3, a BSD-Style license, or the
- original HIDAPI license as outlined in the LICENSE.txt,
- LICENSE-gpl3.txt, LICENSE-bsd.txt, and LICENSE-orig.txt
- files located at the root of the source distribution.
- These files may also be found in the public source
- code repository located at:
-        http://github.com/signal11/hidapi .
-********************************************************/
-
-/** @file
- * @defgroup API hidapi API
- */
-
-#ifndef HIDAPI_H__
-#define HIDAPI_H__
-
-#include <wchar.h>
-
-#ifdef _WIN32
-      #define HID_API_EXPORT __declspec(dllexport)
-      #define HID_API_CALL
-#else
-      #define HID_API_EXPORT /**< API export macro */
-      #define HID_API_CALL /**< API call macro */
-#endif
-
-#define HID_API_EXPORT_CALL HID_API_EXPORT HID_API_CALL /**< API export and call macro*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-        struct hid_device_;
-        typedef struct hid_device_ hid_device; /**< opaque hidapi structure */
-
-        /** hidapi info structure */
-        struct hid_device_info {
-            /** Platform-specific device path */
-            char *path;
-            /** Device Vendor ID */
-            unsigned short vendor_id;
-            /** Device Product ID */
-            unsigned short product_id;
-            /** Serial Number */
-            wchar_t *serial_number;
-            /** Device Release Number in binary-coded decimal,
-                also known as Device Version Number */
-            unsigned short release_number;
-            /** Manufacturer String */
-            wchar_t *manufacturer_string;
-            /** Product string */
-            wchar_t *product_string;
-            /** Usage Page for this Device/Interface
-                (Windows/Mac only). */
-            unsigned short usage_page;
-            /** Usage for this Device/Interface
-                (Windows/Mac only).*/
-            unsigned short usage;
-            /** The USB interface which this logical device
-                represents. Valid on both Linux implementations
-                in all cases, and valid on the Windows implementation
-                only if the device contains more than one interface. */
-            int interface_number;
-
-            /** Pointer to the next device */
-            struct hid_device_info *next;
-        };
-
-
-        /** @brief Initialize the HIDAPI library.
-
-            This function initializes the HIDAPI library. Calling it is not
-            strictly necessary, as it will be called automatically by
-            hid_enumerate() and any of the hid_open_*() functions if it is
-            needed.  This function should be called at the beginning of
-            execution however, if there is a chance of HIDAPI handles
-            being opened by different threads simultaneously.
-            
-            @ingroup API
-
-            @returns
-                This function returns 0 on success and -1 on error.
-        */
-        int HID_API_EXPORT HID_API_CALL hid_init(void);
-
-        /** @brief Finalize the HIDAPI library.
-
-            This function frees all of the static data associated with
-            HIDAPI. It should be called at the end of execution to avoid
-            memory leaks.
-
-            @ingroup API
-
-            @returns
-                This function returns 0 on success and -1 on error.
-        */
-        int HID_API_EXPORT HID_API_CALL hid_exit(void);
-
-        /** @brief Enumerate the HID Devices.
-
-            This function returns a linked list of all the HID devices
-            attached to the system which match vendor_id and product_id.
-            If @p vendor_id and @p product_id are both set to 0, then
-            all HID devices will be returned.
-
-            @ingroup API
-            @param vendor_id The Vendor ID (VID) of the types of device
-                to open.
-            @param product_id The Product ID (PID) of the types of
-                device to open.
-
-            @returns
-                This function returns a pointer to a linked list of type
-                struct #hid_device, containing information about the HID devices
-                attached to the system, or NULL in the case of failure. Free
-                this linked list by calling hid_free_enumeration().
-        */
-        struct hid_device_info HID_API_EXPORT * HID_API_CALL hid_enumerate(unsigned short vendor_id, unsigned short product_id);
-
-        /** @brief Free an enumeration Linked List
-
-            This function frees a linked list created by hid_enumerate().
-
-            @ingroup API
-            @param devs Pointer to a list of struct_device returned from
-                      hid_enumerate().
-        */
-        void  HID_API_EXPORT HID_API_CALL hid_free_enumeration(struct hid_device_info *devs);
-
-        /** @brief Open a HID device using a Vendor ID (VID), Product ID
-            (PID) and optionally a serial number.
-
-            If @p serial_number is NULL, the first device with the
-            specified VID and PID is opened.
-
-            @ingroup API
-            @param vendor_id The Vendor ID (VID) of the device to open.
-            @param product_id The Product ID (PID) of the device to open.
-            @param serial_number The Serial Number of the device to open
-                               (Optionally NULL).
-
-            @returns
-                This function returns a pointer to a #hid_device object on
-                success or NULL on failure.
-        */
-		HID_API_EXPORT hid_device * HID_API_CALL hid_open(unsigned short vendor_id, unsigned short product_id, const wchar_t *serial_number);
-
-        /** @brief Open a HID device by its path name.
-
-            The path name be determined by calling hid_enumerate(), or a
-            platform-specific path name can be used (eg: /dev/hidraw0 on
-            Linux).
-
-            @ingroup API
-            @param path The path name of the device to open
-
-            @returns
-                This function returns a pointer to a #hid_device object on
-                success or NULL on failure.
-        */
-        HID_API_EXPORT hid_device * HID_API_CALL hid_open_path(const char *path);
-
-        /** @brief Write an Output report to a HID device.
-
-            The first byte of @p data[] must contain the Report ID. For
-            devices which only support a single report, this must be set
-            to 0x0. The remaining bytes contain the report data. Since
-            the Report ID is mandatory, calls to hid_write() will always
-            contain one more byte than the report contains. For example,
-            if a hid report is 16 bytes long, 17 bytes must be passed to
-            hid_write(), the Report ID (or 0x0, for devices with a
-            single report), followed by the report data (16 bytes). In
-            this example, the length passed in would be 17.
-
-            hid_write() will send the data on the first OUT endpoint, if
-            one exists. If it does not, it will send the data through
-            the Control Endpoint (Endpoint 0).
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-            @param data The data to send, including the report number as
-                the first byte.
-            @param length The length in bytes of the data to send.
-
-            @returns
-                This function returns the actual number of bytes written and
-                -1 on error.
-        */
-        int  HID_API_EXPORT HID_API_CALL hid_write(hid_device *device, const unsigned char *data, size_t length);
-    
-        /** @brief Read an Input report from a HID device with timeout.
-
-            Input reports are returned
-            to the host through the INTERRUPT IN endpoint. The first byte will
-            contain the Report number if the device uses numbered reports.
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-            @param data A buffer to put the read data into.
-            @param length The number of bytes to read. For devices with
-                multiple reports, make sure to read an extra byte for
-                the report number.
-            @param milliseconds timeout in milliseconds or -1 for blocking wait.
-
-            @returns
-                This function returns the actual number of bytes read and
-                -1 on error.
-        */
-        int HID_API_EXPORT HID_API_CALL hid_read_timeout(hid_device *dev, unsigned char *data, size_t length, int milliseconds);
-
-        /** @brief Read an Input report from a HID device.
-
-            Input reports are returned
-            to the host through the INTERRUPT IN endpoint. The first byte will
-            contain the Report number if the device uses numbered reports.
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-            @param data A buffer to put the read data into.
-            @param length The number of bytes to read. For devices with
-                multiple reports, make sure to read an extra byte for
-                the report number.
-
-            @returns
-                This function returns the actual number of bytes read and
-                -1 on error.
-        */
-        int  HID_API_EXPORT HID_API_CALL hid_read(hid_device *device, unsigned char *data, size_t length);
-
-        /** @brief Set the device handle to be non-blocking.
-
-            In non-blocking mode calls to hid_read() will return
-            immediately with a value of 0 if there is no data to be
-            read. In blocking mode, hid_read() will wait (block) until
-            there is data to read before returning.
-
-            Nonblocking can be turned on and off at any time.
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-            @param nonblock enable or not the nonblocking reads
-             - 1 to enable nonblocking
-             - 0 to disable nonblocking.
-
-            @returns
-                This function returns 0 on success and -1 on error.
-        */
-        int  HID_API_EXPORT HID_API_CALL hid_set_nonblocking(hid_device *device, int nonblock);
-
-        /** @brief Send a Feature report to the device.
-
-            Feature reports are sent over the Control endpoint as a
-            Set_Report transfer.  The first byte of @p data[] must
-            contain the Report ID. For devices which only support a
-            single report, this must be set to 0x0. The remaining bytes
-            contain the report data. Since the Report ID is mandatory,
-            calls to hid_send_feature_report() will always contain one
-            more byte than the report contains. For example, if a hid
-            report is 16 bytes long, 17 bytes must be passed to
-            hid_send_feature_report(): the Report ID (or 0x0, for
-            devices which do not use numbered reports), followed by the
-            report data (16 bytes). In this example, the length passed
-            in would be 17.
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-            @param data The data to send, including the report number as
-                the first byte.
-            @param length The length in bytes of the data to send, including
-                the report number.
-
-            @returns
-                This function returns the actual number of bytes written and
-                -1 on error.
-        */
-        int HID_API_EXPORT HID_API_CALL hid_send_feature_report(hid_device *device, const unsigned char *data, size_t length);
-
-        /** @brief Get a feature report from a HID device.
-
-            Make sure to set the first byte of @p data[] to the Report
-            ID of the report to be read.  Make sure to allow space for
-            this extra byte in @p data[].
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-            @param data A buffer to put the read data into, including
-                the Report ID. Set the first byte of @p data[] to the
-                Report ID of the report to be read.
-            @param length The number of bytes to read, including an
-                extra byte for the report ID. The buffer can be longer
-                than the actual report.
-
-            @returns
-                This function returns the number of bytes read and
-                -1 on error.
-        */
-        int HID_API_EXPORT HID_API_CALL hid_get_feature_report(hid_device *device, unsigned char *data, size_t length);
-
-        /** @brief Close a HID device.
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-        */
-        void HID_API_EXPORT HID_API_CALL hid_close(hid_device *device);
-
-        /** @brief Get The Manufacturer String from a HID device.
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-            @param string A wide string buffer to put the data into.
-            @param maxlen The length of the buffer in multiples of wchar_t.
-
-            @returns
-                This function returns 0 on success and -1 on error.
-        */
-        int HID_API_EXPORT_CALL hid_get_manufacturer_string(hid_device *device, wchar_t *string, size_t maxlen);
-
-        /** @brief Get The Product String from a HID device.
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-            @param string A wide string buffer to put the data into.
-            @param maxlen The length of the buffer in multiples of wchar_t.
-
-            @returns
-                This function returns 0 on success and -1 on error.
-        */
-        int HID_API_EXPORT_CALL hid_get_product_string(hid_device *device, wchar_t *string, size_t maxlen);
-
-        /** @brief Get The Serial Number String from a HID device.
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-            @param string A wide string buffer to put the data into.
-            @param maxlen The length of the buffer in multiples of wchar_t.
-
-            @returns
-                This function returns 0 on success and -1 on error.
-        */
-        int HID_API_EXPORT_CALL hid_get_serial_number_string(hid_device *device, wchar_t *string, size_t maxlen);
-
-        /** @brief Get a string from a HID device, based on its string index.
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-            @param string_index The index of the string to get.
-            @param string A wide string buffer to put the data into.
-            @param maxlen The length of the buffer in multiples of wchar_t.
-
-            @returns
-                This function returns 0 on success and -1 on error.
-        */
-        int HID_API_EXPORT_CALL hid_get_indexed_string(hid_device *device, int string_index, wchar_t *string, size_t maxlen);
-
-        /** @brief Get a string describing the last error which occurred.
-
-            @ingroup API
-            @param device A device handle returned from hid_open().
-
-            @returns
-                This function returns a string containing the last error
-                which occurred or NULL if none has occurred.
-        */
-        HID_API_EXPORT const wchar_t* HID_API_CALL hid_error(hid_device *device);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/target-platform/com.codeminders.hidapi/src/jni-impl/HIDDevice.cpp b/target-platform/com.codeminders.hidapi/src/jni-impl/HIDDevice.cpp
deleted file mode 100755
index 47d56f8..0000000
--- a/target-platform/com.codeminders.hidapi/src/jni-impl/HIDDevice.cpp
+++ /dev/null
@@ -1,306 +0,0 @@
-#include <stdio.h>
-#include <assert.h>
-#include <stdlib.h>
-
-#include <jni-stubs/com_codeminders_hidapi_HIDDevice.h>
-#include "hidapi/hidapi.h"
-#include "hid-java.h"
-
-#define MAX_BUFFER_SIZE 2014
-
-static hid_device* getPeer(JNIEnv *env, jobject self)
-{
-    jclass cls = env->FindClass(DEV_CLASS);
-    assert(cls!=NULL);
-    if (cls == NULL) 
-        return NULL;
-    jfieldID fid = env->GetFieldID(cls, "peer", "J");
-    return (hid_device*)(env->GetLongField(self, fid));
-}
-
-static void setPeer(JNIEnv *env, jobject self, hid_device *peer)
-{
-    jclass cls = env->FindClass(DEV_CLASS);
-    assert(cls!=NULL);
-    if (cls == NULL) 
-        return; //TODO: exception will be raised by FindClass
-    jfieldID fid = env->GetFieldID(cls, "peer", "J");
-    jlong peerj = (jlong)peer;
-    env->SetLongField(self, fid, peerj);     
-}
-
-JNIEXPORT void JNICALL Java_com_codeminders_hidapi_HIDDevice_close
-  (JNIEnv *env, jobject self)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer) 
-    {
-        throwIOException(env, peer);
-        return; /* not an error, freed previously */ 
-    }
-    hid_close(peer);
-    setPeer(env, self, NULL);
-}
-
-JNIEXPORT jint JNICALL Java_com_codeminders_hidapi_HIDDevice_write
-  (JNIEnv *env, jobject self, jbyteArray data)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer) 
-    {
-        throwIOException(env, peer);
-        return 0; /* not an error, freed previously */ 
-    }
-
-    jsize bufsize = env->GetArrayLength(data);
-    jbyte *buf = env->GetByteArrayElements(data, NULL);
-    int res = hid_write(peer, (const unsigned char*) buf, bufsize);
-    env->ReleaseByteArrayElements(data, buf, JNI_ABORT);
-    if(res==-1)
-    {
-        throwIOException(env, peer);
-        return 0; /* not an error, freed previously */ 
-    }
-    return res;
-}
-
-JNIEXPORT jint JNICALL Java_com_codeminders_hidapi_HIDDevice_read
-  (JNIEnv *env, jobject self, jbyteArray data)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer) 
-    {
-        throwIOException(env, peer);
-        return 0; /* not an error, freed previously */ 
-    }
-
-    jsize bufsize = env->GetArrayLength(data);
-    jbyte *buf = env->GetByteArrayElements(data, NULL);
-    int read = hid_read(peer, (unsigned char*) buf, bufsize);
-    env->ReleaseByteArrayElements(data, buf, read==-1?JNI_ABORT:0);
-    if(read==-1)
-    {
-        throwIOException(env, peer);
-        return 0; /* not an error, freed previously */ 
-    }
-    return read;
-}
-
-JNIEXPORT jint JNICALL Java_com_codeminders_hidapi_HIDDevice_readTimeout
-(JNIEnv *env, jobject self, jbyteArray data, jint milliseconds )
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer) 
-    {
-        throwIOException(env, peer);
-        return 0; /* not an error, freed previously */ 
-    }
-    
-    jsize bufsize = env->GetArrayLength(data);
-    jbyte *buf = env->GetByteArrayElements(data, NULL);
-    int read = hid_read_timeout(peer, (unsigned char*) buf, bufsize, milliseconds);
-    env->ReleaseByteArrayElements(data, buf, read==-1?JNI_ABORT:0);
-    if(read == 0) /* time out */
-    {
-        return 0;
-    }
-    else if(read == -1)
-    {
-        throwIOException(env, peer);
-        return 0; /* not an error, freed previously */ 
-    }
-    return read;
-}
-
-JNIEXPORT void JNICALL Java_com_codeminders_hidapi_HIDDevice_enableBlocking
-  (JNIEnv *env, jobject self)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer)
-    {
-        throwIOException(env, peer);
-        return; /* not an error, freed previously */ 
-    }
-    int res = hid_set_nonblocking(peer,0);
-    if(res!=0)
-    {
-        throwIOException(env, peer);
-        return; /* not an error, freed previously */ 
-    }
-}
-
-JNIEXPORT void JNICALL Java_com_codeminders_hidapi_HIDDevice_disableBlocking
-  (JNIEnv *env, jobject self)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer)
-    {
-        throwIOException(env, peer);
-        return; /* not an error, freed previously */ 
-    }
-    int res = hid_set_nonblocking(peer, 1);
-    if(res!=0)
-    {
-        throwIOException(env, peer);
-        return; /* not an error, freed previously */ 
-    }
-}
-
-JNIEXPORT jint JNICALL Java_com_codeminders_hidapi_HIDDevice_sendFeatureReport
-  (JNIEnv *env, jobject self, jbyteArray data)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer)
-    {
-        throwIOException(env, peer);
-        return 0; /* not an error, freed previously */ 
-    }
-    jsize bufsize = env->GetArrayLength(data);
-    jbyte *buf = env->GetByteArrayElements(data, NULL);
-    int res = hid_send_feature_report(peer, (const unsigned char*) buf, bufsize);
-    env->ReleaseByteArrayElements(data, buf, JNI_ABORT);
-    if(res==-1)
-    {
-        throwIOException(env, peer);
-        return 0; /* not an error, freed previously */ 
-    }
-    
-    return res;
-}
-
-JNIEXPORT jint JNICALL Java_com_codeminders_hidapi_HIDDevice_getFeatureReport
-  (JNIEnv *env, jobject self, jbyteArray data)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer)
-    {
-        throwIOException(env, peer);
-        return 0; /* not an error, freed previously */ 
-    }
-
-    jsize bufsize = env->GetArrayLength(data);
-    jbyte *buf = env->GetByteArrayElements(data, NULL);
-    int res = hid_get_feature_report(peer, (unsigned char*) buf, bufsize);
-    env->ReleaseByteArrayElements(data, buf, res==-1?JNI_ABORT:0);
-    if(res==-1)
-    {
-        throwIOException(env, peer);
-        return 0; /* not an error, freed previously */ 
-    }
-    
-    return res;
-}
-
-JNIEXPORT jstring JNICALL Java_com_codeminders_hidapi_HIDDevice_getManufacturerString
-  (JNIEnv *env, jobject self)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer)
-    {
-        throwIOException(env, peer);
-        return NULL; /* not an error, freed previously */ 
-    }
-
-    wchar_t data[MAX_BUFFER_SIZE];
-    int res = hid_get_manufacturer_string(peer, data, MAX_BUFFER_SIZE);
-    if(res < 0)
-    {
-        /* We decided not to treat this as an error, but return an empty string in this case
-           throwIOException(env, peer);
-           return NULL;
-        */
-        data[0] = 0;
-    }
-        
-    char *u8 = convertToUTF8(env, data);
-    jstring string = env->NewStringUTF(u8);
-    free(u8);
-    
-    return string;
-}
-
-#include <stdlib.h>
-
-JNIEXPORT jstring JNICALL Java_com_codeminders_hidapi_HIDDevice_getProductString
-  (JNIEnv *env, jobject self)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer)
-    {
-        throwIOException(env, peer);
-        return NULL; /* not an error, freed previously */ 
-    }
-
-    wchar_t data[MAX_BUFFER_SIZE];
-    int res = hid_get_product_string(peer, data, MAX_BUFFER_SIZE);
-    if(res < 0)
-    {
-        /* We decided not to treat this as an error, but return an empty string in this case
-        throwIOException(env, peer);
-        return NULL;
-        */
-        data[0] = 0;
-    }
-       
-    char *u8 = convertToUTF8(env, data);
-    jstring string = env->NewStringUTF(u8);
-    free(u8);
-    
-    return string;
-}
-
-JNIEXPORT jstring JNICALL Java_com_codeminders_hidapi_HIDDevice_getSerialNumberString
-  (JNIEnv *env, jobject self)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer)
-    {
-        throwIOException(env, peer);
-        return NULL; /* not an error, freed previously */ 
-    }
-
-    wchar_t data[MAX_BUFFER_SIZE];
-    int res = hid_get_serial_number_string(peer, data, MAX_BUFFER_SIZE);
-    if(res < 0)
-    {
-        /* We decided not to treat this as an error, but return an empty string in this case
-        throwIOException(env, peer);
-        return NULL;
-        */
-        data[0] = 0;
-    }
-        
-    char *u8 = convertToUTF8(env, data);
-    jstring string = env->NewStringUTF(u8);
-    free(u8);
-    
-    return string;
-}
-    
-JNIEXPORT jstring JNICALL Java_com_codeminders_hidapi_HIDDevice_getIndexedString
-  (JNIEnv *env, jobject self, jint index)
-{
-    hid_device *peer = getPeer(env, self);
-    if(!peer)
-    {
-        throwIOException(env, peer);
-        return NULL; /* not an error, freed previously */ 
-    }
-
-    wchar_t data[MAX_BUFFER_SIZE];
-    int res = hid_get_indexed_string(peer, index, data, MAX_BUFFER_SIZE);
-    if(res < 0)
-    {
-        /* We decided not to treat this as an error, but return an empty string in this case
-        throwIOException(env, peer);
-        return NULL;
-        */
-        data[0] = 0;
-    }
-        
-    char *u8 = convertToUTF8(env, data);
-    jstring string = env->NewStringUTF(u8);
-    free(u8);
-    
-    return string;
-}
diff --git a/target-platform/com.codeminders.hidapi/src/jni-impl/HIDDeviceInfo.cpp b/target-platform/com.codeminders.hidapi/src/jni-impl/HIDDeviceInfo.cpp
deleted file mode 100755
index 8a7b564..0000000
--- a/target-platform/com.codeminders.hidapi/src/jni-impl/HIDDeviceInfo.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#include "jni-stubs/com_codeminders_hidapi_HIDDeviceInfo.h"
-#include "hidapi/hidapi.h"
-#include "hid-java.h"
-
-JNIEXPORT jobject JNICALL Java_com_codeminders_hidapi_HIDDeviceInfo_open
-  (JNIEnv *env, jobject obj)
-{
-    jclass thiscls = env->FindClass(DEVINFO_CLASS);
-    if (!thiscls)
-        return NULL;
-    
-    jfieldID path_field_id = env->GetFieldID(thiscls, "path", "Ljava/lang/String;");
-    jstring jpathstr = (jstring) env->GetObjectField(obj, path_field_id);
-
-    const char *jpathbytes = env->GetStringUTFChars(jpathstr, NULL);
-    if(!jpathbytes)
-        return NULL;
-    
-    hid_device *dev = hid_open_path(jpathbytes);
-    env->ReleaseStringUTFChars(jpathstr, jpathbytes); 
-    if(!dev)
-        return NULL;
-    
-    jlong peer = (jlong)dev;
-    // Construct and return object
-    jclass cls = env->FindClass(DEV_CLASS);
-    if (cls == NULL) {
-        return NULL; /* exception thrown */
-    }
-
-    jmethodID cid = env->GetMethodID(cls,
-                                        "<init>", "(J)V");
-    if (cid == NULL) {
-        return NULL; /* exception thrown */
-    }
-    return env->NewObject(cls, cid, peer);
-}
diff --git a/target-platform/com.codeminders.hidapi/src/jni-impl/HIDManager.cpp b/target-platform/com.codeminders.hidapi/src/jni-impl/HIDManager.cpp
deleted file mode 100755
index 54deeff..0000000
--- a/target-platform/com.codeminders.hidapi/src/jni-impl/HIDManager.cpp
+++ /dev/null
@@ -1,369 +0,0 @@
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include "jni-stubs/com_codeminders_hidapi_HIDManager.h"
-#include "hidapi/hidapi.h"
-#include "hid-java.h"
-
-#ifdef MAC_OS_X
-#include <CoreFoundation/CoreFoundation.h>
-#include <unistd.h>
-#include <pthread.h>
-#endif
-
-#ifdef MAC_OS_X
-#define HID_RUN_LOOP
-#endif
-
-#define JNI_DEBUG 0
-
-
-static JNIEnv *m_env = NULL;
-static JavaVM *m_vm = NULL;
-
-/* JNI reference count */
-static int jni_ref_count = 0;
-
-#ifdef  HID_RUN_LOOP 
-#define SLEEP_TIME    100 * 1000
-static volatile int squit = 0;
-static int hid_mgr_init = 0;
-static int cond = FALSE;
-static pthread_cond_t condition;
-static pthread_t runloop_thread = NULL;
-static CFRunLoopRef run_loop = NULL;
-static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
-
-#endif
-
-static int init_hid_mgr()
-{
-#ifdef HID_RUN_LOOP 
-    if(hid_mgr_init)
-    {
-        pthread_mutex_lock(&mutex);
-        while(cond == FALSE){
-            pthread_cond_wait(&condition, &mutex);
-        }
-        pthread_mutex_unlock(&mutex);
-        return 1;
-    }
-    return 0;
-#else
-    return 1;
-#endif
-}
-
-#ifdef  HID_RUN_LOOP 
-
-static void *hid_runloop_thread(void *param)
-{
-    SInt32 code = 0;
-    
-    if( NULL == m_env )
-        return NULL;
-    
-    int res = m_vm->AttachCurrentThread( (void**) &m_env, NULL );
-    if(res < 0){
-    #if JNI_DEBUG        
-        printf("Attached failed\n");
-    #endif
-        return NULL;
-    }  
-    
-    run_loop = CFRunLoopGetCurrent();
-   
-    pthread_mutex_lock(&mutex);
-    
-    if(hid_init() == -1){
-        pthread_cond_destroy(&condition);
-        hid_mgr_init = 0;
-        return NULL;
-    }
-  
-    cond = true;
-    pthread_cond_signal(&condition);
-    pthread_mutex_unlock(&mutex);
-    while(!squit)
-    {
-        code = CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.1, false);
-        if( code == kCFRunLoopRunFinished ||  code == kCFRunLoopRunStopped )
-        {
-            break;
-        }
-#if JNI_DEBUG        
-        printf("HID run loop thread\n");
-#endif
-        usleep(SLEEP_TIME);
-    }
-    if(m_vm){
-       m_vm->DetachCurrentThread();
-    }
-    return NULL;
-}
-
-static int hid_runloop_startup()
-{  
-    if(hid_mgr_init)
-        return 0;
-    
-    hid_mgr_init = 1;
-    
-    if(squit)
-    { 
-        pthread_cond_destroy(&condition);
-        pthread_join(runloop_thread, NULL);
-        squit = 0;
-    }
-    else 
-    {
-        pthread_attr_t attr;
-        pthread_attr_init( &attr );
-        pthread_attr_setdetachstate( &attr, PTHREAD_CREATE_DETACHED );
-        pthread_cond_init(&condition, NULL);
-        squit = 0;
-        pthread_create(&runloop_thread, &attr, hid_runloop_thread, NULL);
-    }
-    hid_mgr_init = 1;
-    return 0;
-}
-
-static void hid_runloop_exit()
-{
-    squit = 1;
-    pthread_cond_destroy(&condition);
-    pthread_join(runloop_thread, NULL);
-    m_env = NULL;
-    m_vm = NULL;
-}
-
-static int hid_init_loop()
-{
-    return hid_runloop_startup();
-}
-
-static int hid_exit_loop()
-{
-    if(init_hid_mgr()){
-       hid_runloop_exit();
-       hid_mgr_init = 0;
-    }
-    return 0;
-}
-
-#endif
-
-static jobject getPeer(JNIEnv *env, jobject self)
-{
-    jclass cls = env->FindClass(HID_MANAGER_CLASS);
-    assert(cls!=NULL);
-    if (cls == NULL) 
-        return NULL;
-    jfieldID fid = env->GetFieldID(cls, "peer", "J");
-    return (jobject)(env->GetLongField(self, fid));
-}
-
-static void setPeer(JNIEnv *env, jobject self, jobject peer)
-{
-    jclass cls = env->FindClass(HID_MANAGER_CLASS);
-    assert(cls!=NULL);
-    if (cls == NULL) 
-        return; 
-    jfieldID fid = env->GetFieldID(cls, "peer", "J");
-    jlong peerj = (jlong)peer;
-    env->SetLongField(self, fid, peerj);     
-}
-
-static void setIntField(JNIEnv *env,
-                        jclass cls,
-                        jobject obj,
-                        const char *name,
-                        int val)
-{
-    jfieldID fid = env->GetFieldID(cls, name, "I");
-    env->SetIntField(obj, fid, val);
-}
-
-static void setStringField(JNIEnv *env,
-                           jclass cls,
-                           jobject obj,
-                           const char *name,
-                           const char *val)
-{
-    jfieldID fid = env->GetFieldID(cls, name, "Ljava/lang/String;");
-    env->SetObjectField(obj, fid,  val ? env->NewStringUTF(val) : NULL);
-}
-
-static void setUStringField(JNIEnv *env,
-                           jclass cls,
-                           jobject obj,
-                           const char *name,
-                           const wchar_t *val)
-{
-    jfieldID fid = env->GetFieldID(cls, name, "Ljava/lang/String;");
-
-    if(val)
-    {
-        char *u8 = convertToUTF8(env, val);
-        env->SetObjectField(obj, fid, env->NewStringUTF(u8));
-        free(u8);
-    }
-    else
-        env->SetObjectField(obj, fid, NULL);
-}
-
-
-static jobject createHIDDeviceInfo(JNIEnv *env, jclass cls, struct hid_device_info *dev)
-{
-    jmethodID cid = env->GetMethodID(cls, "<init>", "()V");
-    if (cid == NULL) 
-        return NULL; /* exception thrown. */ 
-    
-    if (dev == NULL)
-        return NULL;
-
-    jobject result = env->NewObject(cls, cid);
-
-    setIntField(env, cls, result, "vendor_id", dev->vendor_id);
-    setIntField(env, cls, result, "product_id", dev->product_id);
-    setIntField(env, cls, result, "release_number", dev->release_number);
-    setIntField(env, cls, result, "usage_page", dev->usage_page);
-    setIntField(env, cls, result, "usage", dev->usage);
-    setIntField(env, cls, result, "interface_number", dev->interface_number);
-    
-    setStringField(env, cls, result, "path", dev->path);
-    setUStringField(env, cls, result, "serial_number", dev->serial_number);
-    setUStringField(env, cls, result, "manufacturer_string", dev->manufacturer_string);
-    setUStringField(env, cls, result, "product_string", dev->product_string);
-
-    return result;
-}
-JNIEXPORT jobjectArray JNICALL
-Java_com_codeminders_hidapi_HIDManager_listDevices(JNIEnv *env, jobject obj)
-{
-    struct hid_device_info *devs, *cur_dev;
-    int res = 0;
-    
-#ifdef HID_RUN_LOOP    
-    res = hid_init_loop(); 
-#else
-    res = hid_init();
-#endif    
-    if(res != 0){
-        throwIOException(env, NULL);
-        return NULL;
-    }
-    if(!init_hid_mgr())
-    {
-        throwIOException(env, NULL);
-        return NULL;
-    }
-    
-    devs = hid_enumerate(0x0, 0x0);
-    if(devs == NULL)
-    {
-     /* no exception thrown */
-     //throwIOException(env, NULL);
-#if JNI_DEBUG        
-      printf("No attached devices\n");
-#endif
-       return NULL;
-    }
-    
-    cur_dev = devs;
-    int size=0;
-    while(cur_dev)
-    {
-       size++;
-       cur_dev = cur_dev->next;
-    }
-
-    jclass infoCls = env->FindClass(DEVINFO_CLASS);
-    if (infoCls == NULL) {
-        return NULL; /* exception thrown */
-    }
-    jobjectArray result= env->NewObjectArray(size, infoCls, NULL);
-    cur_dev = devs;
-    int i=0;
-    while(cur_dev)
-    {
-        jobject x = createHIDDeviceInfo(env, infoCls, cur_dev);
-        if(x == NULL)
-           return NULL; /* exception thrown */ 
-
-        env->SetObjectArrayElement(result, i, x);
-        env->DeleteLocalRef(x);
-        i++;
-        cur_dev = cur_dev->next;
-    }
-    hid_free_enumeration(devs);
-    
-    return result;
-}
-
-JNIEXPORT void JNICALL Java_com_codeminders_hidapi_HIDManager_init(JNIEnv *env, jobject obj)
-{
-    int res = 0;
-    jobject jobjRef = 0;
-    if(NULL == m_env)
-    {
-      m_env = env;
-      m_env->GetJavaVM( &m_vm );
-    }
-    
-    if(jni_ref_count == 0)
-    {
-#ifdef HID_RUN_LOOP    
-    res = hid_init_loop(); 
-#else
-    res = hid_init();
-#endif    
-    } 
-    if(res !=0 )
-    {
-       throwIOException(env, NULL);
-       return;
-    }
-    
-    jobjRef = env->NewGlobalRef(obj);
-    setPeer(env, obj, jobjRef);
-#if JNI_DEBUG        
-    printf("JNI - init peer(objRef) =  %p \n", jobjRef);
-#endif
-        
-    jni_ref_count++;
-}
-    
-JNIEXPORT void JNICALL Java_com_codeminders_hidapi_HIDManager_release(JNIEnv *env, jobject obj )
-{
-    int res = 0;
-    jobject jobjRef = (jobject)getPeer(env, obj);
-#if JNI_DEBUG        
-    printf("JNI - release peer(jobjRef) =  %p \n", jobjRef);
-#endif
-    if(jobjRef){
-        env->DeleteGlobalRef(jobjRef);
-        setPeer(env,obj,0);
-        jni_ref_count--;
-    }
-#if JNI_DEBUG        
-    printf("jni_ref_count = %d\n", jni_ref_count);
-#endif
-    if(jni_ref_count>0){ 
-       return;     
-    }
-#ifdef HID_RUN_LOOP    
-    res = hid_exit_loop(); 
-#else
-    res = hid_exit();
-#endif
-    if(res !=0 )
-    {
-       throwIOException(env, NULL);
-    }
-#if JNI_DEBUG        
-    printf("JNI Release library!\n");
-#endif
-}
diff --git a/target-platform/com.codeminders.hidapi/src/jni-impl/hid-java.cpp b/target-platform/com.codeminders.hidapi/src/jni-impl/hid-java.cpp
deleted file mode 100755
index 7c531bf..0000000
--- a/target-platform/com.codeminders.hidapi/src/jni-impl/hid-java.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-#include <stdlib.h>
-#include <assert.h>
-#include <jni.h>
-
-#ifdef _WIN32
-#include <windows.h>
-#else
-#include <iconv.h>
-#endif
-
-#include "hidapi/hidapi.h"
-#include "hid-java.h"
-
-void throwIOException(JNIEnv *env, hid_device *device)
-{
-    jclass exceptionClass;
-    char *message = NULL;
-    
-    exceptionClass = env->FindClass("java/io/IOException");
-    if (exceptionClass == NULL) 
-    {
-        /* Unable to find the exception class, give up. */
-        assert(0);
-        return;
-    }
-    
-    if(device)
-    {
-        const wchar_t *error = hid_error(device);
-        if(error) 
-            message = convertToUTF8(env, error);
-    }
-    
-    env->ThrowNew(exceptionClass, message ? message : ""); 
-    
-    free(message);
-}
-
-char* convertToUTF8(JNIEnv *env, const wchar_t *str)
-{
-#ifdef _WIN32
-    int sz = WideCharToMultiByte(CP_UTF8, 0, str, -1, NULL, 0, NULL, NULL);    
-    char *ret = (char *) malloc(sz + 1); 
-    WideCharToMultiByte(CP_UTF8, 0, str, -1, ret, sz, NULL, NULL);    
-    return ret;
-#else
-    iconv_t cd = iconv_open ("UTF-8", "WCHAR_T");
-    if (cd == (iconv_t) -1)
-    {
-        /* Something went wrong. We could not recover from this  */
-        
-        jclass exceptionClass = env->FindClass("java/lang/Error");
-        if (exceptionClass == NULL) 
-        {
-            /* Unable to find the exception class, give up. */
-            assert(0);
-            return NULL;
-        }
-    
-        env->ThrowNew(exceptionClass, "iconv_open failed"); 
-        return NULL;
-    }
-    size_t len = wcslen(str);
-    size_t ulen = len*sizeof(wchar_t);
-    char *uval = (char *)str;
-    
-    size_t u8l = len*6+3; //BOM+chars
-    char *u8 = (char *) malloc(u8l+1);
-    char *u8p = u8;
-    int nconv = iconv(cd, &uval, &ulen, &u8p, &u8l);
-    if(nconv == (size_t)-1)
-    {
-        iconv_close(cd);
-        free(u8);
-        jclass exceptionClass = env->FindClass("java/lang/Error");
-        if (exceptionClass == NULL) 
-        {
-            /* Unable to find the exception class, give up. */
-            assert(0);
-            return NULL;
-        }
-        env->ThrowNew(exceptionClass, "iconv failed"); 
-        return NULL;
-    }
-    *u8p='\0';
-
-    iconv_close(cd);
-    return u8;
-#endif
-}
diff --git a/target-platform/com.codeminders.hidapi/src/jni-impl/hid-java.h b/target-platform/com.codeminders.hidapi/src/jni-impl/hid-java.h
deleted file mode 100755
index 723db31..0000000
--- a/target-platform/com.codeminders.hidapi/src/jni-impl/hid-java.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __HID_JAVA_H__
-#define __HID_JAVA_H__
-
-#define DEV_CLASS "com/codeminders/hidapi/HIDDevice"
-#define DEVINFO_CLASS "com/codeminders/hidapi/HIDDeviceInfo"
-#define HID_MANAGER_CLASS "com/codeminders/hidapi/HIDManager"
-
-
-#if defined(__APPLE__)
-#define MAC_OS_X
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void throwIOException(JNIEnv *env, hid_device *device);
-
-/* this call allocate buffer dynamically. return value should be
-   released with free() routine */
-char* convertToUTF8(JNIEnv *env, const wchar_t *str); 
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // __HID_JAVA_H__
diff --git a/target-platform/com.codeminders.hidapi/src/jni-stubs/com_codeminders_hidapi_HIDDevice.h b/target-platform/com.codeminders.hidapi/src/jni-stubs/com_codeminders_hidapi_HIDDevice.h
deleted file mode 100644
index 84701d9..0000000
--- a/target-platform/com.codeminders.hidapi/src/jni-stubs/com_codeminders_hidapi_HIDDevice.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_codeminders_hidapi_HIDDevice */
-
-#ifndef _Included_com_codeminders_hidapi_HIDDevice
-#define _Included_com_codeminders_hidapi_HIDDevice
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    close
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_codeminders_hidapi_HIDDevice_close
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    write
- * Signature: ([B)I
- */
-JNIEXPORT jint JNICALL Java_com_codeminders_hidapi_HIDDevice_write
-  (JNIEnv *, jobject, jbyteArray);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    read
- * Signature: ([B)I
- */
-JNIEXPORT jint JNICALL Java_com_codeminders_hidapi_HIDDevice_read
-  (JNIEnv *, jobject, jbyteArray);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    readTimeout
- * Signature: ([BI)I
- */
-JNIEXPORT jint JNICALL Java_com_codeminders_hidapi_HIDDevice_readTimeout
-  (JNIEnv *, jobject, jbyteArray, jint);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    enableBlocking
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_codeminders_hidapi_HIDDevice_enableBlocking
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    disableBlocking
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_codeminders_hidapi_HIDDevice_disableBlocking
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    sendFeatureReport
- * Signature: ([B)I
- */
-JNIEXPORT jint JNICALL Java_com_codeminders_hidapi_HIDDevice_sendFeatureReport
-  (JNIEnv *, jobject, jbyteArray);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    getFeatureReport
- * Signature: ([B)I
- */
-JNIEXPORT jint JNICALL Java_com_codeminders_hidapi_HIDDevice_getFeatureReport
-  (JNIEnv *, jobject, jbyteArray);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    getManufacturerString
- * Signature: ()Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_com_codeminders_hidapi_HIDDevice_getManufacturerString
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    getProductString
- * Signature: ()Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_com_codeminders_hidapi_HIDDevice_getProductString
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    getSerialNumberString
- * Signature: ()Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_com_codeminders_hidapi_HIDDevice_getSerialNumberString
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_codeminders_hidapi_HIDDevice
- * Method:    getIndexedString
- * Signature: (I)Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_com_codeminders_hidapi_HIDDevice_getIndexedString
-  (JNIEnv *, jobject, jint);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/com.codeminders.hidapi/src/jni-stubs/com_codeminders_hidapi_HIDDeviceInfo.h b/target-platform/com.codeminders.hidapi/src/jni-stubs/com_codeminders_hidapi_HIDDeviceInfo.h
deleted file mode 100644
index 9c36de3..0000000
--- a/target-platform/com.codeminders.hidapi/src/jni-stubs/com_codeminders_hidapi_HIDDeviceInfo.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_codeminders_hidapi_HIDDeviceInfo */
-
-#ifndef _Included_com_codeminders_hidapi_HIDDeviceInfo
-#define _Included_com_codeminders_hidapi_HIDDeviceInfo
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_codeminders_hidapi_HIDDeviceInfo
- * Method:    open
- * Signature: ()Lcom/codeminders/hidapi/HIDDevice;
- */
-JNIEXPORT jobject JNICALL Java_com_codeminders_hidapi_HIDDeviceInfo_open
-  (JNIEnv *, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/com.codeminders.hidapi/src/jni-stubs/com_codeminders_hidapi_HIDManager.h b/target-platform/com.codeminders.hidapi/src/jni-stubs/com_codeminders_hidapi_HIDManager.h
deleted file mode 100644
index 72fb800..0000000
--- a/target-platform/com.codeminders.hidapi/src/jni-stubs/com_codeminders_hidapi_HIDManager.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_codeminders_hidapi_HIDManager */
-
-#ifndef _Included_com_codeminders_hidapi_HIDManager
-#define _Included_com_codeminders_hidapi_HIDManager
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* Inaccessible static: instance */
-/*
- * Class:     com_codeminders_hidapi_HIDManager
- * Method:    listDevices
- * Signature: ()[Lcom/codeminders/hidapi/HIDDeviceInfo;
- */
-JNIEXPORT jobjectArray JNICALL Java_com_codeminders_hidapi_HIDManager_listDevices
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_codeminders_hidapi_HIDManager
- * Method:    init
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_codeminders_hidapi_HIDManager_init
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_codeminders_hidapi_HIDManager
- * Method:    release
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_codeminders_hidapi_HIDManager_release
-  (JNIEnv *, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/com.codeminders.hidapi/src/lib/maven-ant-tasks-2.1.3.jar b/target-platform/com.codeminders.hidapi/src/lib/maven-ant-tasks-2.1.3.jar
deleted file mode 100755
index bec446f..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/maven-ant-tasks-2.1.3.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/linux/armv5_sf/libhidapi-jni.so b/target-platform/com.codeminders.hidapi/src/lib/native/linux/armv5_sf/libhidapi-jni.so
deleted file mode 100755
index 8b9e3b9..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/linux/armv5_sf/libhidapi-jni.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/linux/armv6_hf/libhidapi-jni.so b/target-platform/com.codeminders.hidapi/src/lib/native/linux/armv6_hf/libhidapi-jni.so
deleted file mode 100755
index 57b5caa..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/linux/armv6_hf/libhidapi-jni.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/beaglebone/090538fcb81c38c1fa445cfb00755a94bc0131f2/libhidapi-jni.so b/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/beaglebone/090538fcb81c38c1fa445cfb00755a94bc0131f2/libhidapi-jni.so
deleted file mode 100755
index 9e18282..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/beaglebone/090538fcb81c38c1fa445cfb00755a94bc0131f2/libhidapi-jni.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/linux32/libhidapi-jni-32.so b/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/linux32/libhidapi-jni-32.so
deleted file mode 100755
index 9567d74..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/linux32/libhidapi-jni-32.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/linux64/libhidapi-jni-64.so b/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/linux64/libhidapi-jni-64.so
deleted file mode 100755
index 14f5a20..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/linux64/libhidapi-jni-64.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/mini-gateway/yocto_1.2.1/libhidapi-jni.so b/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/mini-gateway/yocto_1.2.1/libhidapi-jni.so
deleted file mode 100755
index 0224bc7..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/mini-gateway/yocto_1.2.1/libhidapi-jni.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/raspberry-pi/libhidapi-jni.so b/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/raspberry-pi/libhidapi-jni.so
deleted file mode 100755
index 57b5caa..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/linux/old/raspberry-pi/libhidapi-jni.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/linux/x86/libhidapi-jni.so b/target-platform/com.codeminders.hidapi/src/lib/native/linux/x86/libhidapi-jni.so
deleted file mode 100755
index b3790b3..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/linux/x86/libhidapi-jni.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/linux/x86_64/libhidapi-jni.so b/target-platform/com.codeminders.hidapi/src/lib/native/linux/x86_64/libhidapi-jni.so
deleted file mode 100755
index c612399..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/linux/x86_64/libhidapi-jni.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/mac/libhidapi-jni-32.jnilib b/target-platform/com.codeminders.hidapi/src/lib/native/mac/libhidapi-jni-32.jnilib
deleted file mode 100755
index b0567a5..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/mac/libhidapi-jni-32.jnilib
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/lib/native/mac/libhidapi-jni-64.jnilib b/target-platform/com.codeminders.hidapi/src/lib/native/mac/libhidapi-jni-64.jnilib
deleted file mode 100755
index 6fbd5fb..0000000
--- a/target-platform/com.codeminders.hidapi/src/lib/native/mac/libhidapi-jni-64.jnilib
+++ /dev/null
Binary files differ
diff --git a/target-platform/com.codeminders.hidapi/src/linux/Makefile b/target-platform/com.codeminders.hidapi/src/linux/Makefile
deleted file mode 100755
index 64d2c2e..0000000
--- a/target-platform/com.codeminders.hidapi/src/linux/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-###########################################
-# Simple Makefile for HIDAPI test program
-#
-# Alan Ott
-# Signal 11 Software
-# 2010-06-01
-###########################################
-
-
-JNIOBJS=HIDManager.o HIDDeviceInfo.o HIDDevice.o hid-java.o
-JAVA5HEADERS=-I/opt/jdk1.5.0/include/ -I/opt/jdk1.5.0/include/linux
-JAVA6HEADERS=-I/usr/lib/jvm/java-6-openjdk/include/ -I/usr/lib/jvm/java-6-openjdk/include/linux
-JAVA7HEADERS=-I/usr/lib/jvm/jdk1.7.0/include/ -I/usr/lib/jvm/jdk1.7.0/include/linux
-JNIINCLUDES=-I.. -I../jni-impl $(JAVA5HEADERS) $(JAVA6HEADERS) $(JAVA7HEADERS)
-JNILIBS=
-JNISHAREDLIB=libhidapi-jni.so
-JNISHAREDLIBVER=1.0
-
-CC=gcc
-CXX=g++
-COBJS=hid-libusb.o
-CPPOBJS=../hidtest/hidtest.o
-#OBJS=$(COBJS) $(CPPOBJS) $(JNIOBJS)
-OBJS=$(COBJS) $(JNIOBJS)
-CFLAGS+=-fPIC -I../hidapi -g -c `pkg-config libusb-1.0 --cflags` $(JNIINCLUDES)
-LIBS=`pkg-config libusb-1.0 libudev --libs` -ludev -lpthread $(JNILIBS)
-
-all: $(JNISHAREDLIB)
-#all: hidtest $(JNISHAREDLIB)
-
-$(JNISHAREDLIB): $(OBJS)
-	$(CXX) -shared $(COBJS) $(JNIOBJS) $(LIBS) -o $(JNISHAREDLIB)
-
-#hidtest: $(OBJS)
-#	g++ -Wall -g $^ $(LIBS) -o hidtest
-
-%.o: ../jni-impl/%.cpp
-	$(CXX) $(CFLAGS) $< -o $@
-
-$(COBJS): %.o: %.c
-	$(CC) $(CFLAGS) $< -o $@
-
-$(CPPOBJS): %.o: %.cpp
-	$(CXX) $(CFLAGS) $< -o $@
-
-clean:
-	rm -f $(OBJS) hidtest $(JNISHAREDLIB)
-
-.PHONY: clean
diff --git a/target-platform/com.codeminders.hidapi/src/linux/Makefile.poky.gateway b/target-platform/com.codeminders.hidapi/src/linux/Makefile.poky.gateway
deleted file mode 100755
index 7f8b70a..0000000
--- a/target-platform/com.codeminders.hidapi/src/linux/Makefile.poky.gateway
+++ /dev/null
@@ -1,49 +0,0 @@
-###########################################
-# Simple Makefile for HIDAPI test program
-#
-# Alan Ott
-# Signal 11 Software
-# 2010-06-01
-###########################################
-
-
-JNIOBJS=HIDManager.o HIDDeviceInfo.o HIDDevice.o hid-java.o
-JAVA5HEADERS=-I/opt/jdk1.5.0/include/ -I/opt/jdk1.5.0/include/linux
-JAVA6HEADERS=-I/usr/lib/jvm/java-6-openjdk/include/ -I/usr/lib/jvm/java-6-openjdk/include/linux
-JAVA7HEADERS=-I/usr/lib/jvm/jdk1.7.0/include/ -I/usr/lib/jvm/jdk1.7.0/include/linux
-JNIINCLUDES=-I.. -I../jni-impl -I$(JAVA_HOME)/include $(JAVA5HEADERS) $(JAVA6HEADERS) $(JAVA7HEADERS)
-JNILIBS=
-JNISHAREDLIB=libhidapi-jni.so
-JNISHAREDLIBVER=1.0
-
-#CC=gcc
-#CXX=g++
-COBJS=hid-libusb.o
-CPPOBJS=../hidtest/hidtest.o
-#OBJS=$(COBJS) $(CPPOBJS) $(JNIOBJS)
-OBJS=$(COBJS) $(JNIOBJS)
-CFLAGS+=-fPIC -I../hidapi -g -c `pkg-config libusb-1.0 --cflags` $(JNIINCLUDES)
-LIBS=`pkg-config libusb-1.0 libudev --libs` -ludev -lpthread $(JNILIBS)
-
-all: $(JNISHAREDLIB)
-#all: hidtest $(JNISHAREDLIB)
-
-$(JNISHAREDLIB): $(OBJS)
-	$(CXX) -shared $(COBJS) $(JNIOBJS) $(LIBS) -o $(JNISHAREDLIB)
-
-#hidtest: $(OBJS)
-#	g++ -Wall -g $^ $(LIBS) -o hidtest
-
-%.o: ../jni-impl/%.cpp
-	$(CXX) $(CFLAGS) $< -o $@
-
-$(COBJS): %.o: %.c
-	$(CC) $(CFLAGS) $< -o $@
-
-$(CPPOBJS): %.o: %.cpp
-	$(CXX) $(CFLAGS) $< -o $@
-
-clean:
-	rm -f $(OBJS) hidtest $(JNISHAREDLIB)
-
-.PHONY: clean
diff --git a/target-platform/com.codeminders.hidapi/src/linux/Makefile.poky.gateway_sf b/target-platform/com.codeminders.hidapi/src/linux/Makefile.poky.gateway_sf
deleted file mode 100755
index 646a582..0000000
--- a/target-platform/com.codeminders.hidapi/src/linux/Makefile.poky.gateway_sf
+++ /dev/null
@@ -1,49 +0,0 @@
-###########################################
-# Simple Makefile for HIDAPI test program
-#
-# Alan Ott
-# Signal 11 Software
-# 2010-06-01
-###########################################
-
-
-JNIOBJS=HIDManager.o HIDDeviceInfo.o HIDDevice.o hid-java.o
-JAVA5HEADERS=-I/opt/jdk1.5.0/include/ -I/opt/jdk1.5.0/include/linux
-JAVA6HEADERS=-I/usr/lib/jvm/java-6-openjdk/include/ -I/usr/lib/jvm/java-6-openjdk/include/linux
-JAVA7HEADERS=-I/usr/lib/jvm/jdk1.7.0/include/ -I/usr/lib/jvm/jdk1.7.0/include/linux
-JNIINCLUDES=-I.. -I../jni-impl -I$(JAVA_HOME)/include $(JAVA5HEADERS) $(JAVA6HEADERS) $(JAVA7HEADERS)
-JNILIBS=
-JNISHAREDLIB=libhidapi-jni.so
-JNISHAREDLIBVER=1.0
-
-#CC=gcc
-#CXX=g++
-COBJS=hid-libusb.o
-CPPOBJS=../hidtest/hidtest.o
-#OBJS=$(COBJS) $(CPPOBJS) $(JNIOBJS)
-OBJS=$(COBJS) $(JNIOBJS)
-CFLAGS+=-msoft-float -fPIC -I../hidapi -g -c `pkg-config libusb-1.0 --cflags` $(JNIINCLUDES)
-LIBS=`pkg-config libusb-1.0 libudev --libs` -ludev -lpthread $(JNILIBS)
-
-all: $(JNISHAREDLIB)
-#all: hidtest $(JNISHAREDLIB)
-
-$(JNISHAREDLIB): $(OBJS)
-	$(CXX) -shared $(COBJS) $(JNIOBJS) $(LIBS) -o $(JNISHAREDLIB)
-
-#hidtest: $(OBJS)
-#	g++ -Wall -g $^ $(LIBS) -o hidtest
-
-%.o: ../jni-impl/%.cpp
-	$(CXX) $(CFLAGS) $< -o $@
-
-$(COBJS): %.o: %.c
-	$(CC) $(CFLAGS) $< -o $@
-
-$(CPPOBJS): %.o: %.cpp
-	$(CXX) $(CFLAGS) $< -o $@
-
-clean:
-	rm -f $(OBJS) hidtest $(JNISHAREDLIB)
-
-.PHONY: clean
diff --git a/target-platform/com.codeminders.hidapi/src/linux/README.txt b/target-platform/com.codeminders.hidapi/src/linux/README.txt
deleted file mode 100755
index f11d19d..0000000
--- a/target-platform/com.codeminders.hidapi/src/linux/README.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-
-There are two implementations of HIDAPI for Linux. One (hid.c) uses the
-Linux hidraw driver, and the other (hid-libusb.c) uses libusb. Which one you
-use depends on your application. Complete functionality of the hidraw
-version depends on patches to the Linux kernel which are not currently in
-the mainline. These patches have to do with sending and receiving feature
-reports. The libusb implementation uses libusb to talk directly to the
-device, bypassing any Linux HID driver. The disadvantage of the libusb
-version is that it will only work with USB devices, while the hidraw
-implementation will work with Bluetooth devices as well.
-
-To use HIDAPI, simply drop either hid.c or hid-libusb.c into your
-application and build using the build parameters in the Makefile.
-
-By default, on Linux, the Makefile in this directory is configured to use
-the libusb implementation. To switch to the hidraw implementation, simply
-change hid-libusb.c to hid.c in the Makefile.
-
-
-Libusb Implementation notes
-----------------------------
-For the libusb implementation, libusb-1.0 must be installed. Libusb 1.0 is
-different than the legacy libusb 0.1 which is installed on many systems.  To
-install libusb-1.0 on Ubuntu and other Debian-based systems, run:
-	sudo apt-get install libusb-1.0-0-dev
-
-
-Hidraw Implementation notes
-----------------------------
-For the hidraw implementation, libudev headers and libraries are required to
-build hidapi programs.  To install libudev libraries on Ubuntu,
-and other Debian-based systems, run:
-	sudo apt-get install libudev-dev
-
-On Redhat-based systems, run the following as root:
-	yum install libudev-devel
-
-Unfortunately, the hidraw driver, which the linux version of hidapi is based
-on, contains bugs in kernel versions < 2.6.36, which the client application
-should be aware of.
-
-Bugs (hidraw implementation only):
------------------------------------
-On Kernel versions < 2.6.34, if your device uses numbered reports, an extra
-byte will be returned at the beginning of all reports returned from read()
-for hidraw devices. This is worked around in the libary. No action should be
-necessary in the client library.
-
-On Kernel versions < 2.6.35, reports will only be sent using a Set_Report
-transfer on the CONTROL endpoint. No data will ever be sent on an Interrupt
-Out endpoint if one exists. This is fixed in 2.6.35. In 2.6.35, OUTPUT
-reports will be sent to the device on the first INTERRUPT OUT endpoint if it
-exists; If it does not exist, OUTPUT reports will be sent on the CONTROL
-endpoint.
-
-On Kernel versions < 2.6.36, add an extra byte containing the report number
-to sent reports if numbered reports are used, and the device does not
-contain an INTERRPUT OUT endpoint for OUTPUT transfers.  For example, if
-your device uses numbered reports and wants to send {0x2 0xff 0xff 0xff} to
-the device (0x2 is the report number), you must send {0x2 0x2 0xff 0xff
-0xff}. If your device has the optional Interrupt OUT endpoint, this does not
-apply (but really on 2.6.35 only, because 2.6.34 won't use the interrupt
-out endpoint).
diff --git a/target-platform/com.codeminders.hidapi/src/linux/hid-libusb.c b/target-platform/com.codeminders.hidapi/src/linux/hid-libusb.c
deleted file mode 100644
index a28af96..0000000
--- a/target-platform/com.codeminders.hidapi/src/linux/hid-libusb.c
+++ /dev/null
@@ -1,1424 +0,0 @@
-/*******************************************************
- HIDAPI - Multi-Platform library for
- communication with HID devices.
-
- Alan Ott
- Signal 11 Software
-
- 8/22/2009
- Linux Version - 6/2/2010
- Libusb Version - 8/13/2010
- FreeBSD Version - 11/1/2011
-
- Copyright 2009, All Rights Reserved.
- 
- At the discretion of the user of this library,
- this software may be licensed under the terms of the
- GNU Public License v3, a BSD-Style license, or the
- original HIDAPI license as outlined in the LICENSE.txt,
- LICENSE-gpl3.txt, LICENSE-bsd.txt, and LICENSE-orig.txt
- files located at the root of the source distribution.
- These files may also be found in the public source
- code repository located at:
-        http://github.com/signal11/hidapi .
-********************************************************/
-
-#define _GNU_SOURCE // needed for wcsdup() before glibc 2.10
-
-/* C */
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <locale.h>
-#include <errno.h>
-
-/* Unix */
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <sys/utsname.h>
-#include <fcntl.h>
-#include <pthread.h>
-#include <wchar.h>
-
-/* GNU / LibUSB */
-#include "libusb.h"
-#include "iconv.h"
-
-#include "hidapi.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef DEBUG_PRINTF
-#define LOG(...) fprintf(stderr, __VA_ARGS__)
-#else
-#define LOG(...) do {} while (0)
-#endif
-
-#ifndef __FreeBSD__
-#define DETACH_KERNEL_DRIVER
-#endif
-
-/* Uncomment to enable the retrieval of Usage and Usage Page in
-hid_enumerate(). Warning, on platforms different from FreeBSD
-this is very invasive as it requires the detach
-and re-attach of the kernel driver. See comments inside hid_enumerate().
-libusb HIDAPI programs are encouraged to use the interface number
-instead to differentiate between interfaces on a composite HID device. */
-/*#define INVASIVE_GET_USAGE*/
-
-/* Linked List of input reports received from the device. */
-struct input_report {
-	uint8_t *data;
-	size_t len;
-	struct input_report *next;
-};
-
-
-struct hid_device_ {
-	/* Handle to the actual device. */
-	libusb_device_handle *device_handle;
-	
-	/* Endpoint information */
-	int input_endpoint;
-	int output_endpoint;
-	int input_ep_max_packet_size;
-
-	/* The interface number of the HID */	
-	int interface;
-	
-	/* Indexes of Strings */
-	int manufacturer_index;
-	int product_index;
-	int serial_index;
-	
-	/* Whether blocking reads are used */
-	int blocking; /* boolean */
-	
-	/* Read thread objects */
-	pthread_t thread;
-	pthread_mutex_t mutex; /* Protects input_reports */
-	pthread_cond_t condition;
-	pthread_barrier_t barrier; /* Ensures correct startup sequence */
-	int shutdown_thread;
-	struct libusb_transfer *transfer;
-
-	/* List of received input reports. */
-	struct input_report *input_reports;
-};
-
-static libusb_context *usb_context = NULL;
-
-uint16_t get_usb_code_for_current_locale(void);
-static int return_data(hid_device *dev, unsigned char *data, size_t length);
-
-static hid_device *new_hid_device(void)
-{
-	hid_device *dev = calloc(1, sizeof(hid_device));
-	dev->blocking = 1;
-	
-	pthread_mutex_init(&dev->mutex, NULL);
-	pthread_cond_init(&dev->condition, NULL);
-	pthread_barrier_init(&dev->barrier, NULL, 2);
-	
-	return dev;
-}
-
-static void free_hid_device(hid_device *dev)
-{
-	/* Clean up the thread objects */
-	pthread_barrier_destroy(&dev->barrier);
-	pthread_cond_destroy(&dev->condition);
-	pthread_mutex_destroy(&dev->mutex);
-
-	/* Free the device itself */
-	free(dev);
-}
-
-#if 0
-//TODO: Implement this funciton on hidapi/libusb..
-static void register_error(hid_device *device, const char *op)
-{
-
-}
-#endif
-
-#ifdef INVASIVE_GET_USAGE
-/* Get bytes from a HID Report Descriptor.
-   Only call with a num_bytes of 0, 1, 2, or 4. */
-static uint32_t get_bytes(uint8_t *rpt, size_t len, size_t num_bytes, size_t cur)
-{
-	/* Return if there aren't enough bytes. */
-	if (cur + num_bytes >= len)
-		return 0;
-
-	if (num_bytes == 0)
-		return 0;
-	else if (num_bytes == 1) {
-		return rpt[cur+1];
-	}
-	else if (num_bytes == 2) {
-		return (rpt[cur+2] * 256 + rpt[cur+1]);
-	}
-	else if (num_bytes == 4) {
-		return (rpt[cur+4] * 0x01000000 +
-		        rpt[cur+3] * 0x00010000 +
-		        rpt[cur+2] * 0x00000100 +
-		        rpt[cur+1] * 0x00000001);
-	}
-	else
-		return 0;
-}
-
-/* Retrieves the device's Usage Page and Usage from the report
-   descriptor. The algorithm is simple, as it just returns the first
-   Usage and Usage Page that it finds in the descriptor.
-   The return value is 0 on success and -1 on failure. */
-static int get_usage(uint8_t *report_descriptor, size_t size,
-                     unsigned short *usage_page, unsigned short *usage)
-{
-	int i = 0;
-	int size_code;
-	int data_len, key_size;
-	int usage_found = 0, usage_page_found = 0;
-	
-	while (i < size) {
-		int key = report_descriptor[i];
-		int key_cmd = key & 0xfc;
-
-		//printf("key: %02hhx\n", key);
-		
-		if ((key & 0xf0) == 0xf0) {
-			/* This is a Long Item. The next byte contains the
-			   length of the data section (value) for this key.
-			   See the HID specification, version 1.11, section
-			   6.2.2.3, titled "Long Items." */
-			if (i+1 < size)
-				data_len = report_descriptor[i+1];
-			else
-				data_len = 0; /* malformed report */
-			key_size = 3;
-		}
-		else {
-			/* This is a Short Item. The bottom two bits of the
-			   key contain the size code for the data section
-			   (value) for this key.  Refer to the HID
-			   specification, version 1.11, section 6.2.2.2,
-			   titled "Short Items." */
-			size_code = key & 0x3;
-			switch (size_code) {
-			case 0:
-			case 1:
-			case 2:
-				data_len = size_code;
-				break;
-			case 3:
-				data_len = 4;
-				break;
-			default:
-				/* Can't ever happen since size_code is & 0x3 */
-				data_len = 0;
-				break;
-			};
-			key_size = 1;
-		}
-		
-		if (key_cmd == 0x4) {
-			*usage_page  = get_bytes(report_descriptor, size, data_len, i);
-			usage_page_found = 1;
-			//printf("Usage Page: %x\n", (uint32_t)*usage_page);
-		}
-		if (key_cmd == 0x8) {
-			*usage = get_bytes(report_descriptor, size, data_len, i);
-			usage_found = 1;
-			//printf("Usage: %x\n", (uint32_t)*usage);
-		}
-
-		if (usage_page_found && usage_found)
-			return 0; /* success */
-		
-		/* Skip over this key and it's associated data */
-		i += data_len + key_size;
-	}
-	
-	return -1; /* failure */
-}
-#endif // INVASIVE_GET_USAGE
-
-#ifdef __FreeBSD__
-/* The FreeBSD version of libusb doesn't have this funciton. In mainline
-   libusb, it's inlined in libusb.h. This function will bear a striking
-   resemblence to that one, because there's about one way to code it.
-
-   Note that the data parameter is Unicode in UTF-16LE encoding.
-   Return value is the number of bytes in data, or LIBUSB_ERROR_*.
- */
-static inline int libusb_get_string_descriptor(libusb_device_handle *dev,
-	uint8_t descriptor_index, uint16_t lang_id,
-	unsigned char *data, int length)
-{
-	return libusb_control_transfer(dev,
-		LIBUSB_ENDPOINT_IN | 0x0, /* Endpoint 0 IN */
-		LIBUSB_REQUEST_GET_DESCRIPTOR,
-		(LIBUSB_DT_STRING << 8) | descriptor_index,
-		lang_id, data, (uint16_t) length, 1000);
-}
-
-#endif
-
-
-/* Get the first language the device says it reports. This comes from
-   USB string #0. */
-static uint16_t get_first_language(libusb_device_handle *dev)
-{
-	uint16_t buf[32];
-	int len;
-	
-	/* Get the string from libusb. */
-	len = libusb_get_string_descriptor(dev,
-			0x0, /* String ID */
-			0x0, /* Language */
-			(unsigned char*)buf,
-			sizeof(buf));
-	if (len < 4)
-		return 0x0;
-	
-	return buf[1]; // First two bytes are len and descriptor type.
-}
-
-static int is_language_supported(libusb_device_handle *dev, uint16_t lang)
-{
-	uint16_t buf[32];
-	int len;
-	int i;
-	
-	/* Get the string from libusb. */
-	len = libusb_get_string_descriptor(dev,
-			0x0, /* String ID */
-			0x0, /* Language */
-			(unsigned char*)buf,
-			sizeof(buf));
-	if (len < 4)
-		return 0x0;
-	
-	
-	len /= 2; /* language IDs are two-bytes each. */
-	/* Start at index 1 because there are two bytes of protocol data. */
-	for (i = 1; i < len; i++) {
-		if (buf[i] == lang)
-			return 1;
-	}
-
-	return 0;
-}
-
-
-/* This function returns a newly allocated wide string containing the USB
-   device string numbered by the index. The returned string must be freed
-   by using free(). */
-static wchar_t *get_usb_string(libusb_device_handle *dev, uint8_t idx)
-{
-	char buf[512];
-	int len;
-	wchar_t *str = NULL;
-	wchar_t wbuf[256];
-
-	/* iconv variables */
-	iconv_t ic;
-	size_t inbytes;
-	size_t outbytes;
-	size_t res;
-#ifdef __FreeBSD__
-	const char *inptr;
-#else
-	char *inptr;
-#endif
-	char *outptr;
-
-	/* Determine which language to use. */
-	uint16_t lang;
-	lang = get_usb_code_for_current_locale();
-	if (!is_language_supported(dev, lang))
-		lang = get_first_language(dev);
-		
-	/* Get the string from libusb. */
-	len = libusb_get_string_descriptor(dev,
-			idx,
-			lang,
-			(unsigned char*)buf,
-			sizeof(buf));
-	if (len < 0)
-		return NULL;
-	
-	/* buf does not need to be explicitly NULL-terminated because
-	   it is only passed into iconv() which does not need it. */
-	
-	/* Initialize iconv. */
-	ic = iconv_open("WCHAR_T", "UTF-16LE");
-	if (ic == (iconv_t)-1) {
-		LOG("iconv_open() failed\n");
-		return NULL;
-	}
-	
-	/* Convert to native wchar_t (UTF-32 on glibc/BSD systems).
-	   Skip the first character (2-bytes). */
-	inptr = buf+2;
-	inbytes = len-2;
-	outptr = (char*) wbuf;
-	outbytes = sizeof(wbuf);
-	res = iconv(ic, &inptr, &inbytes, &outptr, &outbytes);
-	if (res == (size_t)-1) {
-		LOG("iconv() failed\n");
-		goto err;
-	}
-
-	/* Write the terminating NULL. */
-	wbuf[sizeof(wbuf)/sizeof(wbuf[0])-1] = 0x00000000;
-	if (outbytes >= sizeof(wbuf[0]))
-		*((wchar_t*)outptr) = 0x00000000;
-	
-	/* Allocate and copy the string. */
-	str = wcsdup(wbuf);
-
-err:
-	iconv_close(ic);
-	
-	return str;
-}
-
-static char *make_path(libusb_device *dev, int interface_number)
-{
-	char str[64];
-	snprintf(str, sizeof(str), "%04x:%04x:%02x",
-		libusb_get_bus_number(dev),
-		libusb_get_device_address(dev),
-		interface_number);
-	str[sizeof(str)-1] = '\0';
-	
-	return strdup(str);
-}
-
-
-int HID_API_EXPORT hid_init(void)
-{
-	if (!usb_context) {
-		const char *locale;
-
-		/* Init Libusb */
-		if (libusb_init(&usb_context))
-			return -1;
-
-		/* Set the locale if it's not set. */
-		locale = setlocale(LC_CTYPE, NULL);
-		if (!locale)
-			setlocale(LC_CTYPE, "");
-	}
-
-	return 0;
-}
-
-int HID_API_EXPORT hid_exit(void)
-{
-	if (usb_context) {
-		libusb_exit(usb_context);
-		usb_context = NULL;
-	}
-
-	return 0;
-}
-
-struct hid_device_info  HID_API_EXPORT *hid_enumerate(unsigned short vendor_id, unsigned short product_id)
-{
-	libusb_device **devs;
-	libusb_device *dev;
-	libusb_device_handle *handle;
-	ssize_t num_devs;
-	int i = 0;
-	
-	struct hid_device_info *root = NULL; // return object
-	struct hid_device_info *cur_dev = NULL;
-	
-	hid_init();
-
-	num_devs = libusb_get_device_list(usb_context, &devs);
-	if (num_devs < 0)
-		return NULL;
-	while ((dev = devs[i++]) != NULL) {
-		struct libusb_device_descriptor desc;
-		struct libusb_config_descriptor *conf_desc = NULL;
-		int j, k;
-		int interface_num = 0;
-
-		int res = libusb_get_device_descriptor(dev, &desc);
-		unsigned short dev_vid = desc.idVendor;
-		unsigned short dev_pid = desc.idProduct;
-		
-		/* HID's are defined at the interface level. */
-		if (desc.bDeviceClass != LIBUSB_CLASS_PER_INTERFACE)
-			continue;
-
-		res = libusb_get_active_config_descriptor(dev, &conf_desc);
-		if (res < 0)
-			libusb_get_config_descriptor(dev, 0, &conf_desc);
-		if (conf_desc) {
-			for (j = 0; j < conf_desc->bNumInterfaces; j++) {
-				const struct libusb_interface *intf = &conf_desc->interface[j];
-				for (k = 0; k < intf->num_altsetting; k++) {
-					const struct libusb_interface_descriptor *intf_desc;
-					intf_desc = &intf->altsetting[k];
-					if (intf_desc->bInterfaceClass == LIBUSB_CLASS_HID) {
-						interface_num = intf_desc->bInterfaceNumber;
-
-						/* Check the VID/PID against the arguments */
-						if ((vendor_id == 0x0 && product_id == 0x0) ||
-						    (vendor_id == dev_vid && product_id == dev_pid)) {
-							struct hid_device_info *tmp;
-
-							/* VID/PID match. Create the record. */
-							tmp = calloc(1, sizeof(struct hid_device_info));
-							if (cur_dev) {
-								cur_dev->next = tmp;
-							}
-							else {
-								root = tmp;
-							}
-							cur_dev = tmp;
-							
-							/* Fill out the record */
-							cur_dev->next = NULL;
-							cur_dev->path = make_path(dev, interface_num);
-							
-							res = libusb_open(dev, &handle);
-
-							if (res >= 0) {
-								/* Serial Number */
-								if (desc.iSerialNumber > 0)
-									cur_dev->serial_number =
-										get_usb_string(handle, desc.iSerialNumber);
-
-								/* Manufacturer and Product strings */
-								if (desc.iManufacturer > 0)
-									cur_dev->manufacturer_string =
-										get_usb_string(handle, desc.iManufacturer);
-								if (desc.iProduct > 0)
-									cur_dev->product_string =
-										get_usb_string(handle, desc.iProduct);
-
-#ifdef INVASIVE_GET_USAGE
-							/*
-							This section is removed because it is too
-							invasive on the system. Getting a Usage Page
-							and Usage requires parsing the HID Report
-							descriptor. Getting a HID Report descriptor
-							involves claiming the interface. Claiming the
-							interface involves detaching the kernel driver.
-							Detaching the kernel driver is hard on the system
-							because it will unclaim interfaces (if another
-							app has them claimed) and the re-attachment of
-							the driver will sometimes change /dev entry names.
-							It is for these reasons that this section is
-							#if 0. For composite devices, use the interface
-							field in the hid_device_info struct to distinguish
-							between interfaces. */
-								unsigned char data[256];
-#ifdef DETACH_KERNEL_DRIVER
-								int detached = 0;
-								/* Usage Page and Usage */
-								res = libusb_kernel_driver_active(handle, interface_num);
-								if (res == 1) {
-									res = libusb_detach_kernel_driver(handle, interface_num);
-									if (res < 0)
-										LOG("Couldn't detach kernel driver, even though a kernel driver was attached.");
-									else
-										detached = 1;
-								}
-#endif
-								res = libusb_claim_interface(handle, interface_num);
-								if (res >= 0) {
-									/* Get the HID Report Descriptor. */
-									res = libusb_control_transfer(handle, LIBUSB_ENDPOINT_IN|LIBUSB_RECIPIENT_INTERFACE, LIBUSB_REQUEST_GET_DESCRIPTOR, (LIBUSB_DT_REPORT << 8)|interface_num, 0, data, sizeof(data), 5000);
-									if (res >= 0) {
-										unsigned short page=0, usage=0;
-										/* Parse the usage and usage page
-										   out of the report descriptor. */
-										get_usage(data, res,  &page, &usage);
-										cur_dev->usage_page = page;
-										cur_dev->usage = usage;
-									}
-									else
-										LOG("libusb_control_transfer() for getting the HID report failed with %d\n", res);
-
-									/* Release the interface */
-									res = libusb_release_interface(handle, interface_num);
-									if (res < 0)
-										LOG("Can't release the interface.\n");
-								}
-								else
-									LOG("Can't claim interface %d\n", res);
-#ifdef DETACH_KERNEL_DRIVER
-								/* Re-attach kernel driver if necessary. */
-								if (detached) {
-									res = libusb_attach_kernel_driver(handle, interface_num);
-									if (res < 0)
-										LOG("Couldn't re-attach kernel driver.\n");
-								}
-#endif
-
-#endif // INVASIVE_GET_USAGE
-
-								libusb_close(handle);
-							}
-							/* VID/PID */
-							cur_dev->vendor_id = dev_vid;
-							cur_dev->product_id = dev_pid;
-
-							/* Release Number */
-							cur_dev->release_number = desc.bcdDevice;
-							
-							/* Interface Number */
-							cur_dev->interface_number = interface_num;
-						}
-					}
-				} /* altsettings */
-			} /* interfaces */
-			libusb_free_config_descriptor(conf_desc);
-		}
-	}
-
-	libusb_free_device_list(devs, 1);
-
-	return root;
-}
-
-void  HID_API_EXPORT hid_free_enumeration(struct hid_device_info *devs)
-{
-	struct hid_device_info *d = devs;
-	while (d) {
-		struct hid_device_info *next = d->next;
-		free(d->path);
-		free(d->serial_number);
-		free(d->manufacturer_string);
-		free(d->product_string);
-		free(d);
-		d = next;
-	}
-}
-
-hid_device * hid_open(unsigned short vendor_id, unsigned short product_id, const wchar_t *serial_number)
-{
-	struct hid_device_info *devs, *cur_dev;
-	const char *path_to_open = NULL;
-	hid_device *handle = NULL;
-	
-	devs = hid_enumerate(vendor_id, product_id);
-	cur_dev = devs;
-	while (cur_dev) {
-		if (cur_dev->vendor_id == vendor_id &&
-		    cur_dev->product_id == product_id) {
-			if (serial_number) {
-				if (wcscmp(serial_number, cur_dev->serial_number) == 0) {
-					path_to_open = cur_dev->path;
-					break;
-				}
-			}
-			else {
-				path_to_open = cur_dev->path;
-				break;
-			}
-		}
-		cur_dev = cur_dev->next;
-	}
-
-	if (path_to_open) {
-		/* Open the device */
-		handle = hid_open_path(path_to_open);
-	}
-
-	hid_free_enumeration(devs);
-	
-	return handle;
-}
-
-static void read_callback(struct libusb_transfer *transfer)
-{
-	hid_device *dev = transfer->user_data;
-	int res;
-	
-	if (transfer->status == LIBUSB_TRANSFER_COMPLETED) {
-
-		struct input_report *rpt = malloc(sizeof(*rpt));
-		rpt->data = malloc(transfer->actual_length);
-		memcpy(rpt->data, transfer->buffer, transfer->actual_length);
-		rpt->len = transfer->actual_length;
-		rpt->next = NULL;
-
-		pthread_mutex_lock(&dev->mutex);
-
-		/* Attach the new report object to the end of the list. */
-		if (dev->input_reports == NULL) {
-			/* The list is empty. Put it at the root. */
-			dev->input_reports = rpt;
-			pthread_cond_signal(&dev->condition);
-		}
-		else {
-			/* Find the end of the list and attach. */
-			struct input_report *cur = dev->input_reports;
-			int num_queued = 0;
-			while (cur->next != NULL) {
-				cur = cur->next;
-				num_queued++;
-			}
-			cur->next = rpt;
-			
-			/* Pop one off if we've reached 30 in the queue. This
-			   way we don't grow forever if the user never reads
-			   anything from the device. */
-			if (num_queued > 30) {
-				return_data(dev, NULL, 0);
-			}			
-		}
-		pthread_mutex_unlock(&dev->mutex);
-	}
-	else if (transfer->status == LIBUSB_TRANSFER_CANCELLED) {
-		dev->shutdown_thread = 1;
-		return;
-	}
-	else if (transfer->status == LIBUSB_TRANSFER_NO_DEVICE) {
-		dev->shutdown_thread = 1;
-		return;
-	}
-	else if (transfer->status == LIBUSB_TRANSFER_TIMED_OUT) {
-		//LOG("Timeout (normal)\n");
-	}
-	else {
-		LOG("Unknown transfer code: %d\n", transfer->status);
-	}
-	
-	/* Re-submit the transfer object. */
-	res = libusb_submit_transfer(transfer);
-	if (res != 0) {
-		LOG("Unable to submit URB. libusb error code: %d\n", res);
-		dev->shutdown_thread = 1;
-	}
-}
-
-
-static void *read_thread(void *param)
-{
-	hid_device *dev = param;
-	unsigned char *buf;
-	const size_t length = dev->input_ep_max_packet_size;
-
-	/* Set up the transfer object. */
-	buf = malloc(length);
-	dev->transfer = libusb_alloc_transfer(0);
-	libusb_fill_interrupt_transfer(dev->transfer,
-		dev->device_handle,
-		dev->input_endpoint,
-		buf,
-		length,
-		read_callback,
-		dev,
-		5000/*timeout*/);
-	
-	/* Make the first submission. Further submissions are made
-	   from inside read_callback() */
-	libusb_submit_transfer(dev->transfer);
-
-	// Notify the main thread that the read thread is up and running.
-	pthread_barrier_wait(&dev->barrier);
-	
-	/* Handle all the events. */
-	while (!dev->shutdown_thread) {
-		int res;
-		res = libusb_handle_events(usb_context);
-		if (res < 0) {
-			/* There was an error. */
-			LOG("read_thread(): libusb reports error # %d\n", res);
-
-			/* Break out of this loop only on fatal error.*/
-			if (res != LIBUSB_ERROR_BUSY &&
-			    res != LIBUSB_ERROR_TIMEOUT &&
-			    res != LIBUSB_ERROR_OVERFLOW &&
-			    res != LIBUSB_ERROR_INTERRUPTED) {
-				break;
-			}
-		}
-	}
-	
-	/* Cancel any transfer that may be pending. This call will fail
-	   if no transfers are pending, but that's OK. */
-	if (libusb_cancel_transfer(dev->transfer) == 0) {
-		/* The transfer was cancelled, so wait for its completion. */
-		libusb_handle_events(usb_context);
-	}
-	
-	/* Now that the read thread is stopping, Wake any threads which are
-	   waiting on data (in hid_read_timeout()). Do this under a mutex to
-	   make sure that a thread which is about to go to sleep waiting on
-	   the condition acutally will go to sleep before the condition is
-	   signaled. */
-	pthread_mutex_lock(&dev->mutex);
-	pthread_cond_broadcast(&dev->condition);
-	pthread_mutex_unlock(&dev->mutex);
-
-	/* The dev->transfer->buffer and dev->transfer objects are cleaned up
-	   in hid_close(). They are not cleaned up here because this thread
-	   could end either due to a disconnect or due to a user
-	   call to hid_close(). In both cases the objects can be safely
-	   cleaned up after the call to pthread_join() (in hid_close()), but
-	   since hid_close() calls libusb_cancel_transfer(), on these objects,
-	   they can not be cleaned up here. */
-	
-	return NULL;
-}
-
-
-hid_device * HID_API_EXPORT hid_open_path(const char *path)
-{
-	hid_device *dev = NULL;
-
-	dev = new_hid_device();
-
-	libusb_device **devs;
-	libusb_device *usb_dev;
-	ssize_t num_devs;
-	int res;
-	int d = 0;
-	int good_open = 0;
-	
-	hid_init();
-
-	num_devs = libusb_get_device_list(usb_context, &devs);
-	while ((usb_dev = devs[d++]) != NULL) {
-		struct libusb_device_descriptor desc;
-		struct libusb_config_descriptor *conf_desc = NULL;
-		int i,j,k;
-		libusb_get_device_descriptor(usb_dev, &desc);
-
-		if (libusb_get_active_config_descriptor(usb_dev, &conf_desc) < 0)
-			continue;
-		for (j = 0; j < conf_desc->bNumInterfaces; j++) {
-			const struct libusb_interface *intf = &conf_desc->interface[j];
-			for (k = 0; k < intf->num_altsetting; k++) {
-				const struct libusb_interface_descriptor *intf_desc;
-				intf_desc = &intf->altsetting[k];
-				if (intf_desc->bInterfaceClass == LIBUSB_CLASS_HID) {
-					char *dev_path = make_path(usb_dev, intf_desc->bInterfaceNumber);
-					if (!strcmp(dev_path, path)) {
-						/* Matched Paths. Open this device */
-
-						// OPEN HERE //
-						res = libusb_open(usb_dev, &dev->device_handle);
-						if (res < 0) {
-							LOG("can't open device\n");
-							free(dev_path);
- 							break;
-						}
-						good_open = 1;
-#ifdef DETACH_KERNEL_DRIVER
-						/* Detach the kernel driver, but only if the
-						   device is managed by the kernel */
-						if (libusb_kernel_driver_active(dev->device_handle, intf_desc->bInterfaceNumber) == 1) {
-							res = libusb_detach_kernel_driver(dev->device_handle, intf_desc->bInterfaceNumber);
-							if (res < 0) {
-								libusb_close(dev->device_handle);
-								LOG("Unable to detach Kernel Driver\n");
-								free(dev_path);
-								good_open = 0;
-								break;
-							}
-						}
-#endif
-						res = libusb_claim_interface(dev->device_handle, intf_desc->bInterfaceNumber);
-						if (res < 0) {
-							LOG("can't claim interface %d: %d\n", intf_desc->bInterfaceNumber, res);
-							free(dev_path);
-							libusb_close(dev->device_handle);
-							good_open = 0;
-							break;
-						}
-
-						/* Store off the string descriptor indexes */
-						dev->manufacturer_index = desc.iManufacturer;
-						dev->product_index      = desc.iProduct;
-						dev->serial_index       = desc.iSerialNumber;
-
-						/* Store off the interface number */
-						dev->interface = intf_desc->bInterfaceNumber;
-												
-						/* Find the INPUT and OUTPUT endpoints. An
-						   OUTPUT endpoint is not required. */
-						for (i = 0; i < intf_desc->bNumEndpoints; i++) {
-							const struct libusb_endpoint_descriptor *ep
-								= &intf_desc->endpoint[i];
-
-							/* Determine the type and direction of this
-							   endpoint. */
-							int is_interrupt =
-								(ep->bmAttributes & LIBUSB_TRANSFER_TYPE_MASK)
-							      == LIBUSB_TRANSFER_TYPE_INTERRUPT;
-							int is_output = 
-								(ep->bEndpointAddress & LIBUSB_ENDPOINT_DIR_MASK)
-							      == LIBUSB_ENDPOINT_OUT;
-							int is_input = 
-								(ep->bEndpointAddress & LIBUSB_ENDPOINT_DIR_MASK)
-							      == LIBUSB_ENDPOINT_IN;
-
-							/* Decide whether to use it for intput or output. */
-							if (dev->input_endpoint == 0 &&
-							    is_interrupt && is_input) {
-								/* Use this endpoint for INPUT */
-								dev->input_endpoint = ep->bEndpointAddress;
-								dev->input_ep_max_packet_size = ep->wMaxPacketSize;
-							}
-							if (dev->output_endpoint == 0 &&
-							    is_interrupt && is_output) {
-								/* Use this endpoint for OUTPUT */
-								dev->output_endpoint = ep->bEndpointAddress;
-							}
-						}
-						
-						pthread_create(&dev->thread, NULL, read_thread, dev);
-						
-						// Wait here for the read thread to be initialized.
-						pthread_barrier_wait(&dev->barrier);
-						
-					}
-					free(dev_path);
-				}
-			}
-		}
-		libusb_free_config_descriptor(conf_desc);
-
-	}
-
-	libusb_free_device_list(devs, 1);
-	
-	// If we have a good handle, return it.
-	if (good_open) {
-		return dev;
-	}
-	else {
-		// Unable to open any devices.
-		free_hid_device(dev);
-		return NULL;
-	}
-}
-
-
-int HID_API_EXPORT hid_write(hid_device *dev, const unsigned char *data, size_t length)
-{
-	int res;
-	int report_number = data[0];
-	int skipped_report_id = 0;
-
-	if (report_number == 0x0) {
-		data++;
-		length--;
-		skipped_report_id = 1;
-	}
-
-
-	if (dev->output_endpoint <= 0) {
-		/* No interrput out endpoint. Use the Control Endpoint */
-		res = libusb_control_transfer(dev->device_handle,
-			LIBUSB_REQUEST_TYPE_CLASS|LIBUSB_RECIPIENT_INTERFACE|LIBUSB_ENDPOINT_OUT,
-			0x09/*HID Set_Report*/,
-			(2/*HID output*/ << 8) | report_number,
-			dev->interface,
-			(unsigned char *)data, length,
-			1000/*timeout millis*/);
-		
-		if (res < 0)
-			return -1;
-		
-		if (skipped_report_id)
-			length++;
-		
-		return length;
-	}
-	else {
-		/* Use the interrupt out endpoint */
-		int actual_length;
-		res = libusb_interrupt_transfer(dev->device_handle,
-			dev->output_endpoint,
-			(unsigned char*)data,
-			length,
-			&actual_length, 1000);
-		
-		if (res < 0)
-			return -1;
-		
-		if (skipped_report_id)
-			actual_length++;
-		
-		return actual_length;
-	}
-}
-
-/* Helper function, to simplify hid_read().
-   This should be called with dev->mutex locked. */
-static int return_data(hid_device *dev, unsigned char *data, size_t length)
-{
-	/* Copy the data out of the linked list item (rpt) into the
-	   return buffer (data), and delete the liked list item. */
-	struct input_report *rpt = dev->input_reports;
-	size_t len = (length < rpt->len)? length: rpt->len;
-	if (len > 0)
-		memcpy(data, rpt->data, len);
-	dev->input_reports = rpt->next;
-	free(rpt->data);
-	free(rpt);
-	return len;
-}
-
-static void cleanup_mutex(void *param)
-{
-	hid_device *dev = param;
-	pthread_mutex_unlock(&dev->mutex);
-}
-
-
-int HID_API_EXPORT hid_read_timeout(hid_device *dev, unsigned char *data, size_t length, int milliseconds)
-{
-	int bytes_read = -1;
-
-#if 0
-	int transferred;
-	int res = libusb_interrupt_transfer(dev->device_handle, dev->input_endpoint, data, length, &transferred, 5000);
-	LOG("transferred: %d\n", transferred);
-	return transferred;
-#endif
-
-	pthread_mutex_lock(&dev->mutex);
-	pthread_cleanup_push(&cleanup_mutex, dev);
-
-	/* There's an input report queued up. Return it. */
-	if (dev->input_reports) {
-		/* Return the first one */
-		bytes_read = return_data(dev, data, length);
-		goto ret;
-	}
-	
-	if (dev->shutdown_thread) {
-		/* This means the device has been disconnected.
-		   An error code of -1 should be returned. */
-		bytes_read = -1;
-		goto ret;
-	}
-	
-	if (milliseconds == -1) {
-		/* Blocking */
-		while (!dev->input_reports && !dev->shutdown_thread) {
-			pthread_cond_wait(&dev->condition, &dev->mutex);
-		}
-		if (dev->input_reports) {
-			bytes_read = return_data(dev, data, length);
-		}
-	}
-	else if (milliseconds > 0) {
-		/* Non-blocking, but called with timeout. */
-		int res;
-		struct timespec ts;
-		clock_gettime(CLOCK_REALTIME, &ts);
-		ts.tv_sec += milliseconds / 1000;
-		ts.tv_nsec += (milliseconds % 1000) * 1000000;
-		if (ts.tv_nsec >= 1000000000L) {
-			ts.tv_sec++;
-			ts.tv_nsec -= 1000000000L;
-		}
-		
-		while (!dev->input_reports && !dev->shutdown_thread) {
-			res = pthread_cond_timedwait(&dev->condition, &dev->mutex, &ts);
-			if (res == 0) {
-				if (dev->input_reports) {
-					bytes_read = return_data(dev, data, length);
-					break;
-				}
-				
-				/* If we're here, there was a spurious wake up
-				   or the read thread was shutdown. Run the
-				   loop again (ie: don't break). */
-			}
-			else if (res == ETIMEDOUT) {
-				/* Timed out. */
-				bytes_read = 0;
-				break;
-			}
-			else {
-				/* Error. */
-				bytes_read = -1;
-				break;
-			}
-		}
-	}
-	else {
-		/* Purely non-blocking */
-		bytes_read = 0;
-	}
-
-ret:
-	pthread_mutex_unlock(&dev->mutex);
-	pthread_cleanup_pop(0);
-
-	return bytes_read;
-}
-
-int HID_API_EXPORT hid_read(hid_device *dev, unsigned char *data, size_t length)
-{
-	return hid_read_timeout(dev, data, length, dev->blocking ? -1 : 0);
-}
-
-int HID_API_EXPORT hid_set_nonblocking(hid_device *dev, int nonblock)
-{
-	dev->blocking = !nonblock;
-	
-	return 0;
-}
-
-
-int HID_API_EXPORT hid_send_feature_report(hid_device *dev, const unsigned char *data, size_t length)
-{
-	int res = -1;
-	int skipped_report_id = 0;
-	int report_number = data[0];
-
-	if (report_number == 0x0) {
-		data++;
-		length--;
-		skipped_report_id = 1;
-	}
-
-	res = libusb_control_transfer(dev->device_handle,
-		LIBUSB_REQUEST_TYPE_CLASS|LIBUSB_RECIPIENT_INTERFACE|LIBUSB_ENDPOINT_OUT,
-		0x09/*HID set_report*/,
-		(3/*HID feature*/ << 8) | report_number,
-		dev->interface,
-		(unsigned char *)data, length,
-		1000/*timeout millis*/);
-	
-	if (res < 0)
-		return -1;
-	
-	/* Account for the report ID */
-	if (skipped_report_id)
-		length++;
-	
-	return length;
-}
-
-int HID_API_EXPORT hid_get_feature_report(hid_device *dev, unsigned char *data, size_t length)
-{
-	int res = -1;
-	int skipped_report_id = 0;
-	int report_number = data[0];
-
-	if (report_number == 0x0) {
-		/* Offset the return buffer by 1, so that the report ID
-		   will remain in byte 0. */
-		data++;
-		length--;
-		skipped_report_id = 1;
-	}
-	res = libusb_control_transfer(dev->device_handle,
-		LIBUSB_REQUEST_TYPE_CLASS|LIBUSB_RECIPIENT_INTERFACE|LIBUSB_ENDPOINT_IN,
-		0x01/*HID get_report*/,
-		(3/*HID feature*/ << 8) | report_number,
-		dev->interface,
-		(unsigned char *)data, length,
-		1000/*timeout millis*/);
-	
-	if (res < 0)
-		return -1;
-
-	if (skipped_report_id)
-		res++;
-	
-	return res;
-}
-
-
-void HID_API_EXPORT hid_close(hid_device *dev)
-{
-	if (!dev)
-		return;
-	
-	/* Cause read_thread() to stop. */
-	dev->shutdown_thread = 1;
-	libusb_cancel_transfer(dev->transfer);
-
-	/* Wait for read_thread() to end. */
-	pthread_join(dev->thread, NULL);
-	
-	/* Clean up the Transfer objects allocated in read_thread(). */
-	free(dev->transfer->buffer);
-	libusb_free_transfer(dev->transfer);
-	
-	/* release the interface */
-	libusb_release_interface(dev->device_handle, dev->interface);
-	
-	/* Close the handle */
-	libusb_close(dev->device_handle);
-	
-	/* Clear out the queue of received reports. */
-	pthread_mutex_lock(&dev->mutex);
-	while (dev->input_reports) {
-		return_data(dev, NULL, 0);
-	}
-	pthread_mutex_unlock(&dev->mutex);
-	
-	free_hid_device(dev);
-}
-
-
-int HID_API_EXPORT_CALL hid_get_manufacturer_string(hid_device *dev, wchar_t *string, size_t maxlen)
-{
-	return hid_get_indexed_string(dev, dev->manufacturer_index, string, maxlen);
-}
-
-int HID_API_EXPORT_CALL hid_get_product_string(hid_device *dev, wchar_t *string, size_t maxlen)
-{
-	return hid_get_indexed_string(dev, dev->product_index, string, maxlen);
-}
-
-int HID_API_EXPORT_CALL hid_get_serial_number_string(hid_device *dev, wchar_t *string, size_t maxlen)
-{
-	return hid_get_indexed_string(dev, dev->serial_index, string, maxlen);
-}
-
-int HID_API_EXPORT_CALL hid_get_indexed_string(hid_device *dev, int string_index, wchar_t *string, size_t maxlen)
-{
-	wchar_t *str;
-
-	str = get_usb_string(dev->device_handle, string_index);
-	if (str) {
-		wcsncpy(string, str, maxlen);
-		string[maxlen-1] = L'\0';
-		free(str);
-		return 0;
-	}
-	else
-		return -1;
-}
-
-
-HID_API_EXPORT const wchar_t * HID_API_CALL  hid_error(hid_device *dev)
-{
-	return NULL;
-}
-
-
-struct lang_map_entry {
-	const char *name;
-	const char *string_code;
-	uint16_t usb_code;
-};
-
-#define LANG(name,code,usb_code) { name, code, usb_code }
-static struct lang_map_entry lang_map[] = {
-	LANG("Afrikaans", "af", 0x0436),
-	LANG("Albanian", "sq", 0x041C),
-	LANG("Arabic - United Arab Emirates", "ar_ae", 0x3801),
-	LANG("Arabic - Bahrain", "ar_bh", 0x3C01),
-	LANG("Arabic - Algeria", "ar_dz", 0x1401),
-	LANG("Arabic - Egypt", "ar_eg", 0x0C01),
-	LANG("Arabic - Iraq", "ar_iq", 0x0801),
-	LANG("Arabic - Jordan", "ar_jo", 0x2C01),
-	LANG("Arabic - Kuwait", "ar_kw", 0x3401),
-	LANG("Arabic - Lebanon", "ar_lb", 0x3001),
-	LANG("Arabic - Libya", "ar_ly", 0x1001),
-	LANG("Arabic - Morocco", "ar_ma", 0x1801),
-	LANG("Arabic - Oman", "ar_om", 0x2001),
-	LANG("Arabic - Qatar", "ar_qa", 0x4001),
-	LANG("Arabic - Saudi Arabia", "ar_sa", 0x0401),
-	LANG("Arabic - Syria", "ar_sy", 0x2801),
-	LANG("Arabic - Tunisia", "ar_tn", 0x1C01),
-	LANG("Arabic - Yemen", "ar_ye", 0x2401),
-	LANG("Armenian", "hy", 0x042B),
-	LANG("Azeri - Latin", "az_az", 0x042C),
-	LANG("Azeri - Cyrillic", "az_az", 0x082C),
-	LANG("Basque", "eu", 0x042D),
-	LANG("Belarusian", "be", 0x0423),
-	LANG("Bulgarian", "bg", 0x0402),
-	LANG("Catalan", "ca", 0x0403),
-	LANG("Chinese - China", "zh_cn", 0x0804),
-	LANG("Chinese - Hong Kong SAR", "zh_hk", 0x0C04),
-	LANG("Chinese - Macau SAR", "zh_mo", 0x1404),
-	LANG("Chinese - Singapore", "zh_sg", 0x1004),
-	LANG("Chinese - Taiwan", "zh_tw", 0x0404),
-	LANG("Croatian", "hr", 0x041A),
-	LANG("Czech", "cs", 0x0405),
-	LANG("Danish", "da", 0x0406),
-	LANG("Dutch - Netherlands", "nl_nl", 0x0413),
-	LANG("Dutch - Belgium", "nl_be", 0x0813),
-	LANG("English - Australia", "en_au", 0x0C09),
-	LANG("English - Belize", "en_bz", 0x2809),
-	LANG("English - Canada", "en_ca", 0x1009),
-	LANG("English - Caribbean", "en_cb", 0x2409),
-	LANG("English - Ireland", "en_ie", 0x1809),
-	LANG("English - Jamaica", "en_jm", 0x2009),
-	LANG("English - New Zealand", "en_nz", 0x1409),
-	LANG("English - Phillippines", "en_ph", 0x3409),
-	LANG("English - Southern Africa", "en_za", 0x1C09),
-	LANG("English - Trinidad", "en_tt", 0x2C09),
-	LANG("English - Great Britain", "en_gb", 0x0809),
-	LANG("English - United States", "en_us", 0x0409),
-	LANG("Estonian", "et", 0x0425),
-	LANG("Farsi", "fa", 0x0429),
-	LANG("Finnish", "fi", 0x040B),
-	LANG("Faroese", "fo", 0x0438),
-	LANG("French - France", "fr_fr", 0x040C),
-	LANG("French - Belgium", "fr_be", 0x080C),
-	LANG("French - Canada", "fr_ca", 0x0C0C),
-	LANG("French - Luxembourg", "fr_lu", 0x140C),
-	LANG("French - Switzerland", "fr_ch", 0x100C),
-	LANG("Gaelic - Ireland", "gd_ie", 0x083C),
-	LANG("Gaelic - Scotland", "gd", 0x043C),
-	LANG("German - Germany", "de_de", 0x0407),
-	LANG("German - Austria", "de_at", 0x0C07),
-	LANG("German - Liechtenstein", "de_li", 0x1407),
-	LANG("German - Luxembourg", "de_lu", 0x1007),
-	LANG("German - Switzerland", "de_ch", 0x0807),
-	LANG("Greek", "el", 0x0408),
-	LANG("Hebrew", "he", 0x040D),
-	LANG("Hindi", "hi", 0x0439),
-	LANG("Hungarian", "hu", 0x040E),
-	LANG("Icelandic", "is", 0x040F),
-	LANG("Indonesian", "id", 0x0421),
-	LANG("Italian - Italy", "it_it", 0x0410),
-	LANG("Italian - Switzerland", "it_ch", 0x0810),
-	LANG("Japanese", "ja", 0x0411),
-	LANG("Korean", "ko", 0x0412),
-	LANG("Latvian", "lv", 0x0426),
-	LANG("Lithuanian", "lt", 0x0427),
-	LANG("F.Y.R.O. Macedonia", "mk", 0x042F),
-	LANG("Malay - Malaysia", "ms_my", 0x043E),
-	LANG("Malay – Brunei", "ms_bn", 0x083E),
-	LANG("Maltese", "mt", 0x043A),
-	LANG("Marathi", "mr", 0x044E),
-	LANG("Norwegian - Bokml", "no_no", 0x0414),
-	LANG("Norwegian - Nynorsk", "no_no", 0x0814),
-	LANG("Polish", "pl", 0x0415),
-	LANG("Portuguese - Portugal", "pt_pt", 0x0816),
-	LANG("Portuguese - Brazil", "pt_br", 0x0416),
-	LANG("Raeto-Romance", "rm", 0x0417),
-	LANG("Romanian - Romania", "ro", 0x0418),
-	LANG("Romanian - Republic of Moldova", "ro_mo", 0x0818),
-	LANG("Russian", "ru", 0x0419),
-	LANG("Russian - Republic of Moldova", "ru_mo", 0x0819),
-	LANG("Sanskrit", "sa", 0x044F),
-	LANG("Serbian - Cyrillic", "sr_sp", 0x0C1A),
-	LANG("Serbian - Latin", "sr_sp", 0x081A),
-	LANG("Setsuana", "tn", 0x0432),
-	LANG("Slovenian", "sl", 0x0424),
-	LANG("Slovak", "sk", 0x041B),
-	LANG("Sorbian", "sb", 0x042E),
-	LANG("Spanish - Spain (Traditional)", "es_es", 0x040A),
-	LANG("Spanish - Argentina", "es_ar", 0x2C0A),
-	LANG("Spanish - Bolivia", "es_bo", 0x400A),
-	LANG("Spanish - Chile", "es_cl", 0x340A),
-	LANG("Spanish - Colombia", "es_co", 0x240A),
-	LANG("Spanish - Costa Rica", "es_cr", 0x140A),
-	LANG("Spanish - Dominican Republic", "es_do", 0x1C0A),
-	LANG("Spanish - Ecuador", "es_ec", 0x300A),
-	LANG("Spanish - Guatemala", "es_gt", 0x100A),
-	LANG("Spanish - Honduras", "es_hn", 0x480A),
-	LANG("Spanish - Mexico", "es_mx", 0x080A),
-	LANG("Spanish - Nicaragua", "es_ni", 0x4C0A),
-	LANG("Spanish - Panama", "es_pa", 0x180A),
-	LANG("Spanish - Peru", "es_pe", 0x280A),
-	LANG("Spanish - Puerto Rico", "es_pr", 0x500A),
-	LANG("Spanish - Paraguay", "es_py", 0x3C0A),
-	LANG("Spanish - El Salvador", "es_sv", 0x440A),
-	LANG("Spanish - Uruguay", "es_uy", 0x380A),
-	LANG("Spanish - Venezuela", "es_ve", 0x200A),
-	LANG("Southern Sotho", "st", 0x0430),
-	LANG("Swahili", "sw", 0x0441),
-	LANG("Swedish - Sweden", "sv_se", 0x041D),
-	LANG("Swedish - Finland", "sv_fi", 0x081D),
-	LANG("Tamil", "ta", 0x0449),
-	LANG("Tatar", "tt", 0X0444),
-	LANG("Thai", "th", 0x041E),
-	LANG("Turkish", "tr", 0x041F),
-	LANG("Tsonga", "ts", 0x0431),
-	LANG("Ukrainian", "uk", 0x0422),
-	LANG("Urdu", "ur", 0x0420),
-	LANG("Uzbek - Cyrillic", "uz_uz", 0x0843),
-	LANG("Uzbek – Latin", "uz_uz", 0x0443),
-	LANG("Vietnamese", "vi", 0x042A),
-	LANG("Xhosa", "xh", 0x0434),
-	LANG("Yiddish", "yi", 0x043D),
-	LANG("Zulu", "zu", 0x0435),
-	LANG(NULL, NULL, 0x0),	
-};
-
-uint16_t get_usb_code_for_current_locale(void)
-{
-	char *locale;
-	char search_string[64];
-	char *ptr;
-	
-	/* Get the current locale. */
-	locale = setlocale(0, NULL);
-	if (!locale)
-		return 0x0;
-	
-	/* Make a copy of the current locale string. */
-	strncpy(search_string, locale, sizeof(search_string));
-	search_string[sizeof(search_string)-1] = '\0';
-	
-	/* Chop off the encoding part, and make it lower case. */
-	ptr = search_string;
-	while (*ptr) {
-		*ptr = tolower(*ptr);
-		if (*ptr == '.') {
-			*ptr = '\0';
-			break;
-		}
-		ptr++;
-	}
-
-	/* Find the entry which matches the string code of our locale. */
-	struct lang_map_entry *lang = lang_map;
-	while (lang->string_code) {
-		if (!strcmp(lang->string_code, search_string)) {
-			return lang->usb_code;
-		}	
-		lang++;
-	}
-	
-	/* There was no match. Find with just the language only. */
-	/* Chop off the variant. Chop it off at the '_'. */
-	ptr = search_string;
-	while (*ptr) {
-		*ptr = tolower(*ptr);
-		if (*ptr == '_') {
-			*ptr = '\0';
-			break;
-		}
-		ptr++;
-	}
-	
-#if 0 // TODO: Do we need this?
-	/* Find the entry which matches the string code of our language. */
-	lang = lang_map;
-	while (lang->string_code) {
-		if (!strcmp(lang->string_code, search_string)) {
-			return lang->usb_code;
-		}	
-		lang++;
-	}
-#endif
-	
-	/* Found nothing. */
-	return 0x0;
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/target-platform/com.codeminders.hidapi/src/linux/hid.c b/target-platform/com.codeminders.hidapi/src/linux/hid.c
deleted file mode 100755
index 0d55996..0000000
--- a/target-platform/com.codeminders.hidapi/src/linux/hid.c
+++ /dev/null
@@ -1,791 +0,0 @@
-/*******************************************************
- HIDAPI - Multi-Platform library for
- communication with HID devices.
-
- Alan Ott
- Signal 11 Software
-
- 8/22/2009
- Linux Version - 6/2/2009
-
- Copyright 2009, All Rights Reserved.
- 
- At the discretion of the user of this library,
- this software may be licensed under the terms of the
- GNU Public License v3, a BSD-Style license, or the
- original HIDAPI license as outlined in the LICENSE.txt,
- LICENSE-gpl3.txt, LICENSE-bsd.txt, and LICENSE-orig.txt
- files located at the root of the source distribution.
- These files may also be found in the public source
- code repository located at:
-        http://github.com/signal11/hidapi .
-********************************************************/
-
-/* C */
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <locale.h>
-#include <errno.h>
-
-/* Unix */
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <sys/utsname.h>
-#include <fcntl.h>
-#include <poll.h>
-
-/* Linux */
-#include <linux/hidraw.h>
-#include <linux/version.h>
-#include <linux/input.h>
-#include <libudev.h>
-
-#include "hidapi.h"
-
-/* Definitions from linux/hidraw.h. Since these are new, some distros
-   may not have header files which contain them. */
-#ifndef HIDIOCSFEATURE
-#define HIDIOCSFEATURE(len)    _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x06, len)
-#endif
-#ifndef HIDIOCGFEATURE
-#define HIDIOCGFEATURE(len)    _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x07, len)
-#endif
-
-
-/* USB HID device property names */
-const char *device_string_names[] = {
-	"manufacturer",
-	"product",
-	"serial",
-};
-
-/* Symbolic names for the properties above */
-enum device_string_id {
-	DEVICE_STRING_MANUFACTURER,
-	DEVICE_STRING_PRODUCT,
-	DEVICE_STRING_SERIAL,
-
-	DEVICE_STRING_COUNT,
-};
-
-struct hid_device_ {
-	int device_handle;
-	int blocking;
-	int uses_numbered_reports;
-};
-
-
-static __u32 kernel_version = 0;
-
-hid_device *new_hid_device()
-{
-	hid_device *dev = calloc(1, sizeof(hid_device));
-	dev->device_handle = -1;
-	dev->blocking = 1;
-	dev->uses_numbered_reports = 0;
-
-	return dev;
-}
-
-static void register_error(hid_device *device, const char *op)
-{
-
-}
-
-/* The caller must free the returned string with free(). */
-static wchar_t *utf8_to_wchar_t(const char *utf8)
-{
-	wchar_t *ret = NULL;
-
-	if (utf8) {
-		size_t wlen = mbstowcs(NULL, utf8, 0);
-		if (wlen < 0) {
-			return wcsdup(L"");
-		}
-		ret = calloc(wlen+1, sizeof(wchar_t));
-		mbstowcs(ret, utf8, wlen+1);
-		ret[wlen] = 0x0000;
-	}
-
-	return ret;
-}
-
-/* Get an attribute value from a udev_device and return it as a whar_t
-   string. The returned string must be freed with free() when done.*/
-static wchar_t *copy_udev_string(struct udev_device *dev, const char *udev_name)
-{
-	return utf8_to_wchar_t(udev_device_get_sysattr_value(dev, udev_name));
-}
-
-/* uses_numbered_reports() returns 1 if report_descriptor describes a device
-   which contains numbered reports. */ 
-static int uses_numbered_reports(__u8 *report_descriptor, __u32 size) {
-	int i = 0;
-	int size_code;
-	int data_len, key_size;
-	
-	while (i < size) {
-		int key = report_descriptor[i];
-
-		/* Check for the Report ID key */
-		if (key == 0x85/*Report ID*/) {
-			/* This device has a Report ID, which means it uses
-			   numbered reports. */
-			return 1;
-		}
-		
-		//printf("key: %02hhx\n", key);
-		
-		if ((key & 0xf0) == 0xf0) {
-			/* This is a Long Item. The next byte contains the
-			   length of the data section (value) for this key.
-			   See the HID specification, version 1.11, section
-			   6.2.2.3, titled "Long Items." */
-			if (i+1 < size)
-				data_len = report_descriptor[i+1];
-			else
-				data_len = 0; /* malformed report */
-			key_size = 3;
-		}
-		else {
-			/* This is a Short Item. The bottom two bits of the
-			   key contain the size code for the data section
-			   (value) for this key.  Refer to the HID
-			   specification, version 1.11, section 6.2.2.2,
-			   titled "Short Items." */
-			size_code = key & 0x3;
-			switch (size_code) {
-			case 0:
-			case 1:
-			case 2:
-				data_len = size_code;
-				break;
-			case 3:
-				data_len = 4;
-				break;
-			default:
-				/* Can't ever happen since size_code is & 0x3 */
-				data_len = 0;
-				break;
-			};
-			key_size = 1;
-		}
-		
-		/* Skip over this key and it's associated data */
-		i += data_len + key_size;
-	}
-	
-	/* Didn't find a Report ID key. Device doesn't use numbered reports. */
-	return 0;
-}
-
-/*
- * The caller is responsible for free()ing the (newly-allocated) character
- * strings pointed to by serial_number_utf8 and product_name_utf8 after use.
- */
-int
-parse_uevent_info(const char *uevent, int *bus_type,
-	unsigned short *vendor_id, unsigned short *product_id,
-	char **serial_number_utf8, char **product_name_utf8)
-{
-	char *tmp = strdup(uevent);
-	char *saveptr = NULL;
-	char *line;
-	char *key;
-	char *value;
-
-	int found_id = 0;
-	int found_serial = 0;
-	int found_name = 0;
-
-	line = strtok_r(tmp, "\n", &saveptr);
-	while (line != NULL) {
-		/* line: "KEY=value" */
-		key = line;
-		value = strchr(line, '=');
-		if (!value) {
-			goto next_line;
-		}
-		*value = '\0';
-		value++;
-
-		if (strcmp(key, "HID_ID") == 0) {
-			/**
-			 *        type vendor   product
-			 * HID_ID=0003:000005AC:00008242
-			 **/
-			int ret = sscanf(value, "%x:%hx:%hx", bus_type, vendor_id, product_id);
-			if (ret == 3) {
-				found_id = 1;
-			}
-		} else if (strcmp(key, "HID_NAME") == 0) {
-			/* The caller has to free the product name */
-			*product_name_utf8 = strdup(value);
-			found_name = 1;
-		} else if (strcmp(key, "HID_UNIQ") == 0) {
-			/* The caller has to free the serial number */
-			*serial_number_utf8 = strdup(value);
-			found_serial = 1;
-		}
-
-next_line:
-		line = strtok_r(NULL, "\n", &saveptr);
-	}
-
-	free(tmp);
-	return (found_id && found_name && found_serial);
-}
-
-
-static int get_device_string(hid_device *dev, enum device_string_id key, wchar_t *string, size_t maxlen)
-{
-	struct udev *udev;
-	struct udev_device *udev_dev, *parent, *hid_dev;
-	struct stat s;
-	int ret = -1;
-
-	/* Create the udev object */
-	udev = udev_new();
-	if (!udev) {
-		printf("Can't create udev\n");
-		return -1;
-	}
-
-	/* Get the dev_t (major/minor numbers) from the file handle. */
-	fstat(dev->device_handle, &s);
-	/* Open a udev device from the dev_t. 'c' means character device. */
-	udev_dev = udev_device_new_from_devnum(udev, 'c', s.st_rdev);
-	if (udev_dev) {
-		hid_dev = udev_device_get_parent_with_subsystem_devtype(
-			udev_dev,
-			"hid",
-			NULL);
-		if (hid_dev) {
-			unsigned short dev_vid;
-			unsigned short dev_pid;
-			char *serial_number_utf8 = NULL;
-			char *product_name_utf8 = NULL;
-			int bus_type;
-
-			ret = parse_uevent_info(
-			           udev_device_get_sysattr_value(hid_dev, "uevent"),
-			           &bus_type,
-			           &dev_vid,
-			           &dev_pid,
-			           &serial_number_utf8,
-			           &product_name_utf8);
-
-			if (bus_type == BUS_BLUETOOTH) {
-				switch (key) {
-					case DEVICE_STRING_MANUFACTURER:
-						wcsncpy(string, L"", maxlen);
-						ret = 0;
-						break;
-					case DEVICE_STRING_PRODUCT:
-						ret = mbstowcs(string, product_name_utf8, maxlen);
-						ret = (ret == (size_t)-1)? -1: 0;
-						break;
-					case DEVICE_STRING_SERIAL:
-						ret = mbstowcs(string, serial_number_utf8, maxlen);
-						ret = (ret == (size_t)-1)? -1: 0;
-						break;
-					default:
-						ret = -1;
-						break;
-				}
-			}
-			else {
-				/* This is a USB device. Find its parent USB Device node. */
-				parent = udev_device_get_parent_with_subsystem_devtype(
-					   udev_dev,
-					   "usb",
-					   "usb_device");
-				if (parent) {
-					const char *str;
-					const char *key_str = NULL;
-
-					if (key >= 0 && key < DEVICE_STRING_COUNT) {
-						key_str = device_string_names[key];
-					} else {
-						ret = -1;
-						goto end;
-					}
-
-					str = udev_device_get_sysattr_value(parent, key_str);
-					if (str) {
-						/* Convert the string from UTF-8 to wchar_t */
-						ret = mbstowcs(string, str, maxlen);
-						ret = (ret == (size_t)-1)? -1: 0;
-						goto end;
-					}
-				}
-			}
-
-			free(serial_number_utf8);
-			free(product_name_utf8);
-		}
-	}
-
-end:
-	udev_device_unref(udev_dev);
-	// parent and hid_dev don't need to be (and can't be) unref'd.
-	// I'm not sure why, but they'll throw double-free() errors.
-	udev_unref(udev);
-
-	return ret;
-}
-
-int HID_API_EXPORT hid_init(void)
-{
-	const char *locale;
-
-	/* Set the locale if it's not set. */
-	locale = setlocale(LC_CTYPE, NULL);
-	if (!locale)
-		setlocale(LC_CTYPE, "");
-
-	return 0;
-}
-
-int HID_API_EXPORT hid_exit(void)
-{
-	/* Nothing to do for this in the Linux/hidraw implementation. */
-	return 0;
-}
-
-
-struct hid_device_info  HID_API_EXPORT *hid_enumerate(unsigned short vendor_id, unsigned short product_id)
-{
-	struct udev *udev;
-	struct udev_enumerate *enumerate;
-	struct udev_list_entry *devices, *dev_list_entry;
-	
-	struct hid_device_info *root = NULL; // return object
-	struct hid_device_info *cur_dev = NULL;
-	struct hid_device_info *prev_dev = NULL; // previous device
-
-	hid_init();
-
-	/* Create the udev object */
-	udev = udev_new();
-	if (!udev) {
-		printf("Can't create udev\n");
-		return NULL;
-	}
-
-	/* Create a list of the devices in the 'hidraw' subsystem. */
-	enumerate = udev_enumerate_new(udev);
-	udev_enumerate_add_match_subsystem(enumerate, "hidraw");
-	udev_enumerate_scan_devices(enumerate);
-	devices = udev_enumerate_get_list_entry(enumerate);
-	/* For each item, see if it matches the vid/pid, and if so
-	   create a udev_device record for it */
-	udev_list_entry_foreach(dev_list_entry, devices) {
-		const char *sysfs_path;
-		const char *dev_path;
-		const char *str;
-		struct udev_device *raw_dev; // The device's hidraw udev node.
-		struct udev_device *hid_dev; // The device's HID udev node.
-		struct udev_device *usb_dev; // The device's USB udev node.
-		struct udev_device *intf_dev; // The device's interface (in the USB sense).
-		unsigned short dev_vid;
-		unsigned short dev_pid;
-		char *serial_number_utf8 = NULL;
-		char *product_name_utf8 = NULL;
-		int bus_type;
-		int result;
-
-		/* Get the filename of the /sys entry for the device
-		   and create a udev_device object (dev) representing it */
-		sysfs_path = udev_list_entry_get_name(dev_list_entry);
-		raw_dev = udev_device_new_from_syspath(udev, sysfs_path);
-		dev_path = udev_device_get_devnode(raw_dev);
-
-		hid_dev = udev_device_get_parent_with_subsystem_devtype(
-			raw_dev,
-			"hid",
-			NULL);
-
-		if (!hid_dev) {
-			/* Unable to find parent hid device. */
-			goto next;
-		}
-
-		result = parse_uevent_info(
-			udev_device_get_sysattr_value(hid_dev, "uevent"),
-			&bus_type,
-			&dev_vid,
-			&dev_pid,
-			&serial_number_utf8,
-			&product_name_utf8);
-
-		if (!result) {
-			/* parse_uevent_info() failed for at least one field. */
-			goto next;
-		}
-
-		if (bus_type != BUS_USB && bus_type != BUS_BLUETOOTH) {
-			/* We only know how to handle USB and BT devices. */
-			goto next;
-		}
-
-		/* Check the VID/PID against the arguments */
-		if ((vendor_id == 0x0 && product_id == 0x0) ||
-		    (vendor_id == dev_vid && product_id == dev_pid)) {
-			struct hid_device_info *tmp;
-
-			/* VID/PID match. Create the record. */
-			tmp = malloc(sizeof(struct hid_device_info));
-			if (cur_dev) {
-				cur_dev->next = tmp;
-			}
-			else {
-				root = tmp;
-			}
-			prev_dev = cur_dev;
-			cur_dev = tmp;
-
-			/* Fill out the record */
-			cur_dev->next = NULL;
-			cur_dev->path = dev_path? strdup(dev_path): NULL;
-
-			/* VID/PID */
-			cur_dev->vendor_id = dev_vid;
-			cur_dev->product_id = dev_pid;
-
-			/* Serial Number */
-			cur_dev->serial_number = utf8_to_wchar_t(serial_number_utf8);
-
-			/* Release Number */
-			cur_dev->release_number = 0x0;
-
-			/* Interface Number */
-			cur_dev->interface_number = -1;
-
-			switch (bus_type) {
-				case BUS_USB:
-					/* The device pointed to by raw_dev contains information about
-					   the hidraw device. In order to get information about the
-					   USB device, get the parent device with the
-					   subsystem/devtype pair of "usb"/"usb_device". This will
-					   be several levels up the tree, but the function will find
-					   it. */
-					usb_dev = udev_device_get_parent_with_subsystem_devtype(
-							raw_dev,
-							"usb",
-							"usb_device");
-
-					if (!usb_dev) {
-						/* Free this device */
-						free(cur_dev->serial_number);
-						free(cur_dev->path);
-						free(cur_dev);
-
-						/* Take it off the device list. */
-						if (prev_dev) {
-							prev_dev->next = NULL;
-							cur_dev = prev_dev;
-						}
-						else {
-							cur_dev = root = NULL;
-						}
-
-						goto next;
-					}
-
-					/* Manufacturer and Product strings */
-					cur_dev->manufacturer_string = copy_udev_string(usb_dev, device_string_names[DEVICE_STRING_MANUFACTURER]);
-					cur_dev->product_string = copy_udev_string(usb_dev, device_string_names[DEVICE_STRING_PRODUCT]);
-
-					/* Release Number */
-					str = udev_device_get_sysattr_value(usb_dev, "bcdDevice");
-					cur_dev->release_number = (str)? strtol(str, NULL, 16): 0x0;
-
-					/* Get a handle to the interface's udev node. */
-					intf_dev = udev_device_get_parent_with_subsystem_devtype(
-							raw_dev,
-							"usb",
-							"usb_interface");
-					if (intf_dev) {
-						str = udev_device_get_sysattr_value(intf_dev, "bInterfaceNumber");
-						cur_dev->interface_number = (str)? strtol(str, NULL, 16): -1;
-					}
-
-					break;
-
-				case BUS_BLUETOOTH:
-					/* Manufacturer and Product strings */
-					cur_dev->manufacturer_string = wcsdup(L"");
-					cur_dev->product_string = utf8_to_wchar_t(product_name_utf8);
-
-					break;
-
-				default:
-					/* Unknown device type - this should never happen, as we
-					 * check for USB and Bluetooth devices above */
-					break;
-			}
-		}
-
-	next:
-		free(serial_number_utf8);
-		free(product_name_utf8);
-		udev_device_unref(raw_dev);
-		/* hid_dev, usb_dev and intf_dev don't need to be (and can't be)
-		   unref()d.  It will cause a double-free() error.  I'm not
-		   sure why.  */
-	}
-	/* Free the enumerator and udev objects. */
-	udev_enumerate_unref(enumerate);
-	udev_unref(udev);
-	
-	return root;
-}
-
-void  HID_API_EXPORT hid_free_enumeration(struct hid_device_info *devs)
-{
-	struct hid_device_info *d = devs;
-	while (d) {
-		struct hid_device_info *next = d->next;
-		free(d->path);
-		free(d->serial_number);
-		free(d->manufacturer_string);
-		free(d->product_string);
-		free(d);
-		d = next;
-	}
-}
-
-hid_device * hid_open(unsigned short vendor_id, unsigned short product_id, const wchar_t *serial_number)
-{
-	struct hid_device_info *devs, *cur_dev;
-	const char *path_to_open = NULL;
-	hid_device *handle = NULL;
-	
-	devs = hid_enumerate(vendor_id, product_id);
-	cur_dev = devs;
-	while (cur_dev) {
-		if (cur_dev->vendor_id == vendor_id &&
-		    cur_dev->product_id == product_id) {
-			if (serial_number) {
-				if (wcscmp(serial_number, cur_dev->serial_number) == 0) {
-					path_to_open = cur_dev->path;
-					break;
-				}
-			}
-			else {
-				path_to_open = cur_dev->path;
-				break;
-			}
-		}
-		cur_dev = cur_dev->next;
-	}
-
-	if (path_to_open) {
-		/* Open the device */
-		handle = hid_open_path(path_to_open);
-	}
-
-	hid_free_enumeration(devs);
-	
-	return handle;
-}
-
-hid_device * HID_API_EXPORT hid_open_path(const char *path)
-{
-	hid_device *dev = NULL;
-
-	hid_init();
-
-	dev = new_hid_device();
-
-	if (kernel_version == 0) {
-		struct utsname name;
-		int major, minor, release;
-		int ret;
-		uname(&name);
-		ret = sscanf(name.release, "%d.%d.%d", &major, &minor, &release);
-		if (ret == 3) {
-			kernel_version = major << 16 | minor << 8 | release;
-			//printf("Kernel Version: %d\n", kernel_version);
-		}
-		else {
-			printf("Couldn't sscanf() version string %s\n", name.release);
-		}
-	}
-
-	// OPEN HERE //
-	dev->device_handle = open(path, O_RDWR);
-
-	// If we have a good handle, return it.
-	if (dev->device_handle > 0) {
-
-		/* Get the report descriptor */
-		int res, desc_size = 0;
-		struct hidraw_report_descriptor rpt_desc;
-
-		memset(&rpt_desc, 0x0, sizeof(rpt_desc));
-
-		/* Get Report Descriptor Size */
-		res = ioctl(dev->device_handle, HIDIOCGRDESCSIZE, &desc_size);
-		if (res < 0)
-			perror("HIDIOCGRDESCSIZE");
-
-
-		/* Get Report Descriptor */
-		rpt_desc.size = desc_size;
-		res = ioctl(dev->device_handle, HIDIOCGRDESC, &rpt_desc);
-		if (res < 0) {
-			perror("HIDIOCGRDESC");
-		} else {
-			/* Determine if this device uses numbered reports. */
-			dev->uses_numbered_reports =
-				uses_numbered_reports(rpt_desc.value,
-				                      rpt_desc.size);
-		}
-		
-		return dev;
-	}
-	else {
-		// Unable to open any devices.
-		free(dev);
-		return NULL;
-	}
-}
-
-
-int HID_API_EXPORT hid_write(hid_device *dev, const unsigned char *data, size_t length)
-{
-	int bytes_written;
-
-	bytes_written = write(dev->device_handle, data, length);
-
-	return bytes_written;
-}
-
-
-int HID_API_EXPORT hid_read_timeout(hid_device *dev, unsigned char *data, size_t length, int milliseconds)
-{
-	int bytes_read;
-
-	if (milliseconds != 0) {
-		/* milliseconds is -1 or > 0. In both cases, we want to
-		   call poll() and wait for data to arrive. -1 means
-		   INFINITE. */
-		int ret;
-		struct pollfd fds;
-
-		fds.fd = dev->device_handle;
-		fds.events = POLLIN;
-		fds.revents = 0;
-		ret = poll(&fds, 1, milliseconds);
-		if (ret == -1 || ret == 0)
-			/* Error or timeout */
-			return ret;
-	}
-
-	bytes_read = read(dev->device_handle, data, length);
-	if (bytes_read < 0 && errno == EAGAIN)
-		bytes_read = 0;
-	
-	if (bytes_read >= 0 &&
-	    kernel_version < KERNEL_VERSION(2,6,34) &&
-	    dev->uses_numbered_reports) {
-		/* Work around a kernel bug. Chop off the first byte. */
-		memmove(data, data+1, bytes_read);
-		bytes_read--;
-	}
-
-	return bytes_read;
-}
-
-int HID_API_EXPORT hid_read(hid_device *dev, unsigned char *data, size_t length)
-{
-	return hid_read_timeout(dev, data, length, (dev->blocking)? -1: 0);
-}
-
-int HID_API_EXPORT hid_set_nonblocking(hid_device *dev, int nonblock)
-{
-	int flags, res;
-
-	flags = fcntl(dev->device_handle, F_GETFL, 0);
-	if (flags >= 0) {
-		if (nonblock)
-			res = fcntl(dev->device_handle, F_SETFL, flags | O_NONBLOCK);
-		else
-			res = fcntl(dev->device_handle, F_SETFL, flags & ~O_NONBLOCK);
-	}
-	else
-		return -1;
-
-	if (res < 0) {
-		return -1;
-	}
-	else {
-		dev->blocking = !nonblock;
-		return 0; /* Success */
-	}
-}
-
-
-int HID_API_EXPORT hid_send_feature_report(hid_device *dev, const unsigned char *data, size_t length)
-{
-	int res;
-
-	res = ioctl(dev->device_handle, HIDIOCSFEATURE(length), data);
-	if (res < 0)
-		perror("ioctl (SFEATURE)");
-
-	return res;
-}
-
-int HID_API_EXPORT hid_get_feature_report(hid_device *dev, unsigned char *data, size_t length)
-{
-	int res;
-
-	res = ioctl(dev->device_handle, HIDIOCGFEATURE(length), data);
-	if (res < 0)
-		perror("ioctl (GFEATURE)");
-
-
-	return res;
-}
-
-
-void HID_API_EXPORT hid_close(hid_device *dev)
-{
-	if (!dev)
-		return;
-	close(dev->device_handle);
-	free(dev);
-}
-
-
-int HID_API_EXPORT_CALL hid_get_manufacturer_string(hid_device *dev, wchar_t *string, size_t maxlen)
-{
-	return get_device_string(dev, DEVICE_STRING_MANUFACTURER, string, maxlen);
-}
-
-int HID_API_EXPORT_CALL hid_get_product_string(hid_device *dev, wchar_t *string, size_t maxlen)
-{
-	return get_device_string(dev, DEVICE_STRING_PRODUCT, string, maxlen);
-}
-
-int HID_API_EXPORT_CALL hid_get_serial_number_string(hid_device *dev, wchar_t *string, size_t maxlen)
-{
-	return get_device_string(dev, DEVICE_STRING_SERIAL, string, maxlen);
-}
-
-int HID_API_EXPORT_CALL hid_get_indexed_string(hid_device *dev, int string_index, wchar_t *string, size_t maxlen)
-{
-	return -1;
-}
-
-
-HID_API_EXPORT const wchar_t * HID_API_CALL  hid_error(hid_device *dev)
-{
-	return NULL;
-}
diff --git a/target-platform/com.codeminders.hidapi/src/mac/Makefile b/target-platform/com.codeminders.hidapi/src/mac/Makefile
deleted file mode 100755
index c24e9bb..0000000
--- a/target-platform/com.codeminders.hidapi/src/mac/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-###########################################
-# Simple Makefile for HIDAPI test program
-#
-# Alan Ott
-# Signal 11 Software
-# 2010-07-03
-###########################################
-
-#ARCHFLAGS=-m32
-
-JNIOBJS=HIDManager.o HIDDeviceInfo.o HIDDevice.o hid-java.o
-JNIINCLUDES=-I.. -I../jni-impl -I/System/Library/Frameworks/JavaVM.framework/Headers 
-JNILIBS=-l iconv
-JNISHAREDLIB=libhidapi-jni.jnilib
-JNISHAREDLIBVER=1.0
-
-CC=gcc
-CXX=g++
-COBJS=hid.o
-CPPOBJS=../hidtest/hidtest.o
-#OBJS=$(COBJS) $(CPPOBJS) $(JNIOBJS)
-OBJS=$(COBJS) $(JNIOBJS)
-CFLAGS+=$(ARCHFLAGS) -I../hidapi -g -c $(JNIINCLUDES)
-LIBS=-framework IOKit -framework CoreFoundation $(JNILIBS)
-
-#all: hidtest $(JNISHAREDLIB)
-all: $(JNISHAREDLIB)
-
-$(JNISHAREDLIB): $(OBJS)
-	$(CXX) $(ARCHFLAGS) -dynamiclib -current_version $(JNISHAREDLIBVER) $(COBJS) $(JNIOBJS) $(LIBS) -o $(JNISHAREDLIB)
-
-#hidtest: $(OBJS)
-#	$(CXX) $(ARCHFLAGS) -g $^ $(LIBS) -o hidtest
-
-%.o: ../jni-impl/%.cpp
-	$(CXX) $(CFLAGS) $< -o $@
-
-$(COBJS): %.o: %.c
-	$(CC) $(CFLAGS) $< -o $@
-
-$(CPPOBJS): %.o: %.cpp
-	$(CXX) $(CFLAGS) $< -o $@
-
-clean:
-	rm -f *.o hidtest $(CPPOBJS) $(JNISHAREDLIB)
-
-.PHONY: clean
diff --git a/target-platform/com.codeminders.hidapi/src/mac/hid.c b/target-platform/com.codeminders.hidapi/src/mac/hid.c
deleted file mode 100755
index 3a6200f..0000000
--- a/target-platform/com.codeminders.hidapi/src/mac/hid.c
+++ /dev/null
@@ -1,1152 +0,0 @@
-/*******************************************************
- HIDAPI - Multi-Platform library for
- communication with HID devices.
- 
- Alan Ott
- Signal 11 Software
-
- 2010-07-03
-
- Copyright 2010, All Rights Reserved.
- 
- At the discretion of the user of this library,
- this software may be licensed under the terms of the
- GNU Public License v3, a BSD-Style license, or the
- original HIDAPI license as outlined in the LICENSE.txt,
- LICENSE-gpl3.txt, LICENSE-bsd.txt, and LICENSE-orig.txt
- files located at the root of the source distribution.
- These files may also be found in the public source
- code repository located at:
-        http://github.com/signal11/hidapi .
-********************************************************/
-
-/* See Apple Technical Note TN2187 for details on IOHidManager. */
-
-#include <IOKit/hid/IOHIDManager.h>
-#include <IOKit/hid/IOHIDKeys.h>
-#include <CoreFoundation/CoreFoundation.h>
-#include <wchar.h>
-#include <locale.h>
-#include <pthread.h>
-#include <sys/time.h>
-#include <unistd.h>
-
-#include "hidapi.h"
-
-/* Barrier implementation because Mac OSX doesn't have pthread_barrier.
-   It also doesn't have clock_gettime(). So much for POSIX and SUSv2.
-   This implementation came from Brent Priddy and was posted on
-   StackOverflow. It is used with his permission. */
-typedef int pthread_barrierattr_t;
-typedef struct pthread_barrier {
-    pthread_mutex_t mutex;
-    pthread_cond_t cond;
-    int count;
-    int trip_count;
-} pthread_barrier_t;
-
-static int pthread_barrier_init(pthread_barrier_t *barrier, const pthread_barrierattr_t *attr, unsigned int count)
-{
-	if(count == 0) {
-		errno = EINVAL;
-		return -1;
-	}
-	
-	if(pthread_mutex_init(&barrier->mutex, 0) < 0) {
-		return -1;
-	}
-	if(pthread_cond_init(&barrier->cond, 0) < 0) {
-		pthread_mutex_destroy(&barrier->mutex);
-		return -1;
-	}
-	barrier->trip_count = count;
-	barrier->count = 0;
-
-	return 0;
-}
-
-static int pthread_barrier_destroy(pthread_barrier_t *barrier)
-{
-	pthread_cond_destroy(&barrier->cond);
-	pthread_mutex_destroy(&barrier->mutex);
-	return 0;
-}
-
-static int pthread_barrier_wait(pthread_barrier_t *barrier)
-{
-	pthread_mutex_lock(&barrier->mutex);
-	++(barrier->count);
-	if(barrier->count >= barrier->trip_count)
-	{
-		barrier->count = 0;
-		pthread_cond_broadcast(&barrier->cond);
-		pthread_mutex_unlock(&barrier->mutex);
-		return 1;
-	}
-	else
-	{
-		pthread_cond_wait(&barrier->cond, &(barrier->mutex));
-		pthread_mutex_unlock(&barrier->mutex);
-		return 0;
-	}
-}
-
-static int return_data(hid_device *dev, unsigned char *data, size_t length);
-
-/* Linked List of input reports received from the device. */
-struct input_report {
-	uint8_t *data;
-	size_t len;
-	struct input_report *next;
-};
-
-struct hid_device_ {
-	IOHIDDeviceRef device_handle;
-	int blocking;
-	int uses_numbered_reports;
-	int disconnected;
-	CFStringRef run_loop_mode;
-	CFRunLoopRef run_loop;
-	CFRunLoopSourceRef source;
-	uint8_t *input_report_buf;
-	CFIndex max_input_report_len;
-	struct input_report *input_reports;
-
-	pthread_t thread;
-	pthread_mutex_t mutex; /* Protects input_reports */
-	pthread_cond_t condition;
-	pthread_barrier_t barrier; /* Ensures correct startup sequence */
-	pthread_barrier_t shutdown_barrier; /* Ensures correct shutdown sequence */
-	int shutdown_thread;
-	
-	hid_device *next;
-};
-
-/* Static list of all the devices open. This way when a device gets
-   disconnected, its hid_device structure can be marked as disconnected
-   from hid_device_removal_callback(). */
-static hid_device *device_list = NULL;
-static pthread_mutex_t device_list_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-static hid_device *new_hid_device(void)
-{
-	hid_device *dev = calloc(1, sizeof(hid_device));
-	dev->device_handle = NULL;
-	dev->blocking = 1;
-	dev->uses_numbered_reports = 0;
-	dev->disconnected = 0;
-	dev->run_loop_mode = NULL;
-	dev->run_loop = NULL;
-	dev->source = NULL;
-	dev->input_report_buf = NULL;
-	dev->input_reports = NULL;
-	dev->shutdown_thread = 0;
-	dev->next = NULL;
-
-	/* Thread objects */
-	pthread_mutex_init(&dev->mutex, NULL);
-	pthread_cond_init(&dev->condition, NULL);
-	pthread_barrier_init(&dev->barrier, NULL, 2);
-	pthread_barrier_init(&dev->shutdown_barrier, NULL, 2);
-	
-	/* Add the new record to the device_list. */
-	pthread_mutex_lock(&device_list_mutex);
-	if (!device_list)
-		device_list = dev;
-	else {
-		hid_device *d = device_list;
-		while (d) {
-			if (!d->next) {
-				d->next = dev;
-				break;
-			}
-			d = d->next;
-		}
-	}
-	pthread_mutex_unlock(&device_list_mutex);
-	
-	return dev;
-}
-
-static void free_hid_device(hid_device *dev)
-{
-	if (!dev)
-		return;
-	
-	/* Delete any input reports still left over. */
-	struct input_report *rpt = dev->input_reports;
-	while (rpt) {
-		struct input_report *next = rpt->next;
-		free(rpt->data);
-		free(rpt);
-		rpt = next;
-	}
-
-	/* Free the string and the report buffer. The check for NULL
-	   is necessary here as CFRelease() doesn't handle NULL like
-	   free() and others do. */
-	if (dev->run_loop_mode)
-		CFRelease(dev->run_loop_mode);
-	if (dev->source)
-		CFRelease(dev->source);
-	free(dev->input_report_buf);
-
-	/* Clean up the thread objects */
-	pthread_barrier_destroy(&dev->shutdown_barrier);
-	pthread_barrier_destroy(&dev->barrier);
-	pthread_cond_destroy(&dev->condition);
-	pthread_mutex_destroy(&dev->mutex);
-
-	/* Remove it from the device list. */
-	pthread_mutex_lock(&device_list_mutex);
-	hid_device *d = device_list;
-	if (d == dev) {
-		device_list = d->next;
-	}
-	else {
-		while (d) {
-			if (d->next == dev) {
-				d->next = d->next->next;
-				break;
-			}
-			
-			d = d->next;
-		}
-	}
-	pthread_mutex_unlock(&device_list_mutex);
-
-	/* Free the structure itself. */
-	free(dev);
-}
-
-static 	IOHIDManagerRef hid_mgr = 0x0;
-
-
-#if 0
-static void register_error(hid_device *device, const char *op)
-{
-
-}
-#endif
-
-
-static int32_t get_int_property(IOHIDDeviceRef device, CFStringRef key)
-{
-	CFTypeRef ref;
-	int32_t value;
-	
-	ref = IOHIDDeviceGetProperty(device, key);
-	if (ref) {
-		if (CFGetTypeID(ref) == CFNumberGetTypeID()) {
-			CFNumberGetValue((CFNumberRef) ref, kCFNumberSInt32Type, &value);
-			return value;
-		}
-	}
-	return 0;
-}
-
-static unsigned short get_vendor_id(IOHIDDeviceRef device)
-{
-	return get_int_property(device, CFSTR(kIOHIDVendorIDKey));
-}
-
-static unsigned short get_product_id(IOHIDDeviceRef device)
-{
-	return get_int_property(device, CFSTR(kIOHIDProductIDKey));
-}
-
-
-static int32_t get_max_report_length(IOHIDDeviceRef device)
-{
-	return get_int_property(device, CFSTR(kIOHIDMaxInputReportSizeKey));
-}
-
-static int get_string_property(IOHIDDeviceRef device, CFStringRef prop, wchar_t *buf, size_t len)
-{
-	CFStringRef str;
-	
-	if (!len)
-		return 0;
-
-	str = IOHIDDeviceGetProperty(device, prop);
-
-	buf[0] = 0;
-
-	if (str) {
-		len --;
-
-		CFIndex str_len = CFStringGetLength(str);
-		CFRange range;
-		range.location = 0;
-		range.length = (str_len > len)? len: str_len;
-		CFIndex used_buf_len;
-		CFIndex chars_copied;
-		chars_copied = CFStringGetBytes(str,
-			range,
-			kCFStringEncodingUTF32LE,
-			(char)'?',
-			FALSE,
-			(UInt8*)buf,
-			len,
-			&used_buf_len);
-
-		buf[chars_copied] = 0;
-		return 0;
-	}
-	else
-		return -1;
-		
-}
-
-static int get_string_property_utf8(IOHIDDeviceRef device, CFStringRef prop, char *buf, size_t len)
-{
-	CFStringRef str;
-	if (!len)
-		return 0;
-
-	str = IOHIDDeviceGetProperty(device, prop);
-
-	buf[0] = 0;
-
-	if (str) {
-		len--;
-
-		CFIndex str_len = CFStringGetLength(str);
-		CFRange range;
-		range.location = 0;
-		range.length = (str_len > len)? len: str_len;
-		CFIndex used_buf_len;
-		CFIndex chars_copied;
-		chars_copied = CFStringGetBytes(str,
-			range,
-			kCFStringEncodingUTF8,
-			(char)'?',
-			FALSE,
-			(UInt8*)buf,
-			len,
-			&used_buf_len);
-
-		buf[chars_copied] = 0;
-		return used_buf_len;
-	}
-	else
-		return 0;
-}
-
-
-static int get_serial_number(IOHIDDeviceRef device, wchar_t *buf, size_t len)
-{
-	return get_string_property(device, CFSTR(kIOHIDSerialNumberKey), buf, len);
-}
-
-static int get_manufacturer_string(IOHIDDeviceRef device, wchar_t *buf, size_t len)
-{
-	return get_string_property(device, CFSTR(kIOHIDManufacturerKey), buf, len);
-}
-
-static int get_product_string(IOHIDDeviceRef device, wchar_t *buf, size_t len)
-{
-	return get_string_property(device, CFSTR(kIOHIDProductKey), buf, len);
-}
-
-
-/* Implementation of wcsdup() for Mac. */
-static wchar_t *dup_wcs(const wchar_t *s)
-{
-	size_t len = wcslen(s);
-	wchar_t *ret = malloc((len+1)*sizeof(wchar_t));
-	wcscpy(ret, s);
-
-	return ret;
-}
-
-
-static int make_path(IOHIDDeviceRef device, char *buf, size_t len)
-{
-	int res;
-	unsigned short vid, pid;
-	char transport[32];
-
-	buf[0] = '\0';
-
-	res = get_string_property_utf8(
-		device, CFSTR(kIOHIDTransportKey),
-		transport, sizeof(transport));
-	
-	if (!res)
-		return -1;
-
-	vid = get_vendor_id(device);
-	pid = get_product_id(device);
-
-	res = snprintf(buf, len, "%s_%04hx_%04hx_%p",
-	                   transport, vid, pid, device);
-	
-	
-	buf[len-1] = '\0';
-	return res+1;
-}
-
-/* Initialize the IOHIDManager. Return 0 for success and -1 for failure. */
-static int init_hid_manager(void)
-{
-	IOReturn res;
-	
-	/* Initialize all the HID Manager Objects */
-	hid_mgr = IOHIDManagerCreate(kCFAllocatorDefault, kIOHIDOptionsTypeNone);
-	if (hid_mgr) {
-		IOHIDManagerSetDeviceMatching(hid_mgr, NULL);
-		IOHIDManagerScheduleWithRunLoop(hid_mgr, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
-		return 0;
-	}
-	
-	return -1;
-}
-
-/* Initialize the IOHIDManager if necessary. This is the public function, and
-   it is safe to call this function repeatedly. Return 0 for success and -1
-   for failure. */
-int HID_API_EXPORT hid_init(void)
-{
-	if (!hid_mgr) {
-		return init_hid_manager();
-	}
-
-	/* Already initialized. */
-	return 0;
-}
-
-int HID_API_EXPORT hid_exit(void)
-{
-	if (hid_mgr) {
-		/* Close the HID manager. */
-		IOHIDManagerClose(hid_mgr, kIOHIDOptionsTypeNone);
-		CFRelease(hid_mgr);
-		hid_mgr = NULL;
-	}
-		
-	return 0;
-}
-
-static void process_pending_events() {
-	SInt32 res;
-	do {
-		res = CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.001, FALSE);
-	} while(res != kCFRunLoopRunFinished && res != kCFRunLoopRunTimedOut);
-}
-
-struct hid_device_info  HID_API_EXPORT *hid_enumerate(unsigned short vendor_id, unsigned short product_id)
-{
-	struct hid_device_info *root = NULL; // return object
-	struct hid_device_info *cur_dev = NULL;
-	CFIndex num_devices;
-	int i;
-	
-	/* Set up the HID Manager if it hasn't been done */
-	if (hid_init() < 0)
-		return NULL;
-	
-	/* give the IOHIDManager a chance to update itself */
-	process_pending_events();
-
-	/* Get a list of the Devices */
-	CFSetRef device_set = IOHIDManagerCopyDevices(hid_mgr);
-
-	/* Convert the list into a C array so we can iterate easily. */	
-	num_devices = CFSetGetCount(device_set);
-	IOHIDDeviceRef *device_array = calloc(num_devices, sizeof(IOHIDDeviceRef));
-	CFSetGetValues(device_set, (const void **) device_array);
-
-	/* Iterate over each device, making an entry for it. */	
-	for (i = 0; i < num_devices; i++) {
-		unsigned short dev_vid;
-		unsigned short dev_pid;
-		#define BUF_LEN 256
-		wchar_t buf[BUF_LEN];
-		char cbuf[BUF_LEN];
-
-		IOHIDDeviceRef dev = device_array[i];
-
-        if (!dev) {
-            continue;
-        }
-		dev_vid = get_vendor_id(dev);
-		dev_pid = get_product_id(dev);
-
-		/* Check the VID/PID against the arguments */
-		if ((vendor_id == 0x0 && product_id == 0x0) ||
-		    (vendor_id == dev_vid && product_id == dev_pid)) {
-			struct hid_device_info *tmp;
-			size_t len;
-
-		    	/* VID/PID match. Create the record. */
-			tmp = malloc(sizeof(struct hid_device_info));
-			if (cur_dev) {
-				cur_dev->next = tmp;
-			}
-			else {
-				root = tmp;
-			}
-			cur_dev = tmp;
-
-			// Get the Usage Page and Usage for this device.
-			cur_dev->usage_page = get_int_property(dev, CFSTR(kIOHIDPrimaryUsagePageKey));
-			cur_dev->usage = get_int_property(dev, CFSTR(kIOHIDPrimaryUsageKey));
-
-			/* Fill out the record */
-			cur_dev->next = NULL;
-			len = make_path(dev, cbuf, sizeof(cbuf));
-			cur_dev->path = strdup(cbuf);
-
-			/* Serial Number */
-			get_serial_number(dev, buf, BUF_LEN);
-			cur_dev->serial_number = dup_wcs(buf);
-
-			/* Manufacturer and Product strings */
-			get_manufacturer_string(dev, buf, BUF_LEN);
-			cur_dev->manufacturer_string = dup_wcs(buf);
-			get_product_string(dev, buf, BUF_LEN);
-			cur_dev->product_string = dup_wcs(buf);
-			
-			/* VID/PID */
-			cur_dev->vendor_id = dev_vid;
-			cur_dev->product_id = dev_pid;
-
-			/* Release Number */
-			cur_dev->release_number = get_int_property(dev, CFSTR(kIOHIDVersionNumberKey));
-
-			/* Interface Number (Unsupported on Mac)*/
-			cur_dev->interface_number = -1;
-		}
-	}
-	
-	free(device_array);
-	CFRelease(device_set);
-	
-	return root;
-}
-
-void  HID_API_EXPORT hid_free_enumeration(struct hid_device_info *devs)
-{
-	/* This function is identical to the Linux version. Platform independent. */
-	struct hid_device_info *d = devs;
-	while (d) {
-		struct hid_device_info *next = d->next;
-		free(d->path);
-		free(d->serial_number);
-		free(d->manufacturer_string);
-		free(d->product_string);
-		free(d);
-		d = next;
-	}
-}
-
-hid_device * HID_API_EXPORT hid_open(unsigned short vendor_id, unsigned short product_id, const wchar_t *serial_number)
-{
-	/* This function is identical to the Linux version. Platform independent. */
-	struct hid_device_info *devs, *cur_dev;
-	const char *path_to_open = NULL;
-	hid_device * handle = NULL;
-	
-	devs = hid_enumerate(vendor_id, product_id);
-	cur_dev = devs;
-	while (cur_dev) {
-		if (cur_dev->vendor_id == vendor_id &&
-		    cur_dev->product_id == product_id) {
-			if (serial_number) {
-				if (wcscmp(serial_number, cur_dev->serial_number) == 0) {
-					path_to_open = cur_dev->path;
-					break;
-				}
-			}
-			else {
-				path_to_open = cur_dev->path;
-				break;
-			}
-		}
-		cur_dev = cur_dev->next;
-	}
-
-	if (path_to_open) {
-		/* Open the device */
-		handle = hid_open_path(path_to_open);
-	}
-
-	hid_free_enumeration(devs);
-	
-	return handle;
-}
-
-static void hid_device_removal_callback(void *context, IOReturn result,
-                                        void *sender, IOHIDDeviceRef dev_ref)
-{
-	/* Stop the Run Loop for this device. */
-	pthread_mutex_lock(&device_list_mutex);
-	hid_device *d = device_list;
-	while (d) {
-		if (d->device_handle == dev_ref) {
-			d->disconnected = 1;
-			CFRunLoopStop(d->run_loop);
-		}
-		
-		d = d->next;
-	}
-	pthread_mutex_unlock(&device_list_mutex);
-}
-
-/* The Run Loop calls this function for each input report received.
-   This function puts the data into a linked list to be picked up by
-   hid_read(). */
-static void hid_report_callback(void *context, IOReturn result, void *sender,
-                         IOHIDReportType report_type, uint32_t report_id,
-                         uint8_t *report, CFIndex report_length)
-{
-	struct input_report *rpt;
-	hid_device *dev = context;
-
-	/* Make a new Input Report object */
-	rpt = calloc(1, sizeof(struct input_report));
-	rpt->data = calloc(1, report_length);
-	memcpy(rpt->data, report, report_length);
-	rpt->len = report_length;
-	rpt->next = NULL;
-
-	/* Lock this section */
-	pthread_mutex_lock(&dev->mutex);
-	
-	/* Attach the new report object to the end of the list. */
-	if (dev->input_reports == NULL) {
-		/* The list is empty. Put it at the root. */
-		dev->input_reports = rpt;
-	}
-	else {
-		/* Find the end of the list and attach. */
-		struct input_report *cur = dev->input_reports;
-		int num_queued = 0;
-		while (cur->next != NULL) {
-			cur = cur->next;
-			num_queued++;
-		}
-		cur->next = rpt;
-
-		/* Pop one off if we've reached 30 in the queue. This
-		   way we don't grow forever if the user never reads
-		   anything from the device. */
-		if (num_queued > 30) {
-			return_data(dev, NULL, 0);
-		}
-	}
-
-	/* Signal a waiting thread that there is data. */
-	pthread_cond_signal(&dev->condition);
-
-	/* Unlock */
-	pthread_mutex_unlock(&dev->mutex);
-
-}
-
-/* This gets called when the read_thred's run loop gets signaled by
-   hid_close(), and serves to stop the read_thread's run loop. */
-static void perform_signal_callback(void *context)
-{
-	hid_device *dev = context;
-	CFRunLoopStop(dev->run_loop); //TODO: CFRunLoopGetCurrent()
-}
-
-static void *read_thread(void *param)
-{
-	hid_device *dev = param;
-	
-	/* Move the device's run loop to this thread. */
-	IOHIDDeviceScheduleWithRunLoop(dev->device_handle, CFRunLoopGetCurrent(), dev->run_loop_mode);
-
-	/* Create the RunLoopSource which is used to signal the
-	   event loop to stop when hid_close() is called. */
-	CFRunLoopSourceContext ctx;
-	memset(&ctx, 0, sizeof(ctx));
-	ctx.version = 0;
-	ctx.info = dev;
-	ctx.perform = &perform_signal_callback;
-	dev->source = CFRunLoopSourceCreate(kCFAllocatorDefault, 0/*order*/, &ctx);
-	CFRunLoopAddSource(CFRunLoopGetCurrent(), dev->source, dev->run_loop_mode);
-	
-	/* Store off the Run Loop so it can be stopped from hid_close()
-	   and on device disconnection. */
-	dev->run_loop = CFRunLoopGetCurrent();
-
-	/* Notify the main thread that the read thread is up and running. */
-	pthread_barrier_wait(&dev->barrier);
-
-	/* Run the Event Loop. CFRunLoopRunInMode() will dispatch HID input
-	   reports into the hid_report_callback(). */
-	SInt32 code;
-	while (!dev->shutdown_thread && !dev->disconnected) {
-		code = CFRunLoopRunInMode(dev->run_loop_mode, 1000/*sec*/, FALSE);
-		/* Return if the device has been disconnected */
-		if (code == kCFRunLoopRunFinished) {
-			dev->disconnected = 1;
-			break;
-		}
-
-
-		/* Break if The Run Loop returns Finished or Stopped. */
-		if (code != kCFRunLoopRunTimedOut &&
-		    code != kCFRunLoopRunHandledSource) {
-			/* There was some kind of error. Setting
-			   shutdown seems to make sense, but
-			   there may be something else more appropriate */
-			dev->shutdown_thread = 1;
-			break;
-		}
-	}
-
-	/* Now that the read thread is stopping, Wake any threads which are
-	   waiting on data (in hid_read_timeout()). Do this under a mutex to
-	   make sure that a thread which is about to go to sleep waiting on
-	   the condition acutally will go to sleep before the condition is
-	   signaled. */
-	pthread_mutex_lock(&dev->mutex);
-	pthread_cond_broadcast(&dev->condition);
-	pthread_mutex_unlock(&dev->mutex);
-
-	/* Wait here until hid_close() is called and makes it past
-	   the call to CFRunLoopWakeUp(). This thread still needs to
-	   be valid when that function is called on the other thread. */
-	pthread_barrier_wait(&dev->shutdown_barrier);
-
-	return NULL;
-}
-
-hid_device * HID_API_EXPORT hid_open_path(const char *path)
-{
-  	int i;
-	hid_device *dev = NULL;
-	CFIndex num_devices;
-	
-	dev = new_hid_device();
-
-	/* Set up the HID Manager if it hasn't been done */
-	if (hid_init() < 0)
-		return NULL;
-
-	/* give the IOHIDManager a chance to update itself */
-	process_pending_events();
-
-	CFSetRef device_set = IOHIDManagerCopyDevices(hid_mgr);
-	
-	num_devices = CFSetGetCount(device_set);
-	IOHIDDeviceRef *device_array = calloc(num_devices, sizeof(IOHIDDeviceRef));
-	CFSetGetValues(device_set, (const void **) device_array);	
-	for (i = 0; i < num_devices; i++) {
-		char cbuf[BUF_LEN];
-		size_t len;
-		IOHIDDeviceRef os_dev = device_array[i];
-		
-		len = make_path(os_dev, cbuf, sizeof(cbuf));
-		if (!strcmp(cbuf, path)) {
-			// Matched Paths. Open this Device.
-			IOReturn ret = IOHIDDeviceOpen(os_dev, kIOHIDOptionsTypeNone);
-			if (ret == kIOReturnSuccess) {
-				char str[32];
-
-				free(device_array);
-				CFRetain(os_dev);
-				CFRelease(device_set);
-				dev->device_handle = os_dev;
-				
-				/* Create the buffers for receiving data */
-				dev->max_input_report_len = (CFIndex) get_max_report_length(os_dev);
-				dev->input_report_buf = calloc(dev->max_input_report_len, sizeof(uint8_t));
-				
-				/* Create the Run Loop Mode for this device.
-				   printing the reference seems to work. */
-				sprintf(str, "HIDAPI_%p", os_dev);
-				dev->run_loop_mode = 
-					CFStringCreateWithCString(NULL, str, kCFStringEncodingASCII);
-				
-				/* Attach the device to a Run Loop */
-				IOHIDDeviceRegisterInputReportCallback(
-					os_dev, dev->input_report_buf, dev->max_input_report_len,
-					&hid_report_callback, dev);
-				IOHIDManagerRegisterDeviceRemovalCallback(hid_mgr, hid_device_removal_callback, NULL);
-				
-				/* Start the read thread */
-				pthread_create(&dev->thread, NULL, read_thread, dev);
-
-				/* Wait here for the read thread to be initialized. */
-				pthread_barrier_wait(&dev->barrier);
-				
-				return dev;
-			}
-			else {
-				goto return_error;
-			}
-		}
-	}
-
-return_error:
-	free(device_array);
-	CFRelease(device_set);
-	free_hid_device(dev);
-	return NULL;
-}
-
-static int set_report(hid_device *dev, IOHIDReportType type, const unsigned char *data, size_t length)
-{
-	const unsigned char *data_to_send;
-	size_t length_to_send;
-	IOReturn res;
-
-	/* Return if the device has been disconnected. */
-   	if (dev->disconnected)
-   		return -1;
-
-	if (data[0] == 0x0) {
-		/* Not using numbered Reports.
-		   Don't send the report number. */
-		data_to_send = data+1;
-		length_to_send = length-1;
-	}
-	else {
-		/* Using numbered Reports.
-		   Send the Report Number */
-		data_to_send = data;
-		length_to_send = length;
-	}
-	
-	if (!dev->disconnected) {
-		res = IOHIDDeviceSetReport(dev->device_handle,
-					   type,
-					   data[0], /* Report ID*/
-					   data_to_send, length_to_send);
-	
-		if (res == kIOReturnSuccess) {
-			return length;
-		}
-		else
-			return -1;
-	}
-	
-	return -1;
-}
-
-int HID_API_EXPORT hid_write(hid_device *dev, const unsigned char *data, size_t length)
-{
-	return set_report(dev, kIOHIDReportTypeOutput, data, length);
-}
-
-/* Helper function, so that this isn't duplicated in hid_read(). */
-static int return_data(hid_device *dev, unsigned char *data, size_t length)
-{
-	/* Copy the data out of the linked list item (rpt) into the
-	   return buffer (data), and delete the liked list item. */
-	struct input_report *rpt = dev->input_reports;
-	size_t len = (length < rpt->len)? length: rpt->len;
-	memcpy(data, rpt->data, len);
-	dev->input_reports = rpt->next;
-	free(rpt->data);
-	free(rpt);
-	return len;
-}
-
-static int cond_wait(const hid_device *dev, pthread_cond_t *cond, pthread_mutex_t *mutex)
-{
-	while (!dev->input_reports) {
-		int res = pthread_cond_wait(cond, mutex);
-		if (res != 0)
-			return res;
-
-		/* A res of 0 means we may have been signaled or it may
-		   be a spurious wakeup. Check to see that there's acutally
-		   data in the queue before returning, and if not, go back
-		   to sleep. See the pthread_cond_timedwait() man page for
-		   details. */
-		
-		if (dev->shutdown_thread || dev->disconnected)
-			return -1;
-	}
-	
-	return 0;
-}
-
-static int cond_timedwait(const hid_device *dev, pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime)
-{
-	while (!dev->input_reports) {
-		int res = pthread_cond_timedwait(cond, mutex, abstime);
-		if (res != 0)
-			return res;
-
-		/* A res of 0 means we may have been signaled or it may
-		   be a spurious wakeup. Check to see that there's acutally
-		   data in the queue before returning, and if not, go back
-		   to sleep. See the pthread_cond_timedwait() man page for
-		   details. */
-		
-		if (dev->shutdown_thread || dev->disconnected)
-			return -1;
-	}
-	
-	return 0;
-
-}
-
-int HID_API_EXPORT hid_read_timeout(hid_device *dev, unsigned char *data, size_t length, int milliseconds)
-{
-	int bytes_read = -1;
-
-	/* Lock the access to the report list. */
-	pthread_mutex_lock(&dev->mutex);
-	
-	/* There's an input report queued up. Return it. */
-	if (dev->input_reports) {
-		/* Return the first one */
-		bytes_read = return_data(dev, data, length);
-		goto ret;
-	}
-
-	/* Return if the device has been disconnected. */
-	if (dev->disconnected) {
-		bytes_read = -1;
-		goto ret;
-	}
-	
-	if (dev->shutdown_thread) {
-		/* This means the device has been closed (or there
-		   has been an error. An error code of -1 should
-		   be returned. */
-		bytes_read = -1;
-		goto ret;
-	}
-
-	/* There is no data. Go to sleep and wait for data. */
-	
-	if (milliseconds == -1) {
-		/* Blocking */
-		int res;
-		res = cond_wait(dev, &dev->condition, &dev->mutex);
-		if (res == 0)
-			bytes_read = return_data(dev, data, length);
-		else {
-			/* There was an error, or a device disconnection. */
-			bytes_read = -1;
-		}
-	}
-	else if (milliseconds > 0) {
-		/* Non-blocking, but called with timeout. */
-		int res;
-		struct timespec ts;
-		struct timeval tv;
-		gettimeofday(&tv, NULL);
-		TIMEVAL_TO_TIMESPEC(&tv, &ts);
-		ts.tv_sec += milliseconds / 1000;
-		ts.tv_nsec += (milliseconds % 1000) * 1000000;
-		if (ts.tv_nsec >= 1000000000L) {
-			ts.tv_sec++;
-			ts.tv_nsec -= 1000000000L;
-		}
-		
-		res = cond_timedwait(dev, &dev->condition, &dev->mutex, &ts);
-		if (res == 0)
-			bytes_read = return_data(dev, data, length);
-		else if (res == ETIMEDOUT)
-			bytes_read = 0;
-		else
-			bytes_read = -1;
-	}
-	else {
-		/* Purely non-blocking */
-		bytes_read = 0;
-	}
-
-ret:
-	/* Unlock */
-	pthread_mutex_unlock(&dev->mutex);
-	return bytes_read;
-}
-
-int HID_API_EXPORT hid_read(hid_device *dev, unsigned char *data, size_t length)
-{
-	return hid_read_timeout(dev, data, length, (dev->blocking)? -1: 0);
-}
-
-int HID_API_EXPORT hid_set_nonblocking(hid_device *dev, int nonblock)
-{
-	/* All Nonblocking operation is handled by the library. */
-	dev->blocking = !nonblock;
-	
-	return 0;
-}
-
-int HID_API_EXPORT hid_send_feature_report(hid_device *dev, const unsigned char *data, size_t length)
-{
-	return set_report(dev, kIOHIDReportTypeFeature, data, length);
-}
-
-int HID_API_EXPORT hid_get_feature_report(hid_device *dev, unsigned char *data, size_t length)
-{
-	CFIndex len = length;
-	IOReturn res;
-
-	/* Return if the device has been unplugged. */
-	if (dev->disconnected)
-		return -1;
-
-	res = IOHIDDeviceGetReport(dev->device_handle,
-	                           kIOHIDReportTypeFeature,
-	                           data[0], /* Report ID */
-	                           data, &len);
-	if (res == kIOReturnSuccess)
-		return len;
-	else
-		return -1;
-}
-
-
-void HID_API_EXPORT hid_close(hid_device *dev)
-{
-	if (!dev)
-		return;
-
-	/* Disconnect the report callback before close. */
-	if (!dev->disconnected) {
-		IOHIDDeviceRegisterInputReportCallback(
-			dev->device_handle, dev->input_report_buf, dev->max_input_report_len,
-			NULL, dev);
-		IOHIDManagerRegisterDeviceRemovalCallback(hid_mgr, NULL, dev);
-		IOHIDDeviceUnscheduleFromRunLoop(dev->device_handle, dev->run_loop, dev->run_loop_mode);
-		IOHIDDeviceScheduleWithRunLoop(dev->device_handle, CFRunLoopGetMain(), kCFRunLoopDefaultMode);
-	}
-	
-	/* Cause read_thread() to stop. */
-	dev->shutdown_thread = 1;
-	
-	/* Wake up the run thread's event loop so that the thread can exit. */
-	CFRunLoopSourceSignal(dev->source);
-	CFRunLoopWakeUp(dev->run_loop);
-	
-	/* Notify the read thread that it can shut down now. */
-	pthread_barrier_wait(&dev->shutdown_barrier);
-
-	/* Wait for read_thread() to end. */
-	pthread_join(dev->thread, NULL);
-
-	/* Close the OS handle to the device, but only if it's not
-	   been unplugged. If it's been unplugged, then calling
-	   IOHIDDeviceClose() will crash. */
-	if (!dev->disconnected) {
-		IOHIDDeviceClose(dev->device_handle, kIOHIDOptionsTypeNone);
-	}
-	
-	/* Clear out the queue of received reports. */
-	pthread_mutex_lock(&dev->mutex);
-	while (dev->input_reports) {
-		return_data(dev, NULL, 0);
-	}
-	pthread_mutex_unlock(&dev->mutex);
-	CFRelease(dev->device_handle);
-
-	free_hid_device(dev);
-}
-
-int HID_API_EXPORT_CALL hid_get_manufacturer_string(hid_device *dev, wchar_t *string, size_t maxlen)
-{
-	return get_manufacturer_string(dev->device_handle, string, maxlen);
-}
-
-int HID_API_EXPORT_CALL hid_get_product_string(hid_device *dev, wchar_t *string, size_t maxlen)
-{
-	return get_product_string(dev->device_handle, string, maxlen);
-}
-
-int HID_API_EXPORT_CALL hid_get_serial_number_string(hid_device *dev, wchar_t *string, size_t maxlen)
-{
-	return get_serial_number(dev->device_handle, string, maxlen);
-}
-
-int HID_API_EXPORT_CALL hid_get_indexed_string(hid_device *dev, int string_index, wchar_t *string, size_t maxlen)
-{
-	// TODO:
-
-	return 0;
-}
-
-
-HID_API_EXPORT const wchar_t * HID_API_CALL  hid_error(hid_device *dev)
-{
-	// TODO:
-
-	return NULL;
-}
-
-
-
-
-
-
-#if 0
-static int32_t get_location_id(IOHIDDeviceRef device)
-{
-	return get_int_property(device, CFSTR(kIOHIDLocationIDKey));
-}
-
-static int32_t get_usage(IOHIDDeviceRef device)
-{
-	int32_t res;
-	res = get_int_property(device, CFSTR(kIOHIDDeviceUsageKey));
-	if (!res)
-		res = get_int_property(device, CFSTR(kIOHIDPrimaryUsageKey));
-	return res;
-}
-
-static int32_t get_usage_page(IOHIDDeviceRef device)
-{
-	int32_t res;
-	res = get_int_property(device, CFSTR(kIOHIDDeviceUsagePageKey));
-	if (!res)
-		res = get_int_property(device, CFSTR(kIOHIDPrimaryUsagePageKey));
-	return res;
-}
-
-static int get_transport(IOHIDDeviceRef device, wchar_t *buf, size_t len)
-{
-	return get_string_property(device, CFSTR(kIOHIDTransportKey), buf, len);
-}
-
-
-int main(void)
-{
-	IOHIDManagerRef mgr;
-	int i;
-	
-	mgr = IOHIDManagerCreate(kCFAllocatorDefault, kIOHIDOptionsTypeNone);
-	IOHIDManagerSetDeviceMatching(mgr, NULL);
-	IOHIDManagerOpen(mgr, kIOHIDOptionsTypeNone);
-	
-	CFSetRef device_set = IOHIDManagerCopyDevices(mgr);
-	
-	CFIndex num_devices = CFSetGetCount(device_set);
-	IOHIDDeviceRef *device_array = calloc(num_devices, sizeof(IOHIDDeviceRef));
-	CFSetGetValues(device_set, (const void **) device_array);
-	
-	for (i = 0; i < num_devices; i++) {
-		IOHIDDeviceRef dev = device_array[i];
-		printf("Device: %p\n", dev);
-		printf("  %04hx %04hx\n", get_vendor_id(dev), get_product_id(dev));
-
-		wchar_t serial[256], buf[256];
-		char cbuf[256];
-		get_serial_number(dev, serial, 256);
-
-		
-		printf("  Serial: %ls\n", serial);
-		printf("  Loc: %ld\n", get_location_id(dev));
-		get_transport(dev, buf, 256);
-		printf("  Trans: %ls\n", buf);
-		make_path(dev, cbuf, 256);
-		printf("  Path: %s\n", cbuf);
-		
-	}
-	
-	return 0;
-}
-#endif
diff --git a/target-platform/javax.usb.api/about.html b/target-platform/javax.usb.api/about.html
deleted file mode 100644
index 654e9e3..0000000
--- a/target-platform/javax.usb.api/about.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>April 4, 2014</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html";>http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/";>http://www.eclipse.org</a>.</p>
-
-		
-		<h3>Third Party Content</h3>
-		<p>The Content includes items that have been sourced from third parties as set out below. If you 
-		did not receive this Content directly from the Eclipse Foundation, the following is provided 
-		for informational purposes only, and you should look to the Redistributor's license for 
-		terms and conditions of use.</p>
-		<p><em>
-		<strong>javax.usb.api-1.0.2.jar</strong> <br/><br/>
-		Common Public License 1.0
-		</em></p>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/target-platform/javax.usb.api/about_files/cpl-v10.html b/target-platform/javax.usb.api/about_files/cpl-v10.html
deleted file mode 100644
index 186fbc8..0000000
--- a/target-platform/javax.usb.api/about_files/cpl-v10.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-
-<P><FONT SIZE="2"><B>Updated 16 Apr 2009</B></FONT>
-
-<P><FONT SIZE="2"><B>As of 25 Feb 2009, IBM has assigned the Agreement Steward role for the CPL to the Eclipse Foundation. 
-Eclipse has designated the Eclipse Public License (EPL) as the follow-on version of the CPL.</B></FONT>
-
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/target-platform/javax.usb.api/build.properties b/target-platform/javax.usb.api/build.properties
deleted file mode 100644
index 5d90481..0000000
--- a/target-platform/javax.usb.api/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/main/java/,src/main/resources/
-output.. = target/classes/
-bin.includes = META-INF/,\
-               .,\
-               src/main/lib/
diff --git a/target-platform/javax.usb.api/pom.xml b/target-platform/javax.usb.api/pom.xml
deleted file mode 100644
index 77650d5..0000000
--- a/target-platform/javax.usb.api/pom.xml
+++ /dev/null
@@ -1,168 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>target-platform</artifactId>
-    <version>0.2.0-SNAPSHOT</version>
-  </parent>
-
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>javax.usb.api</artifactId>
-    <version>1.0.2</version>
-    <packaging>bundle</packaging>
-
-    <name>javax.usb API from javax-usb</name>
-    <description>javax.usb API from javax-usb</description>
-
-    <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>javax.usb</groupId>
-            <artifactId>javax.usb.api</artifactId>
-            <version>1.0.2</version>
-            <scope>system</scope>
-            <systemPath>${basedir}/src/lib/javax.usb.api-1.0.2.jar</systemPath>
-        </dependency>
-
-        <!-- Test -->
-<!--
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.8.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock-legacy</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock-junit4</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
--->
-    </dependencies>
-
-
-    <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-      </resource>
-      <resource>
-        <directory>.</directory>
-        <includes>
-          <include>plugin.xml</include>
-        </includes>
-      </resource>
-      <resource>
-        <directory>src/dependency</directory>
-      </resource>
-    </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.7.2</version>
-                <configuration>
-                    <systemPropertyVariables>
-                        <java.library.path>${project.basedir}/src/main/lib</java.library.path>
-                    </systemPropertyVariables>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.5</version>
-                <extensions>true</extensions>
-                <configuration>
-		    <manifestLocation>META-INF</manifestLocation>
-                    <instructions>
-                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                        <Bundle-Name>${project.name}</Bundle-Name>
-                        <Bundle-Version>${project.version}</Bundle-Version>
-                        <Embed-Dependency>
-                            javax.usb.api;groupId=javax.usb;artifactId=javax.usb.api;version=1.0.2;scope=runtime
-                        </Embed-Dependency>
-                        <Include-Resource>
-                            ${project.basedir}/src/main,
-                            ${project.basedir}/about.html,
-                            about_files=${project.basedir}/about_files/
-                        </Include-Resource>
-                        <Export-Package>
-                            javax.usb.*;version="1.0.2"
-                        </Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            
-	    <plugin>
-        	<artifactId>maven-dependency-plugin</artifactId>
-        	<executions>
-        	  <execution>
-        	    <id>copy-dependencies</id>
-        	    <phase>package</phase>
-        	    <goals>
-        	      <goal>copy-dependencies</goal>
-        	    </goals>
-        	  </execution>
-        	</executions>
-	   </plugin>
-	   
-        </plugins>
-        <pluginManagement>
-        	<plugins>
-        		<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
-        		<plugin>
-        			<groupId>org.eclipse.m2e</groupId>
-        			<artifactId>lifecycle-mapping</artifactId>
-        			<version>1.0.0</version>
-        			<configuration>
-        				<lifecycleMappingMetadata>
-        					<pluginExecutions>
-        						<pluginExecution>
-        							<pluginExecutionFilter>
-        								<groupId>
-        									org.apache.maven.plugins
-        								</groupId>
-        								<artifactId>
-        									maven-dependency-plugin
-        								</artifactId>
-        								<versionRange>
-        									[2.1,)
-        								</versionRange>
-        								<goals>
-        									<goal>
-        										copy-dependencies
-        									</goal>
-        								</goals>
-        							</pluginExecutionFilter>
-        							<action>
-        								<ignore></ignore>
-        							</action>
-        						</pluginExecution>
-        					</pluginExecutions>
-        				</lifecycleMappingMetadata>
-        			</configuration>
-        		</plugin>
-        	</plugins>
-        </pluginManagement>
-    </build>
-</project>
diff --git a/target-platform/javax.usb.api/src/lib/javax.usb.api-1.0.2.jar b/target-platform/javax.usb.api/src/lib/javax.usb.api-1.0.2.jar
deleted file mode 100644
index bc0a56f..0000000
--- a/target-platform/javax.usb.api/src/lib/javax.usb.api-1.0.2.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/javax.usb.api/src/main/resources/touch.txt b/target-platform/javax.usb.api/src/main/resources/touch.txt
deleted file mode 100644
index e69de29..0000000
--- a/target-platform/javax.usb.api/src/main/resources/touch.txt
+++ /dev/null
diff --git a/target-platform/javax.usb.common/about.html b/target-platform/javax.usb.common/about.html
deleted file mode 100644
index 7b3944b..0000000
--- a/target-platform/javax.usb.common/about.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>April 4, 2014</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html";>http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/";>http://www.eclipse.org</a>.</p>
-
-		
-		<h3>Third Party Content</h3>
-		<p>The Content includes items that have been sourced from third parties as set out below. If you 
-		did not receive this Content directly from the Eclipse Foundation, the following is provided 
-		for informational purposes only, and you should look to the Redistributor's license for 
-		terms and conditions of use.</p>
-		<p><em>
-		<strong>javax.usb.common-1.0.2.jar</strong> <br/><br/>
-		Common Public License 1.0
-		</em></p>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/target-platform/javax.usb.common/about_files/cpl-v10.html b/target-platform/javax.usb.common/about_files/cpl-v10.html
deleted file mode 100644
index 186fbc8..0000000
--- a/target-platform/javax.usb.common/about_files/cpl-v10.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-
-<P><FONT SIZE="2"><B>Updated 16 Apr 2009</B></FONT>
-
-<P><FONT SIZE="2"><B>As of 25 Feb 2009, IBM has assigned the Agreement Steward role for the CPL to the Eclipse Foundation. 
-Eclipse has designated the Eclipse Public License (EPL) as the follow-on version of the CPL.</B></FONT>
-
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/target-platform/javax.usb.common/build.properties b/target-platform/javax.usb.common/build.properties
deleted file mode 100644
index 5d90481..0000000
--- a/target-platform/javax.usb.common/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/main/java/,src/main/resources/
-output.. = target/classes/
-bin.includes = META-INF/,\
-               .,\
-               src/main/lib/
diff --git a/target-platform/javax.usb.common/pom.xml b/target-platform/javax.usb.common/pom.xml
deleted file mode 100644
index f5599a3..0000000
--- a/target-platform/javax.usb.common/pom.xml
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>target-platform</artifactId>
-    <version>0.2.0-SNAPSHOT</version>
-  </parent>
-
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>javax.usb.common</artifactId>
-    <version>1.0.2</version>
-    <packaging>bundle</packaging>
-
-    <name>javax.usb Common from javax-usb</name>
-    <description>javax.usb Common from javax-usb</description>
-
-
-    <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>javax.usb</groupId>
-            <artifactId>javax.usb.common</artifactId>
-            <version>1.0.2</version>
-            <scope>system</scope>
-            <systemPath>${basedir}/src/lib/javax.usb.common-1.0.2.jar</systemPath>
-        </dependency>
-
-        <!-- Test -->
-<!--
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.8.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock-legacy</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock-junit4</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
--->
-    </dependencies>
-
-
-    <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-      </resource>
-      <resource>
-        <directory>.</directory>
-        <includes>
-          <include>plugin.xml</include>
-        </includes>
-      </resource>
-    </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.7.2</version>
-                <configuration>
-                    <systemPropertyVariables>
-                        <java.library.path>${project.basedir}/src/main/lib</java.library.path>
-                    </systemPropertyVariables>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.5</version>
-                <extensions>true</extensions>
-                <configuration>
-		    <manifestLocation>META-INF</manifestLocation>
-                    <instructions>
-                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                        <Bundle-Name>${project.name}</Bundle-Name>
-                        <Bundle-Version>${project.version}</Bundle-Version>
-                        <Embed-Dependency>
-                            javax.usb.common;groupId=javax.usb;artifactId=javax.usb.common;version=1.0.2;scope=runtime
-                        </Embed-Dependency>
-                        <Include-Resource>
-                            ${project.basedir}/src/main,
-                            ${project.basedir}/about.html,
-                            about_files=${project.basedir}/about_files/
-                        </Include-Resource>
-                        <Export-Package>
-                            com.ibm.jusb.*;version="1.0.2"
-                        </Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            
-	    <plugin>
-        	<artifactId>maven-dependency-plugin</artifactId>
-        	<executions>
-        	  <execution>
-        	    <id>copy-dependencies</id>
-        	    <phase>package</phase>
-        	    <goals>
-        	      <goal>copy-dependencies</goal>
-        	    </goals>
-        	  </execution>
-        	</executions>
-	   </plugin>
-	   
-        </plugins>
-        <pluginManagement>
-        	<plugins>
-        		<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
-        		<plugin>
-        			<groupId>org.eclipse.m2e</groupId>
-        			<artifactId>lifecycle-mapping</artifactId>
-        			<version>1.0.0</version>
-        			<configuration>
-        				<lifecycleMappingMetadata>
-        					<pluginExecutions>
-        						<pluginExecution>
-        							<pluginExecutionFilter>
-        								<groupId>
-        									org.apache.maven.plugins
-        								</groupId>
-        								<artifactId>
-        									maven-dependency-plugin
-        								</artifactId>
-        								<versionRange>
-        									[2.1,)
-        								</versionRange>
-        								<goals>
-        									<goal>
-        										copy-dependencies
-        									</goal>
-        								</goals>
-        							</pluginExecutionFilter>
-        							<action>
-        								<ignore></ignore>
-        							</action>
-        						</pluginExecution>
-        					</pluginExecutions>
-        				</lifecycleMappingMetadata>
-        			</configuration>
-        		</plugin>
-        	</plugins>
-        </pluginManagement>
-    </build>
-</project>
diff --git a/target-platform/javax.usb.common/src/lib/javax.usb.common-1.0.2.jar b/target-platform/javax.usb.common/src/lib/javax.usb.common-1.0.2.jar
deleted file mode 100644
index 888b7ec..0000000
--- a/target-platform/javax.usb.common/src/lib/javax.usb.common-1.0.2.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/javax.usb.common/src/main/resources/touch.txt b/target-platform/javax.usb.common/src/main/resources/touch.txt
deleted file mode 100644
index e69de29..0000000
--- a/target-platform/javax.usb.common/src/main/resources/touch.txt
+++ /dev/null
diff --git a/target-platform/javax.usb.linux/about.html b/target-platform/javax.usb.linux/about.html
deleted file mode 100644
index 0078499..0000000
--- a/target-platform/javax.usb.linux/about.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>April 4, 2014</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html";>http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/";>http://www.eclipse.org</a>.</p>
-
-		
-		<h3>Third Party Content</h3>
-		<p>The Content includes items that have been sourced from third parties as set out below. If you 
-		did not receive this Content directly from the Eclipse Foundation, the following is provided 
-		for informational purposes only, and you should look to the Redistributor's license for 
-		terms and conditions of use.</p>
-		<p><em>
-		<strong>javax.usb.linux_1.0.3.jar</strong> <br/><br/>
-		Common Public License 1.0
-		</em></p>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/target-platform/javax.usb.linux/about_files/cpl-v10.html b/target-platform/javax.usb.linux/about_files/cpl-v10.html
deleted file mode 100644
index 186fbc8..0000000
--- a/target-platform/javax.usb.linux/about_files/cpl-v10.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-
-<P><FONT SIZE="2"><B>Updated 16 Apr 2009</B></FONT>
-
-<P><FONT SIZE="2"><B>As of 25 Feb 2009, IBM has assigned the Agreement Steward role for the CPL to the Eclipse Foundation. 
-Eclipse has designated the Eclipse Public License (EPL) as the follow-on version of the CPL.</B></FONT>
-
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/target-platform/javax.usb.linux/build.properties b/target-platform/javax.usb.linux/build.properties
deleted file mode 100644
index 5d90481..0000000
--- a/target-platform/javax.usb.linux/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/main/java/,src/main/resources/
-output.. = target/classes/
-bin.includes = META-INF/,\
-               .,\
-               src/main/lib/
diff --git a/target-platform/javax.usb.linux/pom.xml b/target-platform/javax.usb.linux/pom.xml
deleted file mode 100644
index 3e021a0..0000000
--- a/target-platform/javax.usb.linux/pom.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>target-platform</artifactId>
-    <version>0.2.0-SNAPSHOT</version>
-  </parent>
-
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>javax.usb.linux</artifactId>
-    <version>1.0.3</version>
-    <packaging>bundle</packaging>
-
-    <name>javax.usb Linux implementation from javax-usb</name>
-    <description>javax.usb Linux implementation from javax-usb</description>
-
-    <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-<!--
-        <dependency>
-            <groupId>javax.usb</groupId>
-            <artifactId>javax.usb.linux</artifactId>
-            <version>1.0.3</version>
-        </dependency>
--->
-
-        <!-- Test -->
-<!--
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.8.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock-legacy</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock-junit4</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
--->
-    </dependencies>
-
-
-    <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-      </resource>
-      <resource>
-        <directory>.</directory>
-        <includes>
-          <include>plugin.xml</include>
-        </includes>
-      </resource>
-    </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.7.2</version>
-                <configuration>
-                    <systemPropertyVariables>
-                        <java.library.path>${project.basedir}/src/main/lib</java.library.path>
-                    </systemPropertyVariables>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.5</version>
-                <extensions>true</extensions>
-                <configuration>
-		    <manifestLocation>META-INF</manifestLocation>
-                    <instructions>
-                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                        <Bundle-Name>${project.name}</Bundle-Name>
-                        <Bundle-Version>${project.version}</Bundle-Version>
-                        <Embed-Dependency>
-                            javax.usb.linux;groupId=javax.usb;artifactId=javax.usb.linux;version=1.0.3;scope=runtime
-                        </Embed-Dependency>
-                        <Include-Resource>
-                            lib=${project.basedir}/src/main/lib,
-                            ${project.basedir}/about.html,
-                            about_files=${project.basedir}/about_files/
-                        </Include-Resource>
-                        <Bundle-NativeCode>
-                        	lib/linux/x86/libJavaxUsb.so; osname=Linux; processor=x86,
-				lib/linux/x86_64/libJavaxUsb.so; osname=Linux; processor=x86-64,
-                        	lib/linux/armv6_hf/libJavaxUsb.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv7_hf))",
-                        	lib/linux/armv5_sf/libJavaxUsb.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv7_sf))",
-                        	lib/linux/armv6_hf/libJavaxUsb.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv6_hf))",
-                        	lib/linux/armv5_sf/libJavaxUsb.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv6_sf))",
-                        	lib/linux/armv5_sf/libJavaxUsb.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv5_sf))"
-                        </Bundle-NativeCode>
-                        <Export-Package>
-                            com.ibm.jusb.os.linux.*;version="1.0.3"
-                        </Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            
-	    <plugin>
-        	<artifactId>maven-dependency-plugin</artifactId>
-        	<executions>
-        	  <execution>
-        	    <id>copy-dependencies</id>
-        	    <phase>package</phase>
-        	    <goals>
-        	      <goal>copy-dependencies</goal>
-        	    </goals>
-        	  </execution>
-        	</executions>
-	   </plugin>
-	   
-        </plugins>
-        <pluginManagement>
-        	<plugins>
-        		<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
-        		<plugin>
-        			<groupId>org.eclipse.m2e</groupId>
-        			<artifactId>lifecycle-mapping</artifactId>
-        			<version>1.0.0</version>
-        			<configuration>
-        				<lifecycleMappingMetadata>
-        					<pluginExecutions>
-        						<pluginExecution>
-        							<pluginExecutionFilter>
-        								<groupId>
-        									org.apache.maven.plugins
-        								</groupId>
-        								<artifactId>
-        									maven-dependency-plugin
-        								</artifactId>
-        								<versionRange>
-        									[2.1,)
-        								</versionRange>
-        								<goals>
-        									<goal>
-        										copy-dependencies
-        									</goal>
-        								</goals>
-        							</pluginExecutionFilter>
-        							<action>
-        								<ignore></ignore>
-        							</action>
-        						</pluginExecution>
-        					</pluginExecutions>
-        				</lifecycleMappingMetadata>
-        			</configuration>
-        		</plugin>
-        	</plugins>
-        </pluginManagement>
-    </build>
-</project>
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsb.h b/target-platform/javax.usb.linux/src/main/c/JavaxUsb.h
deleted file mode 100644
index a93fa5d..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsb.h
+++ /dev/null
@@ -1,289 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#ifndef _JAVAXUSBUTIL_H
-#define _JAVAXUSBUTIL_H
-
-#include "com_ibm_jusb_os_linux_JavaxUsb.h"
-#include "JavaxUsbLog.h"
-#include "JavaxUsbChecks.h"
-
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/stat.h>
-#include <sys/poll.h>
-#include <sys/time.h>
-#include <sys/dir.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <signal.h>
-#include <pthread.h>
-#include <errno.h>
-
-/* Need to include this last or gcc will give warnings */
-#include "JavaxUsbKernel.h"
-
-#define MAX_LINE_LENGTH 255
-#define MAX_KEY_LENGTH 255
-#define MAX_PATH_LENGTH 255
-
-#define MAX_POLLING_ERRORS 64
-
-/* These must match the defines in JavaxUsb.java */
-#define SPEED_UNKNOWN 0
-#define SPEED_LOW 1
-#define SPEED_FULL 2
-
-//******************************************************************************
-// Descriptor structs 
-
-struct jusb_device_descriptor {
-	unsigned char bLength;
-	unsigned char bDescriptorType;
-	unsigned short bcdUSB;
-	unsigned char bDeviceClass;
-	unsigned char bDeviceSubClass;
-	unsigned char bDeviceProtocol;
-	unsigned char bMaxPacketSize0;
-	unsigned short idVendor;
-	unsigned short idProduct;
-	unsigned short bcdDevice;
-	unsigned char iManufacturer;
-	unsigned char iProduct;
-	unsigned char iSerialNumber;
-	unsigned char bNumConfigurations;
-};
-
-struct jusb_config_descriptor {
-	unsigned char bLength;
-	unsigned char bDescriptorType;
-	unsigned short wTotalLength;
-	unsigned char bNumInterfaces;
-	unsigned char bConfigurationValue;
-	unsigned char iConfiguration;
-	unsigned char bmAttributes;
-	unsigned char bMaxPower;
-};
-
-struct jusb_interface_descriptor {
-	unsigned char bLength;
-	unsigned char bDescriptorType;
-	unsigned char bInterfaceNumber;
-	unsigned char bAlternateSetting;
-	unsigned char bNumEndpoints;
-	unsigned char bInterfaceClass;
-	unsigned char bInterfaceSubClass;
-	unsigned char bInterfaceProtocol;
-	unsigned char iInterface;
-};
-
-struct jusb_endpoint_descriptor {
-	unsigned char bLength;
-	unsigned char bDescriptorType;
-	unsigned char bEndpointAddress;
-	unsigned char bmAttributes;
-	unsigned short wMaxPacketSize;
-	unsigned char bInterval;
-};
-
-struct jusb_string_descriptor {
-	unsigned char bLength;
-	unsigned char bDescriptorType;
-	unsigned char bString[254];
-};
-
-//******************************************************************************
-// Request methods
-
-int pipe_request( JNIEnv *env, int fd, jobject linuxRequest );
-int isochronous_request( JNIEnv *env, int fd, jobject linuxRequest );
-
-void cancel_pipe_request( JNIEnv *env, int fd, jobject linuxRequest );
-void cancel_isochronous_request( JNIEnv *env, int fd, jobject linuxRequest );
-
-int complete_pipe_request( JNIEnv *env, jobject linuxRequest );
-int complete_isochronous_request( JNIEnv *env, jobject linuxRequest );
-
-int set_configuration( JNIEnv *env, int fd, jobject linuxRequest );
-int set_interface( JNIEnv *env, int fd, jobject linuxRequest );
-
-int claim_interface( JNIEnv *env, int fd, int claim, jobject linuxRequest );
-int is_claimed( JNIEnv *env, int fd, jobject linuxRequest );
-
-int control_pipe_request( JNIEnv *env, int fd, jobject linuxPipeRequest, struct usbdevfs_urb *urb );
-int bulk_pipe_request( JNIEnv *env, int fd, jobject linuxPipeRequest, struct usbdevfs_urb *urb );
-int interrupt_pipe_request( JNIEnv *env, int fd, jobject linuxPipeRequest, struct usbdevfs_urb *urb );
-int isochronous_pipe_request( JNIEnv *env, int fd, jobject linuxPipeRequest, struct usbdevfs_urb *urb );
-
-int complete_control_pipe_request( JNIEnv *env, jobject linuxPipeRequest, struct usbdevfs_urb *urb );
-int complete_bulk_pipe_request( JNIEnv *env, jobject linuxPipeRequest, struct usbdevfs_urb *urb );
-int complete_interrupt_pipe_request( JNIEnv *env, jobject linuxPipeRequest, struct usbdevfs_urb *urb );
-int complete_isochronous_pipe_request( JNIEnv *env, jobject linuxPipeRequest, struct usbdevfs_urb *urb );
-
-//******************************************************************************
-// Config and Interface active checking methods
-
-/* Pick a way to determine active config.
- *
- * Most of these generate bus traffic to one or more devices.
- * This is BAD when using non-queueing (up to 2.5.44) UHCI Host Controller Driver,
- * as it can interfere with other drivers and the results are unpredictable - ranging
- * from nothing to complete loss of use of the device(s).
- *
- * CONFIG_SETTING_ASK_DEVICE:
- * Asking the device directly is the best available way,
- * as bus traffic is generated only for the specific device in question,
- * and only 1 standard request.
- *
- * CONFIG_SETTING_USE_DEVICES_FILE:
- * Reading/parsing the /proc/bus/usb/devices file generates bus traffic,
- * by asking ALL connected devices for their 3 standard String-descriptors;
- * Manufacturer, Product, and SerialNumber.  This is a lot of bus traffic and
- * can cause problems with any or all connected devices (if using a non-queueing UHCI driver).
- *
- * CONFIG_SETTING_1_ALWAYS_ACTIVE:
- * This does not communicate with the device at all, but always marks the first
- * configuration (number 1, as configs must be numbered consecutively starting with 1)
- * as active.  This should work for all devices, but will produce incorrect results
- * for devices whose active configuration has been changed outside of the current javax.usb
- * instance.
- *
- * All or none may be used, attempts are in order shown, failure moves to the next one.
- * If none are defined (or all fail) then the result will be no configs active, i.e.
- * the device will appear to be (but will not really be) in a Not Configured state.
- *
- * Most people want at least the CONFIG_1_ALWAYS_ACTIVE define, as it is always
- * the last attempted and will do the right thing in many more cases than leaving the
- * device to appear as Not Configured.
- */
-#define CONFIG_SETTING_ASK_DEVICE
-#undef CONFIG_SETTING_USE_DEVICES_FILE
-#define CONFIG_SETTING_1_ALWAYS_ACTIVE
-
-/* Pick a way to determine active interface alternate setting.
- *
- * INTERFACE_SETTING_ASK_DEVICE:
- * This directly asks the device in the same manner as above.  The only difference is,
- * to communicate with an interface, the interface must be claimed;
- * for a device that already has a driver (which is usually most devices)
- * this will not work since the interface will already be claimed.
- *
- * INTERFACE_SETTING_USE_DEVICES_FILE:
- * This uses the /proc/bus/usb/devices file in the same manner as above.
- * However, until kernel 2.5.XX, the devices file does not provide active
- * interface setting information, so this will fail on those kernels.
- *
- * If none are defined (or all fail) then the result will be first setting is active.
- */
-#undef INTERFACE_SETTING_ASK_DEVICE
-#undef INTERFACE_SETTING_USE_DEVICES_FILE
-
-int getActiveConfig( JNIEnv *env, int fd, unsigned char bus, unsigned char dev );
-int getActiveInterfaceSetting( JNIEnv *env, int fd, unsigned char bus, unsigned char dev, unsigned char interface );
-
-//******************************************************************************
-// Utility methods
-
-static inline unsigned short bcd( unsigned char msb, unsigned char lsb ) 
-{
-    return ( (msb << 8) & 0xff00 ) | ( lsb & 0x00ff );
-}
-
-static inline int open_device( JNIEnv *env, jstring javaKey, int oflag ) 
-{
-	const char *node;
-	int filed;
-
-	node = (*env)->GetStringUTFChars( env, javaKey, NULL );
-	log( LOG_INFO, "Opening node %s", node );
-	if (0 > (filed = open( node, oflag )))
-		log( LOG_ERROR, "Could not open node %s : %s", node, strerror(errno) );
-	(*env)->ReleaseStringUTFChars( env, javaKey, node );
-	return filed;
-}
-
-static inline int bus_node_to_name( int bus, int node, char *name )
-{
-	sprintf( name, usbdevfs_sprintf_node(), bus, node );
-	return strlen( name );
-}
-
-static inline int get_busnum_from_name( const char *name )
-{
-	int bus, node;
-	if (1 > (sscanf( name, usbdevfs_sscanf_node(), &bus, &node )))
-		return -1;
-	else return bus;
-}
-
-static inline int get_busnum_from_jname( JNIEnv *env, jstring jname )
-{
-	const char *name = (*env)->GetStringUTFChars( env, jname, NULL );
-	int busnum = get_busnum_from_name( name );
-	(*env)->ReleaseStringUTFChars( env, jname, name );
-	return busnum;
-}
-
-static inline int get_devnum_from_name( const char *name )
-{
-	int bus, node;
-	if (2 > (sscanf( name, usbdevfs_sscanf_node(), &bus, &node )))
-		return -1;
-	else return node;
-}
-
-static inline int get_devnum_from_jname( JNIEnv *env, jstring jname )
-{
-	const char *name = (*env)->GetStringUTFChars( env, jname, NULL );
-	int devnum = get_devnum_from_name( name );
-	(*env)->ReleaseStringUTFChars( env, jname, name );
-	return devnum;
-}
-
-/**
- * Debug a URB.
- * @env The JNIEnv*.
- * @param calling_method The name of the calling method.
- * @param urb The usbdevfs_urb.
- */
-static inline void debug_urb( JNIEnv *env, char *calling_method, struct usbdevfs_urb *urb )
-{
-	if (!tracing)
-		return;
-
-//FIXME - add device number and/or other dev info
-	log( LOG_URB_METADATA, "%s : URB address = %p", calling_method, urb );
-	log( LOG_URB_METADATA, "%s : URB endpoint = %x status = %d signal = %x", calling_method, urb->endpoint, urb->status, urb->signr );
-	log( LOG_URB_METADATA, "%s : URB buffer length = %d actual length = %d", calling_method, urb->buffer_length, urb->actual_length );
-
-	if (urb->buffer && (0 < urb->buffer_length)) {
-		static const char hex[] = "0123456789abcdef";
-		int i, loglen = (3*urb->buffer_length);
-		char logbuf[loglen], *bufp = logbuf;
-		char* p = (char *)urb->buffer;
-		for (i=0; i<urb->buffer_length; i++) {
-			int c = *p++;
-			*bufp++ = hex[(c>>4)&0xf]; // index to array
-			*bufp++ = hex[c&0xf]; // index to array
-			*bufp++ = ' ';
-		}
-		logbuf[loglen-1] = 0; // null terminate string
-		log( LOG_URB_DATA, "%s : URB data = %s", calling_method, logbuf );
- 	} else {
- 		log( LOG_URB_DATA, "%s : URB data empty", calling_method );
- 	}
-}
-
-#endif /* _JAVAXUSBUTIL_H */
-
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbActive.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbActive.c
deleted file mode 100644
index 357dcb7..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbActive.c
+++ /dev/null
@@ -1,392 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-/* This file uses getline(), a GNU extention */
-#define _GNU_SOURCE
-
-#include "JavaxUsb.h"
-
-#ifdef CONFIG_SETTING_USE_DEVICES_FILE
-static int config_use_devices_file( JNIEnv *env, unsigned char bus, unsigned char dev )
-{
-	FILE *file = NULL;
-#define LINELEN 1024
-	ssize_t linelen, len;
-	char *line = NULL, busstr[32], devstr[32];
-	int in_dev = 0;
-	int ret = -1;
-	int config;
-
-	if (!(line = malloc(LINELEN))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		ret = -ENOMEM;
-		goto end;
-	}
-
-	linelen = LINELEN - 1;
-
-	sprintf(busstr, "Bus=%2.2d", bus);
-	sprintf(devstr, "Dev#=%3d", dev);
-#define cfgstr "Cfg#=%2d"
-
-	errno = 0;
-	if (!(file = fopen(usbdevfs_devices_filename(), "r"))) {
-		log( LOG_HOTPLUG_ERROR, "Could not open %s : %s", usbdevfs_devices_filename(), strerror(errno) );
-		ret = -errno
-		goto end;
-	}
-
-	log( LOG_HOTPLUG_OTHER, "Checking %s", usbdevfs_devices_filename() );
-
-	while (1) {
-		memset(line, 0, LINELEN);
-
-		errno = 0;
-		if (0 > (len = getline(&line, &linelen, file))) {
-			log( LOG_HOTPLUG_ERROR, "Could not read from %s : %s", usbdevfs_devices_filename(), strerror(errno) );
-			ret = -errno;
-			break;
-		}
-
-		if (!len) {
-			log( LOG_HOTPLUG_ERROR, "No device matching %s/%s found!", busstr, devstr );
-			ret = -ENODEV;
-			break;
-		}
-
-		if (strstr(line, "T:")) {
-			if (in_dev) {
-				log( LOG_HOTPLUG_ERROR, "No active config found in device %s/%s!", cfgstr, busstr, devstr );
-				ret = -EINVAL;
-				break;
-			}
-			if (strstr(line, busstr) && strstr(line, devstr)) {
-				log( LOG_HOTPLUG_OTHER, "Found section for device %s/%s", busstr, devstr );
-				in_dev = 1;
-				continue;
-			}
-		}
-
-		if (in_dev && strstr(line, "C:*")) {
-			if (1 == sscanf(line, cfgstr, config)) {
-				ret = config;
-				break;
-			}
-		}
-	}
-
-end:
-	if (line) free(line);
-	if (file) fclose(file);
-
-	return ret;
-}
-#endif /* CONFIG_SETTING_USE_DEVICES_FILE */
-
-#ifdef INTERFACE_SETTING_USE_DEVICES_FILE
-static int interface_use_devices_file( JNIEnv *env, unsigned char bus, unsigned char dev, unsigned char interface )
-{
-	FILE *file = NULL;
-#define LINELEN 1024
-	ssize_t linelen, len;
-	char *line = NULL, busstr[32], devstr[32], cfgstr[32], ifstr[32];
-	int in_dev = 0, in_cfg = 0;
-	int ret = -1;
-	int setting;
-
-	if (!(line = malloc(LINELEN))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		goto end;
-	}
-
-	linelen = LINELEN - 1;
-
-	sprintf(busstr, "Bus=%2.2d", bus);
-	sprintf(devstr, "Dev#=%3d", dev);
-	sprintf(ifstr, "If#=%2d", interface );
-#define setstr "Alt=%2d"
-
-	errno = 0;
-	if (!(file = fopen(usbdevfs_devices_filename(), "r"))) {
-		log( LOG_HOTPLUG_ERROR, "Could not open %s : %s", usbdevfs_devices_filename(), strerror(errno) );
-		ret = -errno;
-		goto end;
-	}
-
-	log( LOG_HOTPLUG_OTHER, "Checking %s", usbdevfs_devices_filename() );
-
-	while (1) {
-		memset(line, 0, LINELEN);
-
-		errno = 0;
-		if (0 > (len = getline(&line, &linelen, file))) {
-			log( LOG_HOTPLUG_ERROR, "Could not read from %s : %s", usbdevfs_devices_filename(), strerror(errno) );
-			ret = -errno;
-			break;
-		}
-
-		if (!len) {
-			log( LOG_HOTPLUG_ERROR, "No device matching %s/%s found!", busstr, devstr );
-			ret = -ENODEV;
-			break;
-		}
-
-		if (strstr(line, "T:")) {
-			if (in_dev) {
-				log( LOG_HOTPLUG_ERROR, "No config matching %s found in device %s/%s!", cfgstr, busstr, devstr );
-				ret = -EINVAL;
-				break;
-			}
-			if (strstr(line, busstr) && strstr(line, devstr)) {
-				log( LOG_HOTPLUG_OTHER, "Found section for device %s/%s", busstr, devstr );
-				in_dev = 1;
-				continue;
-			}
-		}
-
-		if (in_dev && strstr(line, "C:*")) {
-			in_cfg = 1;
-			continue;
-		}
-
-		if (in_cfg) {
-			if (strstr(line, "C:")) {
-				log( LOG_HOTPLUG_ERROR, "No active interface matching %s found in device %s/%s for active config!", ifstr, busstr, devstr );
-				ret = -EINVAL;
-				break;
-			}
-			if (strstr(line, ifstr) && strstr(line, "I:*")) {
-				if (1 == sscanf(line, setstr, setting)) {
-					ret = setting;
-					break;
-				}
-			}
-		}
-	}
-
-end:
-	if (line) free(line);
-	if (file) fclose(file);
-
-	return ret;
-}
-#endif /* INTERFACE_SETTING_USE_DEVICES_FILE */
-
-#ifdef CONFIG_SETTING_ASK_DEVICE
-#define CONFIG_ASK_DEVICE_TIMEOUT 500 /* ms */
-static int config_ask_device( JNIEnv *env, int fd )
-{
-	int ret = 0;
-
-	struct usbdevfs_ctrltransfer *ctrl = NULL;
-	unsigned char *actconfig = NULL;
-
-	if (!(ctrl = malloc(sizeof(*ctrl))) || !(actconfig = malloc(1))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		ret = -ENOMEM;
-		goto CONFIG_ASK_DEVICE_END;
-	}
-
-	*actconfig = 0;
-
-	ctrl->bmRequestType = (unsigned char)0x80;
-	ctrl->bRequest = 0x08;
-	ctrl->wValue = 0x00;
-	ctrl->wIndex = 0x00;
-	ctrl->wLength = 1;
-	ctrl->timeout = CONFIG_ASK_DEVICE_TIMEOUT;
-	ctrl->data = actconfig;
-
-	errno = 0;
-	if (0 > (ioctl(fd, USBDEVFS_CONTROL, ctrl))) {
-		log( LOG_HOTPLUG_ERROR, "Could not get active configuration from device : %s", strerror(errno) );
-		ret = -errno;
-	} else {
-		log( LOG_HOTPLUG_OTHER, "Active device configuration is %d", *actconfig );
-		ret = *actconfig;
-	}
-
-CONFIG_ASK_DEVICE_END:
-	if (ctrl) free(ctrl);
-	if (actconfig) free(actconfig);
-
-	return ret;
-}
-#endif /* CONFIG_SETTING_ASK_DEVICE */
-
-#ifdef INTERFACE_SETTING_ASK_DEVICE
-#define INTERFACE_ASK_DEVICE_TIMEOUT 500 /* ms */
-static int interface_ask_device( JNIEnv *env, int fd, unsigned char interface )
-{
-	int ret = 0;
-
-	struct javaxusb_usbdevfs_ctrltransfer *ctrl = NULL;
-	unsigned char *actsetting = NULL;
-
-	if (!(ctrl = malloc(sizeof(*ctrl))) || !(actsetting = malloc(1))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		ret = -ENOMEM;
-		goto INTERFACE_ASK_DEVICE_END;
-	}
-
-	*actsetting = 0;
-
-	ctrl->bmRequestType = (unsigned char)0x81;
-	ctrl->bRequest = 0x0a;
-	ctrl->wValue = 0x00;
-	ctrl->wIndex = interface;
-	ctrl->wLength = 1;
-	ctrl->timeout = INTERFACE_ASK_DEVICE_TIMEOUT;
-	ctrl->data = actsetting;
-
-	errno = 0;
-	if (0 > (ioctl(fd, USBDEVFS_CONTROL, ctrl))) {
-		log( LOG_HOTPLUG_ERROR, "Could not get active interface %d setting from device : %s", interface, strerror(errno) );
-		ret = -errno;
-	} else {
-		log( LOG_HOTPLUG_OTHER, "Active interface %d setting is %d", interface, *actsetting );
-		ret = *actsetting;
-	}
-
-INTERFACE_ASK_DEVICE_END:
-	if (ctrl) free(ctrl);
-	if (actsetting) free(actsetting);
-
-	return ret;
-}
-#endif /* INTERFACE_SETTING_ASK_DEVICE */
-
-int getActiveConfig( JNIEnv *env, int fd, unsigned char bus, unsigned char dev )
-{
-	int ret = -1; /* -1 = failure */
-
-#ifdef CONFIG_SETTING_ASK_DEVICE
-	if (0 > ret) {
-		log( LOG_HOTPLUG_OTHER, "Getting active config using GET_CONFIGURATION standard request." );
-		ret = config_ask_device( env, fd );
-		log( LOG_HOTPLUG_OTHER, "Device returned %d%s.", ret, 0>ret ? " (failure)" : "" );
-	}
-#endif
-#ifdef CONFIG_SETTING_USE_DEVICES_FILE
-	if (0 > ret) {
-		log( LOG_HOTPLUG_OTHER, "Getting active config using %s.", usbdevfs_devices_filename() );
-		ret = config_use_devices_file( env, bus, dev );
-		log( LOG_HOTPLUG_OTHER, "%s returned %d%s.", usbdevfs_devices_filename(), ret, 0>ret ? " (failure)" : "" );
-	}
-#endif
-#ifdef CONFIG_SETTING_1_ALWAYS_ACTIVE
-	if (0 > ret) {
-		log( LOG_HOTPLUG_OTHER, "Returning config 1 as active; no checking." );
-		ret = 1;
-	}
-#endif
-
-	return ret;
-}
-
-int getActiveInterfaceSetting( JNIEnv *env, int fd, unsigned char bus, unsigned char dev, unsigned char interface )
-{
-	int ret = -1; /* -1 = failure  */
-
-#ifdef INTERFACE_SETTING_ASK_DEVICE
-	if (0 > ret) {
-		log( LOG_HOTPLUG_OTHER, "Getting active interface %d setting using GET_INTERFACE standard request.", interface );
-		ret = interface_ask_device( env, fd, interface );
-		log( LOG_HOTPLUG_OTHER, "Device returned %d%s.", ret, 0>ret ? " (failure)" : "" );
-	}
-#endif
-#ifdef INTERFACE_SETTING_USE_DEVICES_FILE
-	if (0 > ret) {
-		log( LOG_HOTPLUG_OTHER, "Getting active interface %d setting using %s.", interface, usbdevfs_devices_filename() );
-		ret = interface_use_devices_file( env, bus, dev, interface );
-		log( LOG_HOTPLUG_OTHER, "%s returned %d%s.", usbdevfs_devices_filename(), ret, 0>ret ? " (failure)" : "" );
-	}
-#endif
-
-	return ret;
-}
-
-JNIEXPORT jint JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeGetActiveConfigurationNumber
-(JNIEnv *env, jclass JavaxUsb, jobject linuxDeviceOsImp)
-{
-	int fd;
-	unsigned char busnum, devnum;
-	int configNumber;
-
-	jclass LinuxDeviceOsImp = NULL, LinuxDeviceProxy = NULL;
-	jobject linuxDeviceProxy = NULL;
-	jfieldID linuxDeviceProxyID;
-	jmethodID getKey;
-	jstring jname = NULL;
-
-	LinuxDeviceOsImp = CheckedGetObjectClass( env, linuxDeviceOsImp );
-	linuxDeviceProxyID = CheckedGetFieldID( env, LinuxDeviceOsImp, "linuxDeviceProxy", "Lcom/ibm/jusb/os/linux/LinuxDeviceProxy;" );
-	linuxDeviceProxy = (*env)->GetObjectField( env, linuxDeviceOsImp, linuxDeviceProxyID );
-	LinuxDeviceProxy = CheckedGetObjectClass( env, linuxDeviceProxy );
-	getKey = CheckedGetMethodID( env, LinuxDeviceProxy, "getKey", "()Ljava/lang/String;" );
-	jname = (jstring)CheckedCallObjectMethod( env, linuxDeviceProxy, getKey );
-	(*env)->DeleteLocalRef( env, LinuxDeviceProxy );
-	(*env)->DeleteLocalRef( env, linuxDeviceProxy );
-	(*env)->DeleteLocalRef( env, LinuxDeviceOsImp );
-
-	if (0 > (fd = open_device( env, jname, O_RDWR ))) {
-		(*env)->DeleteLocalRef( env, jname );
-		return errno ? -errno : -1;
-	}
-
-	busnum = (unsigned char)get_busnum_from_jname( env, jname );
-	devnum = (unsigned char)get_devnum_from_jname( env, jname );
-
-	configNumber = getActiveConfig( env, fd, busnum, devnum );
-
-	close(fd);
-	(*env)->DeleteLocalRef( env, jname );
-
-	return (jint)configNumber;
-}
-
-JNIEXPORT jint JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeGetActiveInterfaceSettingNumber
-(JNIEnv *env, jclass JavaxUsb, jobject linuxDeviceOsImp, jint interfaceNumber)
-{
-	int fd;
-	unsigned char busnum, devnum;
-	int settingNumber;
-
-	jclass LinuxDeviceOsImp = NULL, LinuxDeviceProxy = NULL;
-	jobject linuxDeviceProxy = NULL;
-	jfieldID linuxDeviceProxyID;
-	jmethodID getKey;
-	jstring jname = NULL;
-
-	LinuxDeviceOsImp = CheckedGetObjectClass( env, linuxDeviceOsImp );
-	linuxDeviceProxyID = CheckedGetFieldID( env, LinuxDeviceOsImp, "linuxDeviceProxy", "Lcom/ibm/jusb/os/linux/LinuxDeviceProxy;" );
-	linuxDeviceProxy = (*env)->GetObjectField( env, linuxDeviceOsImp, linuxDeviceProxyID );
-	LinuxDeviceProxy = CheckedGetObjectClass( env, linuxDeviceProxy );
-	getKey = CheckedGetMethodID( env, LinuxDeviceProxy, "getKey", "()Ljava/lang/String;" );
-	jname = (jstring)CheckedCallObjectMethod( env, linuxDeviceProxy, getKey );
-	(*env)->DeleteLocalRef( env, LinuxDeviceProxy );
-	(*env)->DeleteLocalRef( env, linuxDeviceProxy );
-	(*env)->DeleteLocalRef( env, LinuxDeviceOsImp );
-
-	if (0 > (fd = open_device( env, jname, O_RDWR ))) {
-		(*env)->DeleteLocalRef( env, jname );
-		return errno ? -errno : -1;
-	}
-
-	busnum = (unsigned char)get_busnum_from_jname( env, jname );
-	devnum = (unsigned char)get_devnum_from_jname( env, jname );
-
-	settingNumber = getActiveInterfaceSetting( env, fd, busnum, devnum, (unsigned char)interfaceNumber );
-
-	close(fd);
-	(*env)->DeleteLocalRef( env, jname );
-
-	return (jint)settingNumber;	
-}
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbBulkRequest.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbBulkRequest.c
deleted file mode 100644
index db50e9e..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbBulkRequest.c
+++ /dev/null
@@ -1,94 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-/**
- * Submit a bulk pipe request.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxPipeRequest The LinuxPipeRequest.
- * @param usb The usbdevfs_urb.
- * @return The error that occurred, or 0.
- */
-int bulk_pipe_request( JNIEnv *env, int fd, jobject linuxPipeRequest, struct usbdevfs_urb *urb )
-{
-	int offset = 0;
-	int ret = 0;
-
-	jclass LinuxPipeRequest = CheckedGetObjectClass( env, linuxPipeRequest );
-	jmethodID getData = CheckedGetMethodID( env, LinuxPipeRequest, "getData", "()[B" );
-	jmethodID getOffset = CheckedGetMethodID( env, LinuxPipeRequest, "getOffset", "()I" );
-	jmethodID getLength = CheckedGetMethodID( env, LinuxPipeRequest, "getLength", "()I" );
-	jbyteArray data = CheckedCallObjectMethod( env, linuxPipeRequest, getData );
-	CheckedDeleteLocalRef( env, LinuxPipeRequest );
-
-	offset = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getOffset );
-	urb->buffer_length = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getLength );
-
-	if (!(urb->buffer = malloc(urb->buffer_length))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		ret = -ENOMEM;
-		goto END_SUBMIT;
-	}
-
-	CheckedGetByteArrayRegion( env, data, offset, urb->buffer_length, urb->buffer );
-
-	urb->type = getBulkType();
-	urb->flags = getBulkFlags(urb->flags);
-
-	debug_urb( env, "bulk_pipe_request", urb );
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_SUBMITURB, urb )))
-		ret = -errno;
-
-END_SUBMIT:
-	if (ret)
-		if (urb->buffer) free(urb->buffer);
-
-	if (data) CheckedDeleteLocalRef( env, data );
-
-	return ret;
-}
-
-/**
- * Complete a bulk pipe request.
- * @param env The JNIEnv.
- * @param linuxPipeRequest The LinuxPipeRequest.
- * @param urb the usbdevfs_usb.
- * @return The error that occurred, or 0.
- */
-int complete_bulk_pipe_request( JNIEnv *env, jobject linuxPipeRequest, struct usbdevfs_urb *urb )
-{
-	jclass LinuxPipeRequest = CheckedGetObjectClass( env, linuxPipeRequest );
-	jmethodID setActualLength = CheckedGetMethodID( env, LinuxPipeRequest, "setActualLength", "(I)V" );
-	jmethodID getData = CheckedGetMethodID( env, LinuxPipeRequest, "getData", "()[B" );
-	jmethodID getOffset = CheckedGetMethodID( env, LinuxPipeRequest, "getOffset", "()I" );
-	jmethodID getLength = CheckedGetMethodID( env, LinuxPipeRequest, "getLength", "()I" );
-	jbyteArray data = CheckedCallObjectMethod( env, linuxPipeRequest, getData );
-	unsigned int offset = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getOffset );
-	unsigned int length = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getLength );
-	CheckedDeleteLocalRef( env, LinuxPipeRequest );
-
-	if (length < urb->actual_length) {
-		log( LOG_XFER_ERROR, "Actual length %d greater than requested length %d", urb->actual_length, length );
-		urb->actual_length = length;
-	}
-
-	CheckedSetByteArrayRegion( env, data, offset, urb->actual_length, urb->buffer );
-
-	CheckedCallVoidMethod( env, linuxPipeRequest, setActualLength, urb->actual_length );
-
-	if (data) CheckedDeleteLocalRef( env, data );
-	if (urb->buffer) free(urb->buffer);
-
-	return urb->status;
-}
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbChecks.h b/target-platform/javax.usb.linux/src/main/c/JavaxUsbChecks.h
deleted file mode 100644
index f879c2b..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbChecks.h
+++ /dev/null
@@ -1,164 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#ifndef _JAVAXUSBCHECKS_H
-#define _JAVAXUSBCHECKS_H
-
-/* exception checks */
-
-#define check_for_exception(env) get_exception(env,1)
-#define check_for_exception_noexit(env) get_exception(env,0)
-
-/* Non-static checked JNI function wrappers */
-
-#define CheckedGetObjectClass(env,object) debugGetObjectClass(__FILE__,__func__,__LINE__,env,object,#env","#object)
-#define CheckedGetMethodID(env,class,name,id) debugGetMethodID(__FILE__,__func__,__LINE__,env,class,name,id,#env","#class","#name","#id)
-#define CheckedGetFieldID(env,class,name,id) debugGetFieldID(__FILE__,__func__,__LINE__,env,class,name,id,#env","#class","#name","#id)
-#define CheckedNewStringUTF(env,string) debugNewStringUTF(__FILE__,__func__,__LINE__,env,string,#env","#string)
-#define CheckedNewGlobalRef(env,object) debugNewGlobalRef(__FILE__,__func__,__LINE__,env,object,#env","#object)
-#define CheckedDeleteLocalRef(env,object) debugDeleteLocalRef(__FILE__,__func__,__LINE__,env,object,#env","#object)
-#define CheckedDeleteGlobalRef(env,object) debugDeleteGlobalRef(__FILE__,__func__,__LINE__,env,object,#env","#object)
-
-#define CheckedGetByteArrayRegion(env,array,offset,length,buffer) debugGetByteArrayRegion(__FILE__,__func__,__LINE__,env,array,offset,length,buffer,#env","#array","#offset","#length","#buffer)
-#define CheckedSetByteArrayRegion(env,array,offset,length,buffer) debugSetByteArrayRegion(__FILE__,__func__,__LINE__,env,array,offset,length,buffer,#env","#array","#offset","#length","#buffer)
-#define CheckedGetArrayLength(env,array) debugGetArrayLength(__FILE__,__func__,__LINE__,env,array,#env","#array)
-
-//FIXME - implement
-#define CheckedCallObjectMethod(env,object,method,args...) (*env)->CallObjectMethod(env,object,method,##args)
-#define CheckedCallLongMethod(env,object,method,args...) (*env)->CallLongMethod(env,object,method,##args)
-#define CheckedCallIntMethod(env,object,method,args...) (*env)->CallIntMethod(env,object,method,##args)
-#define CheckedCallShortMethod(env,object,method,args...) (*env)->CallShortMethod(env,object,method,##args)
-#define CheckedCallByteMethod(env,object,method,args...) (*env)->CallByteMethod(env,object,method,##args)
-#define CheckedCallBooleanMethod(env,object,method,args...) (*env)->CallBooleanMethod(env,object,method,##args)
-#define CheckedCallVoidMethod(env,object,method,args...) (*env)->CallVoidMethod(env,object,method,##args)
-
-/* Static checked JNI function wrappers */
-
-#define CheckedGetStaticMethodID(env,class,name,id) debugGetStaticMethodID(__FILE__,__func__,__LINE__,env,class,name,id,#env","#class","#name","#id)
-#define CheckedGetStaticFieldID(env,class,name,id) debugGetStaticFieldID(__FILE__,__func__,__LINE__,env,class,name,id,#env","#class","#name","#id)
-
-//FIXME - implement
-#define CheckedCallStaticObjectMethod(env,class,method,args...) (*env)->CallStaticObjectMethod(env,class,method,##args)
-#define CheckedCallStaticLongMethod(env,class,method,args...) (*env)->CallStaticLongMethod(env,class,method,##args)
-#define CheckedCallStaticIntMethod(env,class,method,args...) (*env)->CallStaticIntMethod(env,class,method,##args)
-#define CheckedCallStaticShortMethod(env,class,method,args...) (*env)->CallStaticShortMethod(env,class,method,##args)
-#define CheckedCallStaticByteMethod(env,class,method,args...) (*env)->CallStaticByteMethod(env,class,method,##args)
-#define CheckedCallStaticBooleanMethod(env,class,method,args...) (*env)->CallStaticBooleanMethod(env,class,method,##args)
-#define CheckedCallStaticVoidMethod(env,class,method,args...) (*env)->CallStaticVoidMethod(env,class,method,##args)
-
-/*
- * Check for and return an exception, or null.
- *
- * @should_exit If the JVM should exit immediately and without warning if there is an Exception.
- */
-static inline jthrowable get_exception( JNIEnv *env, int should_exit )
-{
-	jthrowable e = (*env)->ExceptionOccurred( env );
-
-	if (e) {
-		log( LOG_CRITICAL, "Exception occured!\n" );
-		if (should_exit)
-			exit(1);
-	}
-
-	return e;
-}
-
-static inline void debug_exception( JNIEnv *env, const char *file, const char *func, int line, char *jnicall, char *args )
-{
-	if (JNI_TRUE == (*env)->ExceptionCheck(env)) {
-		log( LOG_CRITICAL, "!! JNI Exception : file (%s) function (%s) line (%d)\n", file, func, line );
-		log( LOG_CRITICAL, "!!!!! Failure at : (*env)->%s(%s)\n", jnicall, args );
-		exit(1);
-	}
-}
-
-static inline jclass debugGetObjectClass( const char *file, const char *func, int line, JNIEnv *env, jobject object, char *args )
-{
-	jclass class = (*env)->GetObjectClass( env, object );
-	debug_exception( env, file, func, line, "GetObjectClass", args );
-	return class;
-}
-
-static inline jmethodID debugGetMethodID( const char *file, const char *func, int line, JNIEnv *env, jclass class, char *name, char *id, char *args )
-{
-	jmethodID method = (*env)->GetMethodID( env, class, name, id );
-	debug_exception( env, file, func, line, "GetMethodID", args );
-	return method;
-}
-
-static inline jfieldID debugGetFieldID( const char *file, const char *func, int line, JNIEnv *env, jclass class, char *name, char *id, char *args )
-{
-	jfieldID field = (*env)->GetFieldID( env, class, name, id );
-	debug_exception( env, file, func, line, "GetFieldID", args );
-	return field;
-}
-
-static inline jstring debugNewStringUTF( const char *file, const char *func, int line, JNIEnv *env, char *str, char *args )
-{
-	jstring string = (*env)->NewStringUTF( env, str );
-	debug_exception( env, file, func, line, "NewStringUTF", args );
-	return string;
-}
-
-static inline jobject debugNewGlobalRef( const char *file, const char *func, int line, JNIEnv *env, jobject object, char *args )
-{
-	jobject newObject = (*env)->NewGlobalRef( env , object );
-	debug_exception( env, file, func, line, "NewGlobalRef", args );
-	return newObject;
-}
-
-static inline void debugDeleteLocalRef( const char *file, const char *func, int line, JNIEnv *env, jobject object, char *args )
-{
-	(*env)->DeleteLocalRef( env, object );
-	debug_exception( env, file, func, line, "DeleteLocalRef", args );
-}
-
-static inline void debugDeleteGlobalRef( const char *file, const char *func, int line, JNIEnv *env, jobject object, char *args )
-{
-	(*env)->DeleteGlobalRef( env, object );
-	debug_exception( env, file, func, line, "DeleteGlobalRef", args );
-}
-
-static inline void debugGetByteArrayRegion( const char *file, const char *func, int line, JNIEnv *env, jbyteArray array, jsize offset, jsize length, jbyte *buffer, char *args )
-{
-	(*env)->GetByteArrayRegion( env, array, offset, length, buffer );
-	debug_exception( env, file, func, line, "GetByteArrayRegion", args );
-}
-
-static inline void debugSetByteArrayRegion( const char *file, const char *func, int line, JNIEnv *env, jbyteArray array, jsize offset, jsize length, jbyte *buffer, char *args )
-{
-	(*env)->SetByteArrayRegion( env, array, offset, length, buffer );
-	debug_exception( env, file, func, line, "SetByteArrayRegion", args );
-}
-
-static inline jsize debugGetArrayLength( const char *file, const char *func, int line, JNIEnv *env, jarray array, char *args )
-{
-	jsize size = (*env)->GetArrayLength( env, array );
-	debug_exception( env, file, func, line, "GetArrayLength", args );
-	return size;
-}
-
-static inline jmethodID debugGetStaticMethodID( const char *file, const char *func, int line, JNIEnv *env, jclass class, char *name, char *id, char *args )
-{
-	jmethodID method = (*env)->GetStaticMethodID( env, class, name, id );
-	debug_exception( env, file, func, line, "GetStaticMethodID", args );
-	return method;
-}
-
-static inline jfieldID debugGetStaticFieldID( const char *file, const char *func, int line, JNIEnv *env, jclass class, char *name, char *id, char *args )
-{
-	jfieldID field = (*env)->GetStaticFieldID( env, class, name, id );
-	debug_exception( env, file, func, line, "GetStaticFieldID", args );
-	return field;
-}
-
-#endif /* _JAVAXUSBCHECKS_H */
-
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbControlRequest.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbControlRequest.c
deleted file mode 100644
index 75f876d..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbControlRequest.c
+++ /dev/null
@@ -1,191 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-/**
- * Submit a control pipe request.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxControlRequest The LinuxControlRequest.
- * @param usb The usbdevfs_urb.
- * @return The error that occurred, or 0.
- */
-int control_pipe_request( JNIEnv *env, int fd, jobject linuxControlRequest, struct usbdevfs_urb *urb )
-{
-	int offset = 0;
-	int ret = 0;
-
-	jclass LinuxControlRequest = NULL;
-	jmethodID getSetupPacket, getData, getOffset, getLength;
-	jbyteArray setupPacket = NULL, data = NULL;
-
-	LinuxControlRequest = CheckedGetObjectClass( env, linuxControlRequest );
-	getSetupPacket = CheckedGetMethodID( env, LinuxControlRequest, "getSetupPacket", "()[B" );
-	getData = CheckedGetMethodID( env, LinuxControlRequest, "getData", "()[B" );
-	getOffset = CheckedGetMethodID( env, LinuxControlRequest, "getOffset", "()I" );
-	getLength = CheckedGetMethodID( env, LinuxControlRequest, "getLength", "()I" );
-	setupPacket = CheckedCallObjectMethod( env, linuxControlRequest, getSetupPacket );
-	data = CheckedCallObjectMethod( env, linuxControlRequest, getData );
-	CheckedDeleteLocalRef( env, LinuxControlRequest );
-
-	offset = (unsigned int)CheckedCallIntMethod( env, linuxControlRequest, getOffset );
-	urb->buffer_length = (unsigned int)CheckedCallIntMethod( env, linuxControlRequest, getLength );
-
-	if (!(urb->buffer = malloc(urb->buffer_length + 8))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		ret = -ENOMEM;
-		goto END_SUBMIT;
-	}
-
-	CheckedGetByteArrayRegion( env, setupPacket, 0, 8, urb->buffer );
-	CheckedGetByteArrayRegion( env, data, offset, urb->buffer_length, urb->buffer + 8 );
-
-	/* Add 8 for the setup packet */
-	urb->buffer_length += 8;
-
-	urb->type = getControlType();
-	urb->flags = getControlFlags(urb->flags);
-
-	debug_urb( env, "control_pipe_request", urb );
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_SUBMITURB, urb )))
-		ret = -errno;
-
-END_SUBMIT:
-	if (ret)
-		if (urb->buffer) free(urb->buffer);
-
-	if (setupPacket) CheckedDeleteLocalRef( env, setupPacket );
-	if (data) CheckedDeleteLocalRef( env, data );
-
-	return ret;
-}
-
-/**
- * Complete a control pipe request.
- * @param env The JNIEnv.
- * @param linuxControlRequest The LinuxControlRequest.
- * @param urb the usbdevfs_usb.
- * @return The error that occurred, or 0.
- */
-int complete_control_pipe_request( JNIEnv *env, jobject linuxControlRequest, struct usbdevfs_urb *urb )
-{
-	jclass LinuxControlRequest = CheckedGetObjectClass( env, linuxControlRequest );
-	jmethodID setActualLength = CheckedGetMethodID( env, LinuxControlRequest, "setActualLength", "(I)V" );
-	jmethodID getData = CheckedGetMethodID( env, LinuxControlRequest, "getData", "()[B" );
-	jmethodID getOffset = CheckedGetMethodID( env, LinuxControlRequest, "getOffset", "()I" );
-	jmethodID getLength = CheckedGetMethodID( env, LinuxControlRequest, "getLength", "()I" );
-	jbyteArray data = CheckedCallObjectMethod( env, linuxControlRequest, getData );
-	unsigned int offset = (unsigned int)CheckedCallIntMethod( env, linuxControlRequest, getOffset );
-	unsigned int length = (unsigned int)CheckedCallIntMethod( env, linuxControlRequest, getLength );
-	CheckedDeleteLocalRef( env, LinuxControlRequest );
-
-	if (length < urb->actual_length) {
-		log( LOG_XFER_ERROR, "Actual length %d greater than requested length %d", urb->actual_length, length );
-		urb->actual_length = length;
-	}
-
-	CheckedSetByteArrayRegion( env, data, offset, urb->actual_length, urb->buffer + 8 );
-
-	CheckedCallVoidMethod( env, linuxControlRequest, setActualLength, urb->actual_length );
-
-	if (data) CheckedDeleteLocalRef( env, data );
-	if (urb->buffer) free(urb->buffer);
-
-	return urb->status;
-}
-
-/**
- * Set a configuration.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxSetConfigurationRequest The LinuxSetConfigurationRequest.
- * @return The error, or 0.
- */
-int set_configuration( JNIEnv *env, int fd, jobject linuxSetConfigurationRequest )
-{
-	unsigned int *configuration = NULL;
-	int ret = 0;
-
-	jclass LinuxSetConfigurationRequest;
-	jmethodID getConfiguration;
-
-	LinuxSetConfigurationRequest = CheckedGetObjectClass( env, linuxSetConfigurationRequest );
-	getConfiguration = CheckedGetMethodID( env, LinuxSetConfigurationRequest, "getConfiguration", "()I" );
-	CheckedDeleteLocalRef( env, LinuxSetConfigurationRequest );
-
-	if (!(configuration = malloc(sizeof(*configuration)))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		return -ENOMEM;
-	}
-
-	*configuration = (unsigned int)CheckedCallIntMethod( env, linuxSetConfigurationRequest, getConfiguration );
-
-	log( LOG_XFER_META, "Setting configuration to %d", *configuration );
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_SETCONFIGURATION, configuration )))
-		ret = -errno;
-
-	if (ret)
-		log( LOG_XFER_ERROR, "Could not set configuration (errno %d)", ret );
-	else
-		log( LOG_XFER_META, "set_configuration : Set configuration" );
-
-	free(configuration);
-
-	return ret;
-}
-
-/**
- * Set a interface setting.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxSetInterfaceRequest The LinuxSetInterfaceRequest.
- * @return The error, or 0.
- */
-int set_interface( JNIEnv *env, int fd, jobject linuxSetInterfaceRequest )
-{
-	struct usbdevfs_setinterface *interface = NULL;
-	int ret = 0;
-
-	jclass LinuxSetInterfaceRequest;
-	jmethodID getInterface, getSetting;
-
-	LinuxSetInterfaceRequest = CheckedGetObjectClass( env, linuxSetInterfaceRequest );
-	getInterface = CheckedGetMethodID( env, LinuxSetInterfaceRequest, "getInterface", "()I" );
-	getSetting = CheckedGetMethodID( env, LinuxSetInterfaceRequest, "getSetting", "()I" );
-	CheckedDeleteLocalRef( env, LinuxSetInterfaceRequest );
-
-	if (!(interface = malloc(sizeof(*interface)))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		return -ENOMEM;
-	}
-
-	interface->interface = (unsigned int)CheckedCallIntMethod( env, linuxSetInterfaceRequest, getInterface );
-	interface->altsetting = (unsigned int)CheckedCallIntMethod( env, linuxSetInterfaceRequest, getSetting );
-
-	log( LOG_XFER_META, "Setting interface %d to setting %d", interface->interface, interface->altsetting );
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_SETINTERFACE, interface )))
-		ret = -errno;
-
-	if (ret)
-		log( LOG_XFER_ERROR, "Could not set interface (errno %d)", ret );
-	else
-		log( LOG_XFER_META, "Set interface" );
-
-	free(interface);
-
-	return ret;
-}
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbDeviceProxy.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbDeviceProxy.c
deleted file mode 100644
index 12bf9d9..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbDeviceProxy.c
+++ /dev/null
@@ -1,253 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-/* These MUST match those defined in com/ibm/jusb/os/linux/LinuxRequest.java */
-#define LINUX_PIPE_REQUEST 1
-#define LINUX_SET_INTERFACE_REQUEST 2
-#define LINUX_SET_CONFIGURATION_REQUEST 3
-#define LINUX_CLAIM_INTERFACE_REQUEST 4
-#define LINUX_IS_CLAIMED_INTERFACE_REQUEST 5
-#define LINUX_RELEASE_INTERFACE_REQUEST 6
-#define LINUX_ISOCHRONOUS_REQUEST 7
-
-static void submitRequest( JNIEnv *env, int fd, jobject linuxRequest );
-static void cancelRequest( JNIEnv *env, int fd, jobject linuxRequest );
-static void completeRequest( JNIEnv *env, jobject linuxRequest );
-
-/*
- * Proxy for all I/O with a device
- * @author Dan Streetman
- */
-JNIEXPORT void JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy
-  ( JNIEnv *env, jclass JavaxUsb, jobject linuxDeviceProxy )
-{
-	int fd = 0;
-	struct usbdevfs_urb *urb;
-
-	jclass LinuxDeviceProxy;
-	jobject linuxRequest;
-	jstring jkey;
-	jmethodID startCompleted, isRequestWaiting, getReadyRequest, getCancelRequest;
-	jmethodID getKey;
-
-	LinuxDeviceProxy = CheckedGetObjectClass( env, linuxDeviceProxy );
-	startCompleted = CheckedGetMethodID( env, LinuxDeviceProxy, "startCompleted", "(I)V" );
-	isRequestWaiting = CheckedGetMethodID( env, LinuxDeviceProxy, "isRequestWaiting", "()Z" );
-	getReadyRequest = CheckedGetMethodID( env, LinuxDeviceProxy, "getReadyRequest", "()Lcom/ibm/jusb/os/linux/LinuxRequest;" );
-	getCancelRequest = CheckedGetMethodID( env, LinuxDeviceProxy, "getCancelRequest", "()Lcom/ibm/jusb/os/linux/LinuxRequest;" );
-	getKey = CheckedGetMethodID( env, LinuxDeviceProxy, "getKey", "()Ljava/lang/String;" );
-	jkey = CheckedCallObjectMethod( env, linuxDeviceProxy, getKey );
-	CheckedDeleteLocalRef( env, LinuxDeviceProxy );
-
-	errno = 0;
-	fd = open_device( env, jkey, O_RDWR );
-	CheckedDeleteLocalRef( env, jkey );
-
-	if (0 > fd) {
-		log( LOG_XFER_ERROR, "Could not open node for device!" );
-		CheckedCallVoidMethod( env, linuxDeviceProxy, startCompleted, errno );
-		return;
-	}
-
-	CheckedCallVoidMethod( env, linuxDeviceProxy, startCompleted, 0 );
-
-	/* run forever...? */
-	while (1) {
-		usleep( 1000 ); // Sleep 1 ms to avoid too much polling
-
-		if (JNI_TRUE == CheckedCallBooleanMethod( env, linuxDeviceProxy, isRequestWaiting )) {
-			if ((linuxRequest = CheckedCallObjectMethod( env, linuxDeviceProxy, getReadyRequest ))) {
-				log( LOG_XFER_REQUEST, "Got Request" );
-				submitRequest( env, fd, linuxRequest );
-				CheckedDeleteLocalRef( env, linuxRequest );
-				log( LOG_XFER_REQUEST, "Completed Request" );
-			}
-
-			if ((linuxRequest = CheckedCallObjectMethod( env, linuxDeviceProxy, getCancelRequest ))) {
-				log( LOG_XFER_REQUEST, "Got Abort Request" );
-				cancelRequest( env, fd, linuxRequest );
-				CheckedDeleteLocalRef( env, linuxRequest );
-				log( LOG_XFER_REQUEST, "Completed Abort Request" );
-			}
-		}
-
-		errno = 0;
-		if (!(ioctl( fd, USBDEVFS_REAPURBNDELAY, &urb ))) {
-			log( LOG_XFER_REQUEST, "Got completed URB" );
-			linuxRequest = urb->usercontext;
-			completeRequest( env, linuxRequest );
-			CheckedDeleteGlobalRef( env, linuxRequest );
-			log( LOG_XFER_REQUEST, "Finished completed URB" );
-		} else if (ENODEV == errno) {
-			break;
-		}
-	}
-
-	log( LOG_XFER_OTHER, "Device Proxy exiting." );
-
-	close( fd );
-}
-
-/**
- * Submit a LinuxRequest.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxRequest The LinuxRequest.
- */
-static void submitRequest( JNIEnv *env, int fd, jobject linuxRequest )
-{
-	int type, err, sync = 0;
-
-	jclass LinuxRequest;
-	jmethodID getType, setError, setCompleted;
-
-	LinuxRequest = CheckedGetObjectClass( env, linuxRequest );
-	getType = CheckedGetMethodID( env, LinuxRequest, "getType", "()I" );
-	setCompleted = CheckedGetMethodID( env, LinuxRequest, "setCompleted", "(Z)V" );
-	setError = CheckedGetMethodID( env, LinuxRequest, "setError", "(I)V" );
-	CheckedDeleteLocalRef( env, LinuxRequest );
-
-	type = CheckedCallIntMethod( env, linuxRequest, getType );
-
-	log( LOG_XFER_OTHER, "Submitting Request.");
-
-	switch (type) {
-	case LINUX_PIPE_REQUEST:
-		log( LOG_XFER_OTHER, "Submitting Pipe Request.");
-		err = pipe_request( env, fd, linuxRequest );
-		break;
-	case LINUX_SET_INTERFACE_REQUEST:
-		log( LOG_XFER_OTHER, "Submitting SetInterface Request.");
-		err = set_interface( env, fd, linuxRequest );
-		sync = 1;
-		break;
-	case LINUX_SET_CONFIGURATION_REQUEST:
-		log( LOG_XFER_OTHER, "Submitting SetConfiguration Request.");
-		err = set_configuration( env, fd, linuxRequest );
-		sync = 1;
-		break;
-	case LINUX_CLAIM_INTERFACE_REQUEST:
-		log( LOG_XFER_OTHER, "Submitting ClaimInterface Request.");
-		err = claim_interface( env, fd, 1, linuxRequest );
-		sync = 1;
-		break;
-	case LINUX_RELEASE_INTERFACE_REQUEST:
-		log( LOG_XFER_OTHER, "Submitting ReleaseInterface Request.");
-		err = claim_interface( env, fd, 0, linuxRequest );
-		sync = 1;
-		break;
-	case LINUX_IS_CLAIMED_INTERFACE_REQUEST:
-		log( LOG_XFER_OTHER, "Submitting IsClaimed Request.");
-		err = is_claimed( env, fd, linuxRequest );
-		sync = 1;
-		break;
-	case LINUX_ISOCHRONOUS_REQUEST:
-		log( LOG_XFER_OTHER, "Submitting Isochronous Request.");
-		err = isochronous_request( env, fd, linuxRequest );
-		break;
-	default: /* ? */
-		log( LOG_XFER_ERROR, "Unknown Request type %d", type );
-		err = -EINVAL;
-		break;
-	}
-
-	if (err)
-		CheckedCallVoidMethod( env, linuxRequest, setError, err );
-
-	if (sync || err)
-		CheckedCallVoidMethod( env, linuxRequest, setCompleted, JNI_TRUE );
-}
-
-/**
- * Cancel a LinuxRequest.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxRequest The LinuxRequest.
- */
-static void cancelRequest( JNIEnv *env, int fd, jobject linuxRequest )
-{
-	int type;
-
-	jclass LinuxRequest;
-	jmethodID getType;
-
-	LinuxRequest = CheckedGetObjectClass( env, linuxRequest );
-	getType = CheckedGetMethodID( env, LinuxRequest, "getType", "()I" );
-	CheckedDeleteLocalRef( env, LinuxRequest );
-
-	type = CheckedCallIntMethod( env, linuxRequest, getType );
-
-	switch (type) {
-	case LINUX_PIPE_REQUEST:
-		cancel_pipe_request( env, fd, linuxRequest );
-		break;
-	case LINUX_SET_INTERFACE_REQUEST:
-	case LINUX_SET_CONFIGURATION_REQUEST:
-	case LINUX_CLAIM_INTERFACE_REQUEST:
-	case LINUX_IS_CLAIMED_INTERFACE_REQUEST:
-	case LINUX_RELEASE_INTERFACE_REQUEST:
-		/* cannot abort these synchronous requests */
-		break;
-	case LINUX_ISOCHRONOUS_REQUEST:
-		cancel_isochronous_request( env, fd, linuxRequest );
-		break;
-	default: /* ? */
-		log( LOG_XFER_ERROR, "Unknown Request type %d", type );
-		break;
-	}	
-}
-
-/**
- * Complete a LinuxRequest.
- * @param env The JNIEnv.
- * @param linuxRequest The LinuxRequest.
- */
-static void completeRequest( JNIEnv *env, jobject linuxRequest )
-{
-	int type, err;
-
-	jclass LinuxRequest;
-	jmethodID getType, setError, setCompleted;
-
-	LinuxRequest = CheckedGetObjectClass( env, linuxRequest );
-	getType = CheckedGetMethodID( env, LinuxRequest, "getType", "()I" );
-	setCompleted = CheckedGetMethodID( env, LinuxRequest, "setCompleted", "(Z)V" );
-	setError = CheckedGetMethodID( env, LinuxRequest, "setError", "(I)V" );
-	CheckedDeleteLocalRef( env, LinuxRequest );
-
-	type = CheckedCallIntMethod( env, linuxRequest, getType );
-
-	switch (type) {
-	case LINUX_PIPE_REQUEST:
-		err = complete_pipe_request( env, linuxRequest );
-		break;
-	case LINUX_SET_INTERFACE_REQUEST:
-	case LINUX_SET_CONFIGURATION_REQUEST:
-	case LINUX_CLAIM_INTERFACE_REQUEST:
-	case LINUX_IS_CLAIMED_INTERFACE_REQUEST:
-	case LINUX_RELEASE_INTERFACE_REQUEST:
-		/* these are synchronous, completion happens during submit */
-		break;
-	case LINUX_ISOCHRONOUS_REQUEST:
-		err = complete_isochronous_request( env, linuxRequest );
-		break;
-	default: /* ? */
-		log( LOG_XFER_ERROR, "Unknown Request type %d", type );
-		err = -EINVAL;
-		break;
-	}
-
-	if (err)
-		CheckedCallVoidMethod( env, linuxRequest, setError, err );
-
-	CheckedCallVoidMethod( env, linuxRequest, setCompleted, JNI_TRUE );
-}
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbError.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbError.c
deleted file mode 100644
index a7b99e0..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbError.c
+++ /dev/null
@@ -1,66 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-/*
- * Get String message for specified error number
- * @author Dan Streetman
- */
-JNIEXPORT jstring JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeGetErrorMessage
-  (JNIEnv *env, jclass JavaxUsb, jint error) {
-	if (0 > error) error = -error;
-
-	switch (error) {
-		case EPERM			: return CheckedNewStringUTF( env, "Operation not permitted" );
-		case ENOENT		: return CheckedNewStringUTF( env, "Submission aborted" );
-		case EINTR			: return CheckedNewStringUTF( env, "Interrupted system call" );
-		case EIO			: return CheckedNewStringUTF( env, "I/O error" );
-		case ENXIO			: return CheckedNewStringUTF( env, "Cannot queue certain submissions on Universal Host Controller (unsupported in Linux driver)" );
-		case EAGAIN		: return CheckedNewStringUTF( env, "Temporarily busy, try again" );
-		case ENOMEM		: return CheckedNewStringUTF( env, "Out of memory" );
-		case EACCES		: return CheckedNewStringUTF( env, "Permission denied" );
-		case EBUSY			: return CheckedNewStringUTF( env, "Device or resource busy" );
-		case ENODEV		: return CheckedNewStringUTF( env, "Device removed (or no such device)" );
-		case EINVAL		: return CheckedNewStringUTF( env, "Invalid" );
-		case ENOSYS		: return CheckedNewStringUTF( env, "Function not implemented" );
-		case ENODATA		: return CheckedNewStringUTF( env, "No data available" );
-		case ERESTART		: return CheckedNewStringUTF( env, "Interrupted system call should be restarted" );
-		case EOPNOTSUPP	: return CheckedNewStringUTF( env, "Operation not supported on transport endpoint" );
-		case ECONNRESET	: return CheckedNewStringUTF( env, "Connection reset by peer" );
-		case ENOBUFS 		: return CheckedNewStringUTF( env, "No buffer space available" );
-		case ETIMEDOUT		: return CheckedNewStringUTF( env, "Timed out" );
-		case ECONNREFUSED	: return CheckedNewStringUTF( env, "Connection refused" );
-		case EALREADY		: return CheckedNewStringUTF( env, "Operation already in progress" );
-		case EINPROGRESS	: return CheckedNewStringUTF( env, "Operation now in progress" );
-		default				: {
-			char err[32];
-			sprintf(err, "Error %d", (int)error);
-			return CheckedNewStringUTF( env, err );
-		}
-	}
-}
-
-/*
- * Check if specified error is serious (continued error condition)
- * @author Dan Streetman
- */
-JNIEXPORT jboolean JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeIsErrorSerious
-  (JNIEnv *env, jclass JavaxUsb, jint error) {
-	if (0 < error) error = -error;
-
-	switch (error) {
-		case -ENODEV :
-		case -EPIPE :
-			return JNI_TRUE;
-		default :
-			return JNI_FALSE;
-	}
-}
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbInterfaceRequest.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbInterfaceRequest.c
deleted file mode 100644
index b5da448..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbInterfaceRequest.c
+++ /dev/null
@@ -1,156 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-/*
- * JavaxUsbInterfaceRequest.c
- *
- * This handles requests to claim/release interfaces
- *
- */
-
-/**
- * Disconnect the driver from the specified interface.
- * @param end The JNIEnv.
- * @param fd The file descriptor.
- * @param interface The interface number.
- */
-void disconnect_interface_driver(JNIEnv *env, int fd, int interface)
-{
-	struct usbdevfs_ioctl *disc_ioctl = NULL;
-
-	if (!(disc_ioctl = malloc(sizeof(*disc_ioctl)))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		return;
-	}
-
-	disc_ioctl->ifno = interface;
-	disc_ioctl->ioctl_code = USBDEVFS_DISCONNECT;
-	disc_ioctl->data = NULL;
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_IOCTL, disc_ioctl ))) {
-		if (ENODATA == errno)
-			log( LOG_ERROR, "No driver associated with interface %d.", interface );
-		else if (ENOSYS == errno)
-			log( LOG_ERROR, "This kernel does not support driver disconnection via USBDEVFS_DISCONNECT." );
-		else
-			log( LOG_ERROR, "Could not disconnect driver from interface %d : %s", interface, strerror(errno) );
-	} else {
-		log( LOG_INFO, "Disconnected driver from interface %d", interface );
-	}
-
-	free(disc_ioctl);
-}
-
-/**
- * Claim or release a specified interface.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param claim Whether to claim or release.
- * @param linuxRequest The request.
- * @return error.
- */
-int claim_interface( JNIEnv *env, int fd, int claim, jobject linuxRequest )
-{
-	int ret = 0, *interface = NULL;
-	int triedDisconnect = 0;
-
-	jclass LinuxRequest = NULL;
-	jmethodID getInterfaceNumber, getForceClaim;
-	jboolean forceClaim;
-
-	LinuxRequest = CheckedGetObjectClass( env, linuxRequest );
-	getInterfaceNumber = CheckedGetMethodID( env, LinuxRequest, "getInterfaceNumber", "()I" );
-	getForceClaim = CheckedGetMethodID( env, LinuxRequest, "getForceClaim", "()Z" );
-	CheckedDeleteLocalRef( env, LinuxRequest );
-	forceClaim = CheckedCallBooleanMethod( env, linuxRequest, getForceClaim );
-
-	if (!(interface = malloc(sizeof(*interface)))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		return -ENOMEM;
-	}
-
-	*interface = CheckedCallIntMethod( env, linuxRequest, getInterfaceNumber );
-
-	while(1) {
-		ret = 0;
-
-		log( LOG_FUNC, "%s interface %d", claim ? "Claiming" : "Releasing", *interface );
-
-		errno = 0;
-		if (0 > (ioctl( fd, claim ? USBDEVFS_CLAIMINTERFACE : USBDEVFS_RELEASEINTERFACE, interface )))
-			ret = -errno;
-
-		if (ret)
-			log( LOG_ERROR, "Could not %s interface %d : errno %d", claim ? "claim" : "release", *interface, ret );
-		else
-			log( LOG_FUNC, "%s interface %d", claim ? "Claimed" : "Released", *interface );
-
-		if (ret && claim && !triedDisconnect && (JNI_TRUE == forceClaim)) {
-			triedDisconnect = 1;
-			disconnect_interface_driver(env, fd, *interface);
-		} else
-			break;
-	}
-
-	free(interface);
-
-	return ret;
-}
-
-/**
- * Check if an interface is claimed.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxRequest The LinuxRequest.
- */
-int is_claimed( JNIEnv *env, int fd, jobject linuxRequest )
-{
-	struct usbdevfs_getdriver *gd;
-	int ret = 0;
-
-	jclass LinuxRequest;
-	jmethodID getInterfaceNumber, setClaimed;
-
-	LinuxRequest = CheckedGetObjectClass( env, linuxRequest );
-	getInterfaceNumber = CheckedGetMethodID( env, LinuxRequest, "getInterfaceNumber", "()I" );
-	setClaimed = CheckedGetMethodID( env, LinuxRequest, "setClaimed", "(Z)V" );
-	CheckedDeleteLocalRef( env, LinuxRequest );
-
-	if (!(gd = malloc(sizeof(*gd)))) {
-		log( LOG_CRITICAL, "Out of memory!");
-		return -ENOMEM;
-	}
-
-	memset(gd, 0, sizeof(*gd));
-
-	gd->interface = CheckedCallIntMethod( env, linuxRequest, getInterfaceNumber );
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_GETDRIVER, gd ))) {
-		ret = -errno;
-
-		if (-ENODATA == ret)
-			log( LOG_INFO, "Interface %d is not claimed.", gd->interface );
-		else
-			log( LOG_ERROR, "Could not determine if interface %d is claimed.", gd->interface );
-	} else {
-		log( LOG_INFO, "Interface %d is claimed by driver %s.", gd->interface, gd->driver );
-	}
-
-	CheckedCallVoidMethod( env, linuxRequest, setClaimed, (ret ? JNI_FALSE : JNI_TRUE) );
-
-	free(gd);
-
-	return (-ENODATA == ret ? 0 : ret);
-}
-
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbInterruptRequest.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbInterruptRequest.c
deleted file mode 100644
index e043f0a..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbInterruptRequest.c
+++ /dev/null
@@ -1,94 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-/**
- * Submit a interrupt pipe request.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxPipeRequest The LinuxPipeRequest.
- * @param usb The usbdevfs_urb.
- * @return The error that occurred, or 0.
- */
-int interrupt_pipe_request( JNIEnv *env, int fd, jobject linuxPipeRequest, struct usbdevfs_urb *urb )
-{
-	int offset = 0;
-	int ret = 0;
-
-	jclass LinuxPipeRequest = CheckedGetObjectClass( env, linuxPipeRequest );
-	jmethodID getData = CheckedGetMethodID( env, LinuxPipeRequest, "getData", "()[B" );
-	jmethodID getOffset = CheckedGetMethodID( env, LinuxPipeRequest, "getOffset", "()I" );
-	jmethodID getLength = CheckedGetMethodID( env, LinuxPipeRequest, "getLength", "()I" );
-	jbyteArray data = CheckedCallObjectMethod( env, linuxPipeRequest, getData );
-	CheckedDeleteLocalRef( env, LinuxPipeRequest );
-
-	offset = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getOffset );
-	urb->buffer_length = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getLength );
-
-	if (!(urb->buffer = malloc(urb->buffer_length))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		ret = -ENOMEM;
-		goto END_SUBMIT;
-	}
-
-	CheckedGetByteArrayRegion( env, data, offset, urb->buffer_length, urb->buffer );
-
-	urb->type = getInterruptType();
-	urb->flags = getInterruptFlags(urb->flags);
-
-	debug_urb( env, "interrupt_pipe_request", urb );
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_SUBMITURB, urb )))
-		ret = -errno;
-
-END_SUBMIT:
-	if (ret)
-		if (urb->buffer) free(urb->buffer);
-
-	if (data) CheckedDeleteLocalRef( env, data );
-
-	return ret;
-}
-
-/**
- * Complete a interrupt pipe request.
- * @param env The JNIEnv.
- * @param linuxPipeRequest The LinuxPipeRequest.
- * @param urb the usbdevfs_usb.
- * @return The error that occurred, or 0.
- */
-int complete_interrupt_pipe_request( JNIEnv *env, jobject linuxPipeRequest, struct usbdevfs_urb *urb )
-{
-	jclass LinuxPipeRequest = CheckedGetObjectClass( env, linuxPipeRequest );
-	jmethodID setActualLength = CheckedGetMethodID( env, LinuxPipeRequest, "setActualLength", "(I)V" );
-	jmethodID getData = CheckedGetMethodID( env, LinuxPipeRequest, "getData", "()[B" );
-	jmethodID getOffset = CheckedGetMethodID( env, LinuxPipeRequest, "getOffset", "()I" );
-	jmethodID getLength = CheckedGetMethodID( env, LinuxPipeRequest, "getLength", "()I" );
-	jbyteArray data = CheckedCallObjectMethod( env, linuxPipeRequest, getData );
-	unsigned int offset = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getOffset );
-	unsigned int length = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getLength );
-	CheckedDeleteLocalRef( env, LinuxPipeRequest );
-
-	if (length < urb->actual_length) {
-		log( LOG_XFER_ERROR, "Actual length %d greater than requested length %d", urb->actual_length, length );
-		urb->actual_length = length;
-	}
-
-	CheckedSetByteArrayRegion( env, data, offset, urb->actual_length, urb->buffer );
-
-	CheckedCallVoidMethod( env, linuxPipeRequest, setActualLength, urb->actual_length );
-
-	if (data) CheckedDeleteLocalRef( env, data );
-	if (urb->buffer) free(urb->buffer);
-
-	return urb->status;
-}
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbIsochronousRequest.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbIsochronousRequest.c
deleted file mode 100644
index 4bf2003..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbIsochronousRequest.c
+++ /dev/null
@@ -1,331 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-/* simple isochronous functions */
-
-/**
- * Submit a simple isochronous pipe request.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxPipeRequest The LinuxPipeRequest.
- * @param usb The usbdevfs_urb.
- * @return The error that occurred, or 0.
- */
-int isochronous_pipe_request( JNIEnv *env, int fd, jobject linuxPipeRequest, struct usbdevfs_urb *urb )
-{
-	int offset = 0;
-	int ret = 0;
-
-	jclass LinuxPipeRequest = CheckedGetObjectClass( env, linuxPipeRequest );
-	jmethodID getData = CheckedGetMethodID( env, LinuxPipeRequest, "getData", "()[B" );
-	jmethodID getOffset = CheckedGetMethodID( env, LinuxPipeRequest, "getOffset", "()I" );
-	jmethodID getLength = CheckedGetMethodID( env, LinuxPipeRequest, "getLength", "()I" );
-	jbyteArray data = CheckedCallObjectMethod( env, linuxPipeRequest, getData );
-	CheckedDeleteLocalRef( env, LinuxPipeRequest );
-
-	offset = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getOffset );
-	urb->buffer_length = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getLength );
-
-	if (!(urb->buffer = malloc(urb->buffer_length))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		ret = -ENOMEM;
-		goto END_SUBMIT;
-	}
-
-	CheckedGetByteArrayRegion( env, data, offset, urb->buffer_length, urb->buffer );
-
-	urb->type = getIsochronousType();
-	urb->flags = getIsochronousFlags(urb->flags);
-	urb->number_of_packets = 1;
-	urb->iso_frame_desc[0].length = urb->buffer_length;
-
-	debug_urb( env, "isochronous_pipe_request", urb );
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_SUBMITURB, urb )))
-		ret = -errno;
-
-END_SUBMIT:
-	if (ret)
-		if (urb->buffer) free(urb->buffer);
-
-	if (data) CheckedDeleteLocalRef( env, data );
-
-	return ret;
-}
-
-/**
- * Complete a simple isochronous pipe request.
- * @param env The JNIEnv.
- * @param linuxPipeRequest The LinuxPipeRequest.
- * @param urb the usbdevfs_usb.
- * @return The error that occurred, or 0.
- */
-int complete_isochronous_pipe_request( JNIEnv *env, jobject linuxPipeRequest, struct usbdevfs_urb *urb )
-{
-	jclass LinuxPipeRequest = CheckedGetObjectClass( env, linuxPipeRequest );
-	jmethodID setActualLength = CheckedGetMethodID( env, LinuxPipeRequest, "setActualLength", "(I)V" );
-	jmethodID getData = CheckedGetMethodID( env, LinuxPipeRequest, "getData", "()[B" );
-	jmethodID getOffset = CheckedGetMethodID( env, LinuxPipeRequest, "getOffset", "()I" );
-	jmethodID getLength = CheckedGetMethodID( env, LinuxPipeRequest, "getLength", "()I" );
-	jbyteArray data = CheckedCallObjectMethod( env, linuxPipeRequest, getData );
-	unsigned int offset = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getOffset );
-	unsigned int length = (unsigned int)CheckedCallIntMethod( env, linuxPipeRequest, getLength );
-	CheckedDeleteLocalRef( env, LinuxPipeRequest );
-
-	if (length < urb->actual_length) {
-		log( LOG_XFER_ERROR, "Actual length %d greater than requested length %d", urb->actual_length, length );
-		urb->actual_length = length;
-	}
-
-	CheckedSetByteArrayRegion( env, data, offset, urb->actual_length, urb->buffer );
-
-	CheckedCallVoidMethod( env, linuxPipeRequest, setActualLength, urb->iso_frame_desc[0].actual_length );
-
-	if (data) CheckedDeleteLocalRef( env, data );
-	if (urb->buffer) free(urb->buffer);
-
-	return urb->iso_frame_desc[0].status;
-}
-
-/* Complex isochronous functions */
-
-static inline int create_iso_buffer( JNIEnv *env, jobject linuxIsochronousRequest, struct usbdevfs_urb *urb );
-static inline int destroy_iso_buffer( JNIEnv *env, jobject linuxIsochronousRequest, struct usbdevfs_urb *urb );
-
-/**
- * Submit a complex isochronous pipe request.
- * Note that this does not support _disabling_ short packets.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxIsochronousRequest The LinuxIsochronousRequest.
- * @return The error that occurred, or 0.
- */
-int isochronous_request( JNIEnv *env, int fd, jobject linuxIsochronousRequest )
-{
-	struct usbdevfs_urb *urb;
-	int ret = 0, npackets, bufsize, urbsize;
-
-	jclass LinuxIsochronousRequest;
-	jmethodID getAcceptShortPacket, getTotalLength, size, setUrbAddress, getEndpointAddress;
-
-	LinuxIsochronousRequest = CheckedGetObjectClass( env, linuxIsochronousRequest );
-	getAcceptShortPacket = CheckedGetMethodID( env, LinuxIsochronousRequest, "getAcceptShortPacket", "()Z" );
-	getTotalLength = CheckedGetMethodID( env, LinuxIsochronousRequest, "getTotalLength", "()I" );
-	size = CheckedGetMethodID( env, LinuxIsochronousRequest, "size", "()I" );
-	setUrbAddress = CheckedGetMethodID( env, LinuxIsochronousRequest, "setUrbAddress", "(J)V" );
-	getEndpointAddress = CheckedGetMethodID( env, LinuxIsochronousRequest, "getEndpointAddress", "()B" );
-	npackets = (unsigned int)CheckedCallIntMethod( env, linuxIsochronousRequest, size );
-	bufsize = (unsigned int)CheckedCallIntMethod( env, linuxIsochronousRequest, getTotalLength );
-	CheckedDeleteLocalRef( env, LinuxIsochronousRequest );
-
-	urbsize = sizeof(*urb) + (npackets * sizeof(struct usbdevfs_iso_packet_desc));
-
-	if (!(urb = malloc(urbsize))) {
-		log( LOG_CRITICAL, "Out of memory! (%d bytes needed)", urbsize );
-		ret = -ENOMEM;
-		goto ISOCHRONOUS_REQUEST_END;
-	}
-
-	memset(urb, 0, urbsize);
-
-	urb->number_of_packets = npackets;
-	urb->buffer_length = bufsize;
-
-	if (!(urb->buffer = malloc(urb->buffer_length))) {
-		log( LOG_CRITICAL, "Out of memory! (%d needed)", urb->buffer_length );
-		ret = -ENOMEM;
-		goto ISOCHRONOUS_REQUEST_END;
-	}
-
-	memset(urb->buffer, 0, urb->buffer_length);
-
-	if ((ret = create_iso_buffer( env, linuxIsochronousRequest, urb )))
-		goto ISOCHRONOUS_REQUEST_END;
-
-	urb->type = getIsochronousType();
-	urb->usercontext = CheckedNewGlobalRef( env, linuxIsochronousRequest );
-	urb->endpoint = (unsigned char)CheckedCallByteMethod( env, linuxIsochronousRequest, getEndpointAddress );
-	urb->flags = getIsochronousFlags(urb->flags);
-
-	log( LOG_XFER_OTHER, "Submitting URB" );
-	debug_urb( env, "isochronous_request", urb );
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_SUBMITURB, urb )))
-		ret = -errno;
-
-	if (ret) {
-		log( LOG_XFER_ERROR, "Could not submit URB (errno %d)", ret );
-	} else {
-		log( LOG_XFER_OTHER, "isochronous_request : Submitted URB" );
-		CheckedCallVoidMethod( env, linuxIsochronousRequest, setUrbAddress, urb );
-	}
-
-ISOCHRONOUS_REQUEST_END:
-	if (ret) {
-		if (urb) {
-			if (urb->usercontext) CheckedDeleteGlobalRef( env, urb->usercontext);
-			if (urb->buffer) free(urb->buffer);
-			free(urb);
-		}
-	}
-
-	return ret;
-}
-
-/**
- * Cancel a complex isochronous request.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxIsochronousRequest The LinuxIsochronousRequest.
- */
-void cancel_isochronous_request( JNIEnv *env, int fd, jobject linuxIsochronousRequest )
-{
-	struct usbdevfs_urb *urb;
-
-	jclass LinuxIsochronousRequest;
-	jmethodID getUrbAddress;
-
-	LinuxIsochronousRequest = CheckedGetObjectClass( env, linuxIsochronousRequest );
-	getUrbAddress = CheckedGetMethodID( env, LinuxIsochronousRequest, "getUrbAddress", "()J" );
-	CheckedDeleteLocalRef( env, LinuxIsochronousRequest );
-
-	log( LOG_XFER_OTHER, "Canceling URB" );
-
-	urb = (struct usbdevfs_urb *)CheckedCallLongMethod( env, linuxIsochronousRequest, getUrbAddress );
-
-	if (!urb) {
-		log( LOG_XFER_ERROR, "No URB to cancel" );
-		return;
-	}
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_DISCARDURB, urb )))
-		log( LOG_XFER_ERROR, "Could not unlink urb %p (error %d)", urb, -errno );
-}
-
-/**
- * Complete a complex isochronous pipe request.
- * @param env The JNIEnv.
- * @param linuxIsochronousRequest The LinuxIsochronousRequest.
- * @return The error that occurred, or 0.
- */
-int complete_isochronous_request( JNIEnv *env, jobject linuxIsochronousRequest )
-{
-	struct usbdevfs_urb *urb;
-	int ret;
-
-	jclass LinuxIsochronousRequest;
-	jmethodID getUrbAddress;
-
-	LinuxIsochronousRequest = CheckedGetObjectClass( env, linuxIsochronousRequest );
-	getUrbAddress = CheckedGetMethodID( env, LinuxIsochronousRequest, "getUrbAddress", "()J" );
-	CheckedDeleteLocalRef( env, LinuxIsochronousRequest );
-
-	if (!(urb = (struct usbdevfs_urb*)CheckedCallLongMethod( env, linuxIsochronousRequest, getUrbAddress ))) {
-		log( LOG_XFER_ERROR, "No URB to complete!" );
-		return -EINVAL;
-	}
-
-	log( LOG_XFER_OTHER, "Completing URB" );
-	debug_urb( env, "complete_isochronous_request", urb );
-
-	ret = destroy_iso_buffer( env, linuxIsochronousRequest, urb );
-
-	free(urb->buffer);
-	free(urb);
-
-	log( LOG_XFER_OTHER, "Completed URB" );
-
-	return ret;
-}
-
-/**
- * Create the multi-packet ISO buffer and iso_frame_desc's.
- */
-static inline int create_iso_buffer( JNIEnv *env, jobject linuxIsochronousRequest, struct usbdevfs_urb *urb )
-{
-	int i, offset = 0, buffer_offset = 0;
-
-	jclass LinuxIsochronousRequest;
-	jmethodID getDirection, getData, getOffset, getLength;
-	jbyteArray jbuf;
-
-	LinuxIsochronousRequest = CheckedGetObjectClass( env, linuxIsochronousRequest );
-	getDirection = CheckedGetMethodID( env, LinuxIsochronousRequest, "getDirection", "()B" );
-	getData = CheckedGetMethodID( env, LinuxIsochronousRequest, "getData", "(I)[B" );
-	getOffset = CheckedGetMethodID( env, LinuxIsochronousRequest, "getOffset", "(I)I" );
-	getLength = CheckedGetMethodID( env, LinuxIsochronousRequest, "getLength", "(I)I" );
-	CheckedDeleteLocalRef( env, LinuxIsochronousRequest );
-
-	for (i=0; i<urb->number_of_packets; i++) {
-	  if (!(jbuf = CheckedCallObjectMethod( env, linuxIsochronousRequest, getData, i ))) {
-		log( LOG_XFER_ERROR, "Could not access data at index %d", i );
-		return -EINVAL;
-	  }
-
-	  offset = CheckedCallIntMethod( env, linuxIsochronousRequest, getOffset, i );
-	  urb->iso_frame_desc[i].length = CheckedCallIntMethod( env, linuxIsochronousRequest, getLength, i );
-	  CheckedGetByteArrayRegion( env, jbuf, offset, urb->iso_frame_desc[i].length, urb->buffer + buffer_offset );
-	  buffer_offset += urb->iso_frame_desc[i].length;
-
-	  CheckedDeleteLocalRef( env, jbuf );
-	}
-
-	return 0;
-}
-
-/**
- * Destroy the multi-packet ISO buffer and iso_frame_desc's.
- */
-static inline int destroy_iso_buffer( JNIEnv *env, jobject linuxIsochronousRequest, struct usbdevfs_urb *urb )
-{
-	int i, offset = 0, buffer_offset = 0, actual_length = 0;
-
-	jclass LinuxIsochronousRequest;
-	jmethodID getDirection, getData, getOffset, setActualLength, setError;
-	jbyteArray jbuf;
-
-	LinuxIsochronousRequest = CheckedGetObjectClass( env, linuxIsochronousRequest );
-	getDirection = CheckedGetMethodID( env, LinuxIsochronousRequest, "getDirection", "()B" );
-	getData = CheckedGetMethodID( env, LinuxIsochronousRequest, "getData", "(I)[B" );
-	getOffset = CheckedGetMethodID( env, LinuxIsochronousRequest, "getOffset", "(I)I" );
-	setActualLength = CheckedGetMethodID( env, LinuxIsochronousRequest, "setActualLength", "(II)V" );
-	setError = CheckedGetMethodID( env, LinuxIsochronousRequest, "setError", "(II)V" );
-	CheckedDeleteLocalRef( env, LinuxIsochronousRequest );
-
-	for (i=0; i<urb->number_of_packets; i++) {
-	  if (!(jbuf = CheckedCallObjectMethod( env, linuxIsochronousRequest, getData, i ))) {
-		log( LOG_XFER_ERROR, "Could not access data buffer at index %d", i );
-		return -EINVAL;
-	  }
-
-	  offset = CheckedCallIntMethod( env, linuxIsochronousRequest, getOffset, i );
-	  actual_length = urb->iso_frame_desc[i].actual_length;
-	  if ((offset + actual_length) > CheckedGetArrayLength( env, jbuf )) {
-		log( LOG_XFER_ERROR, "Data buffer %d too small, data truncated!", i );
-		actual_length = CheckedGetArrayLength( env, jbuf ) - offset;
-	  }
-	  CheckedSetByteArrayRegion( env, jbuf, offset, actual_length, urb->buffer + buffer_offset );
-	  CheckedCallVoidMethod( env, linuxIsochronousRequest, setActualLength, i, actual_length );
-	  if (0 > urb->iso_frame_desc[i].status)
-		CheckedCallVoidMethod( env, linuxIsochronousRequest, setError, i, urb->iso_frame_desc[i].status );
-	  buffer_offset += urb->iso_frame_desc[i].length;
-
-	  CheckedDeleteLocalRef( env, jbuf );
-	}
-			
-//FIXME - what should we return here, this or something based on each packet's status?
-	return urb->status;
-}
-
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbKernel.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbKernel.c
deleted file mode 100644
index 22440ff..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbKernel.c
+++ /dev/null
@@ -1,152 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-static int kernel_version = 0;
-
-#define KERNEL_VERSION(version,patchlevel,sublevel) ((version<<16) | (patchlevel<<8) | sublevel)
-
-// This is defined as various names in different kernel versions but the number is always the same
-#define NO_ACCEPT_SHORT_PACKET 0x0001
-
-// This is defined only in 2.4 kernels.
-#define QUEUE_BULK 0x10
-#define QUEUE_BULK_LAST_KERNEL_VERSION KERNEL_VERSION(2,4,29)
-
-// 2.4 USB subsystems do not allow queued interrupt transfers but do allow (encourage?) interrupt-using-bulk
-#define INTERRUPT_USES_BULK_LAST_KERNEL_VERSION KERNEL_VERSION(2,4,99)
-
-static void setKernelVersion(void)
-{
-	struct utsname name;
-
-	if (!uname(&name)) {
-		char *p = name.release;
-		int num[3], i;
-
-		for (i=0; i<3; i++) {
-		  			errno = 0;
- 			if (((int)*p < '0') || ((int)*p > '9')) {
-		  				log(LOG_ERROR, "Could not parse release string %s : %s", name.release, strerror(errno));
-		  				break;
-		  			} else {
-                        num[i] = strtol(p, &p,0);
-		  				p++;
-			}
-		}
-		if (3 == i) {
-			log(LOG_INFO, "Kernel version string %s parsed as %d.%d.%d",name.release,num[0],num[1],num[2]);
-			kernel_version = KERNEL_VERSION(num[0],num[1],num[2]);
-			return;
-		}
-	}
-
-	log(LOG_CRITICAL, "Could not determine kernel version : %s", strerror(errno));
-	log(LOG_ERROR, "Using (most likely wrong) kernel version of 2.4.0");
-	kernel_version = KERNEL_VERSION(2,4,0);
-}
-
-static int getKernelVersion(void)
-{
-	if (!kernel_version)
-		setKernelVersion();
-
-	return kernel_version;
-}
-
-/* Get the flag for queueing bulk transfers, only used on older kernels. */
-static int getQueueBulkFlag(void)
-{
-	return (QUEUE_BULK_LAST_KERNEL_VERSION >= getKernelVersion() ? QUEUE_BULK : 0);
-}
-
-/* Get the flag for accepting/rejecting short packets.
- * The parameter is whether short packets should be accepted or not.
- */
-int getShortPacketFlag(int accept) { return ( accept ? 0 : NO_ACCEPT_SHORT_PACKET ); }
-
-/* This sets/clears flags as appropriate to the transfer type.
- * The parameter is the existing flags, the return is the modified flags.
- */
-int getIsochronousFlags(int flags) { return (~NO_ACCEPT_SHORT_PACKET & (USBDEVFS_URB_ISO_ASAP | flags)); }
-int getControlFlags(int flags) { return flags; }
-int getBulkFlags(int flags) { return getQueueBulkFlag() | flags; }
-int getInterruptFlags(int flags)
-{
-	return ((INTERRUPT_USES_BULK_LAST_KERNEL_VERSION >= getKernelVersion()) ? (getBulkFlags(flags)) : flags);
-}
-
-// These #defined values have never changed name
-int getIsochronousType(void) { return USBDEVFS_URB_TYPE_ISO; }
-int getControlType(void) { return USBDEVFS_URB_TYPE_CONTROL; }
-int getBulkType(void) { return USBDEVFS_URB_TYPE_BULK; }
-int getInterruptType(void)
-{
-	return (INTERRUPT_USES_BULK_LAST_KERNEL_VERSION >= getKernelVersion() ? getBulkType() : USBDEVFS_URB_TYPE_INTERRUPT);
-}
-
-
-// These are probably not the best way to determine where the usbfs is but it's simple.
-
-#define USBDEVFS_PATH_OLD "/proc/bus/usb"
-#define USBDEVFS_DEVICES_OLD "/proc/bus/usb/devices"
-#define USBDEVFS_SPRINTF_NODE_OLD "/proc/bus/usb/%3.03d/%3.03d"
-#define USBDEVFS_SSCANF_NODE_OLD "/proc/bus/usb/%3d/%3d"
-
-#define USBDEVFS_PATH_NEW "/dev/bus/usb"
-#define USBDEVFS_DEVICES_NEW "/dev/bus/usb/devices"
-#define USBDEVFS_SPRINTF_NODE_NEW1 "/dev/bus/usb/%3.03d/%3.03d"
-#define USBDEVFS_SPRINTF_NODE_NEW2 "/dev/bus/usb/%d/%d"
-#define USBDEVFS_SSCANF_NODE_NEW1 "/dev/bus/usb/%3d/%3d"
-#define USBDEVFS_SSCANF_NODE_NEW2 "/dev/bus/usb/%d/%d"
-#define USBDEVFS_CHECK_NODE_NEW1 "/dev/bus/usb/001/001"
-#define USBDEVFS_CHECK_NODE_NEW2 "/dev/bus/usb/1/1"
-
-char *usbdevfs_path()
-{
-	struct stat buf;
-	if ((0 == stat(USBDEVFS_PATH_NEW, &buf)) && S_ISDIR(buf.st_mode))
-		return USBDEVFS_PATH_NEW;
-	else
-		return USBDEVFS_PATH_OLD;
-}
-
-char *usbdevfs_devices_filename()
-{
-	struct stat buf;
-	if (0 == stat(USBDEVFS_DEVICES_NEW, &buf))
-		return USBDEVFS_DEVICES_NEW;
-	else
-		return USBDEVFS_DEVICES_OLD;
-}
-
-char *usbdevfs_sscanf_node()
-{
-	struct stat buf;
-	if ((0 == stat(USBDEVFS_CHECK_NODE_NEW1, &buf)))
-		return USBDEVFS_SSCANF_NODE_NEW1;
-	else if ((0 == stat(USBDEVFS_CHECK_NODE_NEW2, &buf)))
-		return USBDEVFS_SSCANF_NODE_NEW2;
-	else
-		return USBDEVFS_SSCANF_NODE_OLD;
-}
-
-char *usbdevfs_sprintf_node()
-{
-	struct stat buf;
-	if ((0 == stat(USBDEVFS_CHECK_NODE_NEW1, &buf)))
-		return USBDEVFS_SPRINTF_NODE_NEW1;
-	else if ((0 == stat(USBDEVFS_CHECK_NODE_NEW2, &buf)))
-		return USBDEVFS_SPRINTF_NODE_NEW2;
-	else
-		return USBDEVFS_SPRINTF_NODE_OLD;
-}
-
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbKernel.h b/target-platform/javax.usb.linux/src/main/c/JavaxUsbKernel.h
deleted file mode 100644
index 909495b..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbKernel.h
+++ /dev/null
@@ -1,155 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#ifndef _JAVAX_USB_KERNEL_H
-#define _JAVAX_USB_KERNEL_H
-
-//******************************************************************************
-// Kernel-specific
-
-#include <sys/utsname.h>
-
-// I give up - the kernel guys can't keep their headers clean enough to include them from userspace programs.
-// So everything we need is redefined here.
-
-#define USB_DT_DEVICE			0x01
-#define USB_DT_CONFIG			0x02
-#define USB_DT_STRING			0x03
-#define USB_DT_INTERFACE		0x04
-#define USB_DT_ENDPOINT			0x05
-
-#define USB_DT_HID			0x21
-#define USB_DT_REPORT			0x22
-#define USB_DT_PHYSICAL			0x23
-#define USB_DT_HUB			0x29
-
-/*
- * Descriptor sizes per descriptor type
- */
-#define USB_DT_DEVICE_SIZE		18
-#define USB_DT_CONFIG_SIZE		9
-#define USB_DT_INTERFACE_SIZE		9
-#define USB_DT_ENDPOINT_SIZE		7
-#define USB_DT_ENDPOINT_AUDIO_SIZE	9	/* Audio extension */
-#define USB_DT_HUB_NONVAR_SIZE		7
-
-#define USB_CLASS_PER_INTERFACE		0	/* for DeviceClass */
-#define USB_CLASS_AUDIO			1
-#define USB_CLASS_COMM			2
-#define USB_CLASS_HID			3
-#define USB_CLASS_PRINTER		7
-#define USB_CLASS_PTP			6
-#define USB_CLASS_MASS_STORAGE		8
-#define USB_CLASS_HUB			9
-#define USB_CLASS_DATA			10
-#define USB_CLASS_VENDOR_SPEC		0xff
-
-#define USBDEVFS_URB_SHORT_NOT_OK          1
-#define USBDEVFS_URB_ISO_ASAP              2
-
-#define USBDEVFS_URB_TYPE_ISO		   0
-#define USBDEVFS_URB_TYPE_INTERRUPT	   1
-#define USBDEVFS_URB_TYPE_CONTROL	   2
-#define USBDEVFS_URB_TYPE_BULK		   3
-
-struct usbdevfs_ctrltransfer {
-	unsigned char bmRequestType;
-	unsigned char bRequest;
-	unsigned short wValue;
-	unsigned short wIndex;
-	unsigned short wLength;
-	unsigned int timeout;  /* in milliseconds */
-	void *data;
-};
-
-struct usbdevfs_setinterface {
-	unsigned int interface;
-	unsigned int altsetting;
-};
-
-struct usbdevfs_iso_packet_desc {
-	unsigned int length;
-	unsigned int actual_length;
-	unsigned int status;
-};
-
-struct usbdevfs_urb {
-	unsigned char type;
-	unsigned char endpoint;
-	int status;
-	unsigned int flags;
-	void  *buffer;
-	int buffer_length;
-	int actual_length;
-	int start_frame;
-	int number_of_packets;
-	int error_count;
-	unsigned int signr;  /* signal to be sent on error, -1 if none should be sent */
-	void *usercontext;
-	struct usbdevfs_iso_packet_desc iso_frame_desc[0];
-};
-
-#define USBDEVFS_MAXDRIVERNAME 255
-
-struct usbdevfs_getdriver {
-	unsigned int interface;
-	char driver[USBDEVFS_MAXDRIVERNAME + 1];
-};
-
-struct usbdevfs_connectinfo {
-	unsigned int devnum;
-	unsigned char slow;
-};
-
-struct usbdevfs_ioctl {
-	int	ifno;		/* interface 0..N ; negative numbers reserved */
-	int	ioctl_code;	/* MUST encode size + direction of data so the
-				 * macros in <asm/ioctl.h> give correct values */
-	void  *data;	/* param buffer (in, or out) */
-};
-
-struct usbdevfs_hub_portinfo {
-	char nports;		/* number of downstream ports in this hub */
-	char port [127];	/* e.g. port 3 connects to device 27 */
-};
-
-#define USBDEVFS_CONTROL           _IOWR('U', 0, struct usbdevfs_ctrltransfer)
-#define USBDEVFS_SETINTERFACE      _IOR('U', 4, struct usbdevfs_setinterface)
-#define USBDEVFS_SETCONFIGURATION  _IOR('U', 5, unsigned int)
-#define USBDEVFS_GETDRIVER         _IOW('U', 8, struct usbdevfs_getdriver)
-#define USBDEVFS_SUBMITURB         _IOR('U', 10, struct usbdevfs_urb)
-#define USBDEVFS_DISCARDURB        _IO('U', 11)
-#define USBDEVFS_REAPURB           _IOW('U', 12, void *)
-#define USBDEVFS_REAPURBNDELAY     _IOW('U', 13, void *)
-#define USBDEVFS_CLAIMINTERFACE    _IOR('U', 15, unsigned int)
-#define USBDEVFS_RELEASEINTERFACE  _IOR('U', 16, unsigned int)
-#define USBDEVFS_CONNECTINFO       _IOW('U', 17, struct usbdevfs_connectinfo)
-#define USBDEVFS_IOCTL             _IOWR('U', 18, struct usbdevfs_ioctl)
-#define USBDEVFS_HUB_PORTINFO      _IOR('U', 19, struct usbdevfs_hub_portinfo)
-#define USBDEVFS_DISCONNECT        _IO('U', 22)
-
-int getShortPacketFlag(int accept);
-
-int getIsochronousFlags(int flags);
-int getInterruptFlags(int flags);
-int getControlFlags(int flags);
-int getBulkFlags(int flags);
-
-int getIsochronousType(void);
-int getInterruptType(void);
-int getControlType(void);
-int getBulkType(void);
-
-char *usbdevfs_path();
-char *usbdevfs_devices_filename();
-char *usbdevfs_sscanf_node();
-char *usbdevfs_sprintf_node();
-
-#endif /* _JAVAX_USB_KERNEL_H */
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbLog.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbLog.c
deleted file mode 100644
index 227d48d..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbLog.c
+++ /dev/null
@@ -1,91 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-#define JAVAXUSB_CLASSNAME "com/ibm/jusb/os/linux/JavaxUsb"
-
-jboolean tracing = JNI_TRUE;
-jboolean trace_default = JNI_TRUE;
-jboolean trace_hotplug = JNI_TRUE;
-jboolean trace_xfer = JNI_TRUE;
-jboolean trace_urb = JNI_FALSE;
-int trace_level = LOG_CRITICAL;
-FILE *trace_output = NULL;
-
-//FIXME - add parameter to modify this!!!
-jboolean trace_flush = JNI_TRUE;
-
-JNIEXPORT void JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeSetTracing
-(JNIEnv *env, jclass JavaxUsb, jboolean enable)
-{
-	tracing = enable;
-}
-
-JNIEXPORT void JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeSetTraceType
-(JNIEnv *env, jclass JavaxUsb, jboolean setting, jstring jname)
-{
-	const char *name = (*env)->GetStringUTFChars( env, jname, NULL );
-	if (!strcmp("default", name))
-		trace_default = setting;
-	else if (!strcmp("hotplug", name))
-		trace_hotplug = setting;
-	else if (!strcmp("xfer", name))
-		trace_xfer = setting;
-	else if (!strcmp("urb", name))
-		trace_urb = setting;
-	else
-		log( LOG_ERROR, "No match for log type %s", name );
-	(*env)->ReleaseStringUTFChars( env, jname, name );
-}
-
-JNIEXPORT void JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeSetTraceLevel
-(JNIEnv *env, jclass JavaxUsb, jint level)
-{
-	if (LOG_LEVEL_MIN > level || LOG_LEVEL_MAX < level)
-		log( LOG_ERROR, "Invalid trace level %d", level );
-	else
-		trace_level = level;
-}
-
-JNIEXPORT void JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeSetTraceOutput
-(JNIEnv *env, jclass JavaxUsb, jint output, jstring filename)
-{
-	switch (output) {
-		case 1:
-			trace_output = stdout;
-			break;
-
-		case 2:
-			trace_output = stderr;
-			break;
-
-		case 3:
-		case 4:
-			{
-				const char *name = (*env)->GetStringUTFChars( env, filename, NULL );
-				FILE *f = NULL;
-				const char *mode = (3 == output ? "w" : "a"); /* w = trunc, a = append */
-
-				if ((f = fopen(name, mode)))
-					trace_output = f;
-				else
-					log( LOG_ERROR, "Could not open file %s for JNI tracing : %s\n", name, strerror(errno) );
-
-				(*env)->ReleaseStringUTFChars( env, filename, name );
-			}
-			break;
-
-		default:
-			log( LOG_ERROR, "Invalid trace output setting %d\n", output );
-			break;
-	}
-}
-
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbLog.h b/target-platform/javax.usb.linux/src/main/c/JavaxUsbLog.h
deleted file mode 100644
index d917a28..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbLog.h
+++ /dev/null
@@ -1,109 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#ifndef _JAVAXUSBLOG_H
-#define _JAVAXUSBLOG_H
-
-#include <jni.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-extern jboolean tracing;
-extern jboolean trace_default;
-extern jboolean trace_hotplug;
-extern jboolean trace_xfer;
-extern jboolean trace_urb;
-extern int trace_level;
-extern FILE *trace_output;
-extern jboolean trace_flush;
-
-/* Log to trace_output FILE* (stderr by default). */
-#define log(level,args...) do { \
-  if (!tracing || (trace_level < LOG_LEVEL(level))) break; \
-  if (LOG_XFER_FLAG&level) log_xfer(level,args); \
-  else if (LOG_HOTPLUG_FLAG&level) log_hotplug(level,args); \
-  else if (LOG_URB_FLAG&level) log_urb(level,args); \
-  else log_default(level,args); \
-} while(0)
-
-#define LOG_LEVEL(level) (LOG_LEVEL_MASK&level)
-#define LOG_TYPE(type) (LOG_FLAG_MASK&level)
-
-#define LOG_LEVEL_MASK    0x00ff
-#define LOG_LEVEL_MIN     0x0000
-#define LOG_LEVEL_MAX     0x00ff
-#define LOG_FLAG_MASK     0x0f00
-#define LOG_XFER_FLAG     0x0100
-#define LOG_HOTPLUG_FLAG  0x0200
-#define LOG_URB_FLAG      0x0400
-
-/* Logging levels: */
-#define LOG_CRITICAL  0x00 /* critical messages, this is the default */
-#define LOG_ERROR     0x01 /* error messages */
-#define LOG_INFO      0x02 /* function internal */
-#define LOG_FUNC      0x03 /* function entry/exit */
-#define LOG_DEBUG     0x04 /* debugging */
-#define LOG_OTHER     0x05 /* all other logging */
-
-/* Log data transfers */
-#define log_xfer(level,args...) do { if (trace_xfer) log_named(level,"xfer",args); } while(0)
-#define LOG_XFER_CRITICAL  (LOG_XFER_FLAG | 0x00) /* critical xfers errors */
-#define LOG_XFER_ERROR     (LOG_XFER_FLAG | 0x01) /* xfer errors */
-#define LOG_XFER_REQUEST   (LOG_XFER_FLAG | 0x02) /* request received or completed */
-#define LOG_XFER_META      (LOG_XFER_FLAG | 0x03) /* metadata (device, endpoint, setup, etc) */
-#define LOG_XFER_DATA      (LOG_XFER_FLAG | 0x04) /* raw data only */
-#define LOG_XFER_OTHER     (LOG_XFER_FLAG | 0x05) /* all other transfer logging */
-
-/* Log hotplug / initialization */
-#define log_hotplug(level,args...) do { if (trace_hotplug) log_named(level,"hotplug",args); } while(0)
-#define LOG_HOTPLUG_CRITICAL (LOG_HOTPLUG_FLAG | 0x00) /* critical hotplug errors */
-#define LOG_HOTPLUG_ERROR    (LOG_HOTPLUG_FLAG | 0x01) /* hotplug errors */
-#define LOG_HOTPLUG_CHANGE   (LOG_HOTPLUG_FLAG | 0x02) /* connect/disconnect notices */
-#define LOG_HOTPLUG_DEVICE   (LOG_HOTPLUG_FLAG | 0x03) /* device information */
-#define LOG_HOTPLUG_OTHER    (LOG_HOTPLUG_FLAG | 0x04) /* all other logging */
-
-/* Log urb data */
-#define log_urb(level,args...) do { if (trace_urb) log_named(level,"urb",args); } while(0)
-#define LOG_URB_METADATA (LOG_URB_FLAG | 0x02) /* URB fields */
-#define LOG_URB_DATA     (LOG_URB_FLAG | 0x03) /* Actual URB data */
-
-#define log_default(level,args...) do { if (trace_default) log_named(level,"default",args); } while(0)
-
-static char *log_oom = "Out of memory while logging!";
-#define DEFAULT_LOG_LEN 256
-#define OLD_GLIBC_MAX_LOG_LEN 1024 /* If glibc is 2.0 or lower, snprintf does not report needed length, so set this as max */
-#define log_named(level,logname,args...) \
-do { \
-  char buf1[DEFAULT_LOG_LEN], *buf2 = NULL, *buffer = buf1; \
-  int real_len; \
-  real_len = snprintf(buffer, DEFAULT_LOG_LEN, args); \
-  if (0 > real_len || DEFAULT_LOG_LEN <= real_len) { \
-    int full_len = (0 > real_len ? OLD_GLIBC_MAX_LOG_LEN : real_len+1); \
-    if (!(buf2 = malloc(full_len))) { \
-      buffer = log_oom; \
-    } else { \
-      buffer = buf2; \
-      real_len = snprintf(buffer, full_len, args); \
-      buffer[((real_len < full_len-1 && 0 <= real_len) ? real_len : full_len-1)] = 0; \
-    } \
-  } \
-  do_log(logname,(LOG_LEVEL_MASK&level),__FILE__,__func__,__LINE__,buffer); \
-  if (buf2) free(buf2); \
-} while (0)
-
-#define do_log(logname, level, file, func, line, msg) do { \
-	if (trace_output) { \
-		fprintf(trace_output, "[%s](%d) %s.%s[%d] %s\n",logname,level,file,func,line,msg); \
-		if (JNI_TRUE == trace_flush) fflush(trace_output); \
-	} \
-} while(0)
-
-#endif /* _JAVAXUSBLOG_H */
-
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbPipeRequest.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbPipeRequest.c
deleted file mode 100644
index 8ef2085..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbPipeRequest.c
+++ /dev/null
@@ -1,160 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-/* These MUST match those defined in com/ibm/jusb/os/linux/LinuxPipeRequest.java */
-#define PIPE_CONTROL 1
-#define PIPE_BULK 2
-#define PIPE_INTERRUPT 3
-#define PIPE_ISOCHRONOUS 4
-
-/**
- * Submit a pipe request.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxRequest The LinuxRequest.
- * @return The error, or 0.
- */
-int pipe_request( JNIEnv *env, int fd, jobject linuxRequest )
-{
-	struct usbdevfs_urb *urb;
-	int ret = 0, type, urbsize;
-
-	jclass LinuxPipeRequest = NULL;
-	jobject linuxPipeRequest = NULL;
-	jmethodID setUrbAddress, getAcceptShortPacket, getEndpointAddress, getPipeType;
-	jboolean acceptShortPacket;
-
-	linuxPipeRequest = CheckedNewGlobalRef( env, linuxRequest );
-	LinuxPipeRequest = CheckedGetObjectClass( env, linuxPipeRequest );
-	getEndpointAddress = CheckedGetMethodID( env, LinuxPipeRequest, "getEndpointAddress", "()B" );
-	getPipeType = CheckedGetMethodID( env, LinuxPipeRequest, "getPipeType", "()I" );
-	type = CheckedCallIntMethod( env, linuxPipeRequest, getPipeType );
-	setUrbAddress = CheckedGetMethodID( env, LinuxPipeRequest, "setUrbAddress", "(J)V" );
-	getAcceptShortPacket = CheckedGetMethodID( env, LinuxPipeRequest, "getAcceptShortPacket", "()Z" );
-	acceptShortPacket = CheckedCallBooleanMethod( env, linuxPipeRequest, getAcceptShortPacket );
-	CheckedDeleteLocalRef( env, LinuxPipeRequest );
-
-	urbsize = sizeof(*urb);
-	if (PIPE_ISOCHRONOUS == type)
-		urbsize += sizeof(struct usbdevfs_iso_packet_desc);
-
-	if (!(urb = malloc(urbsize))) {
-		log( LOG_CRITICAL, "Out of memory!" );
-		ret = -ENOMEM;
-		goto end;
-	}
-
-	memset(urb, 0, sizeof(*urb));
-
-	urb->endpoint = (unsigned char)CheckedCallByteMethod( env, linuxPipeRequest, getEndpointAddress );
-	urb->usercontext = linuxPipeRequest;
-	urb->flags |= getShortPacketFlag(acceptShortPacket);
-
-	log( LOG_XFER_REQUEST, "Submitting URB" );
-
-	switch (type) {
-	case PIPE_CONTROL: ret = control_pipe_request( env, fd, linuxPipeRequest, urb ); break;
-	case PIPE_BULK: ret = bulk_pipe_request( env, fd, linuxPipeRequest, urb ); break;
-	case PIPE_INTERRUPT: ret = interrupt_pipe_request( env, fd, linuxPipeRequest, urb ); break;
-	case PIPE_ISOCHRONOUS: ret = isochronous_pipe_request( env, fd, linuxPipeRequest, urb ); break;
-	default: log( LOG_XFER_ERROR, "Unknown pipe type %d", type ); ret = -EINVAL; break;
-	}
-
-	if (ret) {
-		log( LOG_XFER_ERROR, "Could not submit URB (errno %d)", ret );
-	} else {
-		log( LOG_XFER_REQUEST, "Submitted URB" );
-		CheckedCallVoidMethod( env, linuxPipeRequest, setUrbAddress, urb );
-	}
-
-end:
-	if (ret) {
-			if (linuxPipeRequest) CheckedDeleteGlobalRef( env, linuxPipeRequest );
-			if (urb) free(urb);
-	}
-
-	return ret;
-}
-
-/**
- * Complete a pipe request.
- * @param env The JNIEnv.
- * @param linuxRequest The LinuxRequest.
- * @return The error or 0.
- */
-int complete_pipe_request( JNIEnv *env, jobject linuxPipeRequest )
-{
-	struct usbdevfs_urb *urb;
-	int ret = 0, type;
-
-	jclass LinuxPipeRequest;
-	jmethodID getPipeType, getUrbAddress;
-
-	LinuxPipeRequest = CheckedGetObjectClass( env, linuxPipeRequest );
-	getPipeType = CheckedGetMethodID( env, LinuxPipeRequest, "getPipeType", "()I" );
-	getUrbAddress = CheckedGetMethodID( env, LinuxPipeRequest, "getUrbAddress", "()J" );
-	type = CheckedCallIntMethod( env, linuxPipeRequest, getPipeType );
-	CheckedDeleteLocalRef( env, LinuxPipeRequest );
-
-	if (!(urb = (struct usbdevfs_urb*)CheckedCallLongMethod( env, linuxPipeRequest, getUrbAddress ))) {
-		log( LOG_XFER_ERROR, "No URB to complete." );
-		return -EINVAL;
-	}
-
-	log( LOG_XFER_REQUEST, "Completing URB." );
-	debug_urb( env, "complete_pipe_request", urb );
-
-	switch (type) {
-	case PIPE_CONTROL: ret = complete_control_pipe_request( env, linuxPipeRequest, urb ); break;
-	case PIPE_BULK: ret = complete_bulk_pipe_request( env, linuxPipeRequest, urb ); break;
-	case PIPE_INTERRUPT: ret = complete_interrupt_pipe_request( env, linuxPipeRequest, urb ); break;
-	case PIPE_ISOCHRONOUS: ret = complete_isochronous_pipe_request( env, linuxPipeRequest, urb ); break;
-	default: log( LOG_XFER_ERROR, "Unknown pipe type %d", type); ret = -EINVAL; break;
-	}
-
-	free(urb);
-
-	log( LOG_XFER_REQUEST, "Completed URB." );
-
-	return ret;
-}
-
-/**
- * Abort a pipe request.
- * @param env The JNIEnv.
- * @param fd The file descriptor.
- * @param linuxPipeRequest The LinuxPipeRequest.
- */
-void cancel_pipe_request( JNIEnv *env, int fd, jobject linuxPipeRequest )
-{
-	struct usbdevfs_urb *urb;
-
-	jclass LinuxPipeRequest;
-	jmethodID getUrbAddress;
-
-	LinuxPipeRequest = CheckedGetObjectClass( env, linuxPipeRequest );
-	getUrbAddress = CheckedGetMethodID( env, LinuxPipeRequest, "getUrbAddress", "()J" );
-	CheckedDeleteLocalRef( env, LinuxPipeRequest );
-
-	log( LOG_XFER_REQUEST, "Canceling URB." );
-
-	urb = (struct usbdevfs_urb *)CheckedCallLongMethod( env, linuxPipeRequest, getUrbAddress );
-
-	if (!urb) {
-		log( LOG_XFER_ERROR, "No URB to cancel." );
-		return;
-	}
-
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_DISCARDURB, urb )))
-		log( LOG_XFER_ERROR, "Could not unlink urb %p (error %d)", urb, -errno );
-}
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbTopologyListener.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbTopologyListener.c
deleted file mode 100644
index 4824ccd..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbTopologyListener.c
+++ /dev/null
@@ -1,76 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-/**
- * Listener for connect/disconnect events
- * @author Dan Streetman
- */
-JNIEXPORT jint JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeTopologyListener
-			( JNIEnv *env, jclass JavaxUsb, jobject linuxUsbServices ) {
-	struct pollfd devpoll;
-	int poll_timeout = -1;
-	int descriptor = 0;
-	int error = 0;
-	unsigned int pollingError = 0;
-
-	jclass LinuxUsbServices = CheckedGetObjectClass( env, linuxUsbServices );
-
-	jmethodID topologyChange = CheckedGetMethodID( env, LinuxUsbServices, "topologyChange", "()V" );
-
-	errno = 0;
-	descriptor = open( usbdevfs_devices_filename(), O_RDONLY, 0 );
-	if ( 0 >= descriptor ) {
-		log( LOG_HOTPLUG_CRITICAL, "Could not open %s", usbdevfs_devices_filename() );
-		error = errno;
-		goto TOPOLOGY_LISTENER_CLEANUP;
-	}
-
-	devpoll.fd = descriptor;
-	devpoll.events = POLLIN;
-
-	while ( 1 ) {
-		poll(&devpoll, 1, poll_timeout);
-
-		// Skip empty wake-ups
-		if ( 0x0 == devpoll.revents ) continue;
-
-		// Polling Error...strange...
-		if ( devpoll.revents & POLLERR ) {
-			log( LOG_HOTPLUG_ERROR, "Topology Polling error." );
-			if (MAX_POLLING_ERRORS < ++pollingError) {
-				log( LOG_HOTPLUG_CRITICAL, "%d polling errors; aborting!", pollingError );
-				error = -ENOLINK; /* gotta pick one of 'em */
-				break;
-			} else continue;
-		}
-
-		// Connect/Disconnect event...
-		if ( devpoll.revents & POLLIN ) {
-			log( LOG_HOTPLUG_CHANGE, "Got topology change event." );
-			CheckedCallVoidMethod( env, linuxUsbServices, topologyChange );
-			continue;
-		}
-
-		// Freak event...
-		log( LOG_HOTPLUG_CHANGE, "Unknown event received = 0x%x", devpoll.revents );
-	}
-
-	/* This should NOT happen! */
-	log( LOG_HOTPLUG_CRITICAL, "TopologyListener Exiting!" );
-	close( descriptor );
-
-TOPOLOGY_LISTENER_CLEANUP:
-	CheckedDeleteLocalRef( env, LinuxUsbServices );
-
-	return error;
-}
-
diff --git a/target-platform/javax.usb.linux/src/main/c/JavaxUsbTopologyUpdater.c b/target-platform/javax.usb.linux/src/main/c/JavaxUsbTopologyUpdater.c
deleted file mode 100644
index 7fe47bd..0000000
--- a/target-platform/javax.usb.linux/src/main/c/JavaxUsbTopologyUpdater.c
+++ /dev/null
@@ -1,353 +0,0 @@
-
-/** 
- * Copyright (c) 1999 - 2001, International Business Machines Corporation.
- * All Rights Reserved.
- *
- * This software is provided and licensed under the terms and conditions
- * of the Common Public License:
- * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
- */
-
-#include "JavaxUsb.h"
-
-static inline int build_device( JNIEnv *env, jclass JavaxUsb, jobject linuxUsbServices, unsigned char bus, unsigned char dev,
-	jobject parent, int parentport, jobject connectedDevices, jobject disconnectedDevices );
-
-static inline int build_config( JNIEnv *env, jclass JavaxUsb, int fd, jobject device, unsigned char bus, unsigned char dev );
-
-static inline jobject build_interface( JNIEnv *env, jclass JavaxUsb, int fd, jobject config, struct jusb_interface_descriptor *if_desc, unsigned char bus, unsigned char dev );
-
-static inline void build_endpoint( JNIEnv *env, jclass JavaxUsb, jobject interface, struct jusb_endpoint_descriptor *ep_desc );
-
-static inline void *get_descriptor( JNIEnv *env, int fd );
-
-static int select_usbfs(const struct dirent *entry);
-
-/**
- * Update topology tree
- * @author Dan Streetman
- */
-JNIEXPORT jint JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeTopologyUpdater
-			( JNIEnv *env, jclass JavaxUsb, jobject linuxUsbServices, jobject connectedDevices, jobject disconnectedDevices )
-{
-	int busses, port, devices = 0;
-	struct dirent **buslist = NULL;
-
-	jclass LinuxUsbServices = CheckedGetObjectClass( env, linuxUsbServices );
-	jmethodID getRootUsbHubImp = CheckedGetMethodID( env, LinuxUsbServices, "getRootUsbHubImp", "()Lcom/ibm/jusb/UsbHubImp;" );
-	jobject rootHub = CheckedCallObjectMethod( env, linuxUsbServices, getRootUsbHubImp );
-	CheckedDeleteLocalRef( env, LinuxUsbServices );
-
-	if (0 > (*env)->EnsureLocalCapacity(env, 40)) {
-		log( LOG_CRITICAL, "Could not reserve enough local references, Out of Memory!\n");
-		return -ENOMEM;
-	}
-
- 	if (!rootHub) {
-		log( LOG_ERROR, "Could not get rootHub!\n");
-		return -EINVAL;
-	}
-
-	errno = 0;
-	if (0 > (busses = scandir(usbdevfs_path(), &buslist, select_usbfs, alphasort)) ) {
-		log( LOG_ERROR, "Could not access %s : %s", usbdevfs_path(), strerror(errno) );
-		return -errno;
-	}
-
-	for (port=0; port<busses; port++) {
-		struct dirent **devlist = NULL;
-		int bus, hcAddress, devs;
-		int busdir_len = strlen(usbdevfs_path()) + strlen(buslist[port]->d_name) + 2;
-		char busdir[busdir_len];
-
-		sprintf(busdir, "%s/%s", usbdevfs_path(), buslist[port]->d_name);
-		bus = atoi( buslist[port]->d_name );
-
-		errno = 0;
-		devs = scandir(busdir, &devlist, select_usbfs, alphasort);
-
-		if (0 > devs) {
-			log( LOG_ERROR, "Could not access device nodes in %s : %s", busdir, strerror(errno) );
-		} else if (!devs) {
-			log( LOG_ERROR, "No device nodes found in %s : %s", busdir, strerror(errno) );
-		} else {
-			/* Hopefully, the host controller has the lowest numbered address on this bus! */
-			hcAddress = atoi( devlist[0]->d_name );
-			devices += build_device( env, JavaxUsb, linuxUsbServices, bus, hcAddress, rootHub, port, connectedDevices, disconnectedDevices );
-		}
-
-		while (0 < devs) free(devlist[--devs]);
-		if (devlist) free(devlist);
-
-		free(buslist[port]);
-	}
-	free(buslist);
-
-	if (rootHub) CheckedDeleteLocalRef( env, rootHub );
-
-	return 0;
-}
-
-static inline int build_device( JNIEnv *env, jclass JavaxUsb, jobject linuxUsbServices, unsigned char bus, unsigned char dev,
-	jobject parent, int parentport, jobject connectedDevices, jobject disconnectedDevices )
-{
-	int fd = 0, port, ncfg;
-	int devices = 0, speed = SPEED_UNKNOWN;
-	struct usbdevfs_ioctl *usbioctl = NULL;
-	struct usbdevfs_hub_portinfo *portinfo = NULL;
-	struct usbdevfs_connectinfo *connectinfo = NULL;
-	struct jusb_device_descriptor *dev_desc = NULL;
-	int node_len = strlen(usbdevfs_path()) + 1 + 3 + 1 + 3 + 1;
-	char node[node_len];
-
-	jobject device = NULL, existingDevice = NULL;
-	jstring keyString = NULL;
-
-	jclass LinuxUsbServices = CheckedGetObjectClass( env, linuxUsbServices );
-	jmethodID createUsbHubImp = CheckedGetStaticMethodID( env, JavaxUsb, "createUsbHubImp", "(Ljava/lang/String;I)Lcom/ibm/jusb/UsbHubImp;" );
-	jmethodID createUsbDeviceImp = CheckedGetStaticMethodID( env, JavaxUsb, "createUsbDeviceImp", "(Ljava/lang/String;)Lcom/ibm/jusb/UsbDeviceImp;" );
-	jmethodID configureUsbDeviceImp = CheckedGetStaticMethodID( env, JavaxUsb, "configureUsbDeviceImp", "(Lcom/ibm/jusb/UsbDeviceImp;BBBBBBBBBBSSSSI)V" );
-	jmethodID checkUsbDeviceImp = CheckedGetMethodID( env, LinuxUsbServices, "checkUsbDeviceImp", "(Lcom/ibm/jusb/UsbHubImp;ILcom/ibm/jusb/UsbDeviceImp;Ljava/util/List;Ljava/util/List;)Lcom/ibm/jusb/UsbDeviceImp;" );
-	CheckedDeleteLocalRef( env, LinuxUsbServices );
-
-	sprintf(node, usbdevfs_sprintf_node(), (0xff&bus), (0xff&dev));
-
-	keyString = CheckedNewStringUTF( env, node );
-
-	log( LOG_HOTPLUG_DEVICE, "Building device %s", node );
-
-	fd = open( node, O_RDWR );
-	if ( 0 >= fd ) {
-		log( LOG_ERROR, "Could not access %s", node );
-		goto BUILD_DEVICE_EXIT;
-	}
-
-	if (!(dev_desc = get_descriptor( env, fd ))) {
-		log( LOG_ERROR, "Short read on device descriptor" );
-		goto BUILD_DEVICE_EXIT;
-	}
-
-	if (dev_desc->bDeviceClass == USB_CLASS_HUB) {
-		usbioctl = malloc(sizeof(*usbioctl));
-		portinfo = malloc(sizeof(*portinfo));
-		usbioctl->ioctl_code = USBDEVFS_HUB_PORTINFO;
-		usbioctl->ifno = 0;
-		usbioctl->data = portinfo;
-		errno = 0;
-		if (0 >= ioctl( fd, USBDEVFS_IOCTL, usbioctl )) {
-			log( LOG_ERROR, "Could not get portinfo from hub, error = %d", errno );
-			goto BUILD_DEVICE_EXIT;
-		} else {
-		  log( LOG_HOTPLUG_DEVICE, "Device is hub with %d ports",portinfo->nports );
-		}
-		free(usbioctl);
-		usbioctl = NULL;
-		device = CheckedCallStaticObjectMethod( env, JavaxUsb, createUsbHubImp, keyString, portinfo->nports );
-	} else {
-	  device = CheckedCallStaticObjectMethod( env, JavaxUsb, createUsbDeviceImp, keyString );
-	}
-
-	connectinfo = malloc(sizeof(*connectinfo));
-	errno = 0;
-	if (0 > (ioctl( fd, USBDEVFS_CONNECTINFO, connectinfo ))) {
-		log( LOG_ERROR, "Could not get connectinfo from device, error = %d", errno );
-		goto BUILD_DEVICE_EXIT;
-	} else {
-	  log( LOG_HOTPLUG_OTHER, "Device speed is %s", (connectinfo->slow?"1.5 Mbps":"12 Mbps") );
-	}
-	speed = ( connectinfo->slow ? SPEED_LOW : SPEED_FULL );
-	free(connectinfo);
-	connectinfo = NULL;
-
-	CheckedCallStaticVoidMethod( env, JavaxUsb, configureUsbDeviceImp, device, 
-		dev_desc->bLength, dev_desc->bDescriptorType,
-		dev_desc->bDeviceClass, dev_desc->bDeviceSubClass, dev_desc->bDeviceProtocol,
-		dev_desc->bMaxPacketSize0, dev_desc->iManufacturer, dev_desc->iProduct, dev_desc->iSerialNumber,
-		dev_desc->bNumConfigurations, dev_desc->idVendor, dev_desc->idProduct,
-		dev_desc->bcdDevice, dev_desc->bcdUSB, speed );
-
-	/* Build config descriptors */
-	for (ncfg=0; ncfg<dev_desc->bNumConfigurations; ncfg++) {
-		if (build_config( env, JavaxUsb, fd, device, bus, dev )) {
-			log( LOG_ERROR, "Could not get config %d for device %d", ncfg, dev );
-			goto BUILD_DEVICE_EXIT;
-		}
-	}
-
-	existingDevice = CheckedCallObjectMethod( env, linuxUsbServices, checkUsbDeviceImp, parent, parentport+1, device, connectedDevices, disconnectedDevices );
-	CheckedDeleteLocalRef( env, device );
-	device = existingDevice;
-
-	/* This device is set up and ready! */
-	devices = 1;
-	close( fd );
-	fd = 0;
-
-	if ((dev_desc->bDeviceClass == USB_CLASS_HUB) && portinfo)
-		for (port=0; port<(portinfo->nports); port++)
-			if (portinfo->port[port]) {
-				log( LOG_HOTPLUG_OTHER, "Building device %d attached to port %d", portinfo->port[port], port);
-				devices += build_device( env, JavaxUsb, linuxUsbServices, bus, portinfo->port[port], device, port, connectedDevices, disconnectedDevices );
-			}
-
-BUILD_DEVICE_EXIT:
-	if (fd) close(fd);
-	if (device) CheckedDeleteLocalRef( env, device );
-	if (connectinfo) free(connectinfo);
-	if (dev_desc) free(dev_desc);
-	if (usbioctl) free(usbioctl);
-	if (portinfo) free(portinfo);
-	if (keyString) CheckedDeleteLocalRef( env, keyString );
-
-	return devices;
-}
-
-static inline int build_config( JNIEnv *env, jclass JavaxUsb, int fd, jobject device, unsigned char bus, unsigned char dev )
-{
-	int result = -1;
-	struct jusb_config_descriptor *cfg_desc = NULL;
-	unsigned char *desc = NULL;
-	unsigned short wTotalLength;
-	unsigned int pos;
-	jobject config = NULL, interface = NULL;
-	jmethodID createUsbConfigurationImp;
-
-	if (!(cfg_desc = get_descriptor( env, fd ))) {
-		log( LOG_ERROR, "Short read on config desriptor." );
-		goto BUILD_CONFIG_EXIT;
-	}
-
-	createUsbConfigurationImp = CheckedGetStaticMethodID( env, JavaxUsb, "createUsbConfigurationImp", "(Lcom/ibm/jusb/UsbDeviceImp;BBSBBBBB)Lcom/ibm/jusb/UsbConfigurationImp;" );
-
-	log( LOG_HOTPLUG_OTHER, "Building config %d", cfg_desc->bConfigurationValue );
-
-	wTotalLength = cfg_desc->wTotalLength;
-	pos = cfg_desc->bLength;
-
-	config = CheckedCallStaticObjectMethod( env, JavaxUsb, createUsbConfigurationImp, device,
-		cfg_desc->bLength, cfg_desc->bDescriptorType, wTotalLength,
-		cfg_desc->bNumInterfaces, cfg_desc->bConfigurationValue, cfg_desc->iConfiguration,
-		cfg_desc->bmAttributes, cfg_desc->bMaxPower );
-
-	while (pos < wTotalLength) {
-		desc = get_descriptor( env, fd );
-		if ((!desc) || (2 > desc[0])) {
-			log( LOG_ERROR, "Short read on descriptor" );
-			goto BUILD_CONFIG_EXIT;
-		}
-		pos += desc[0];
-		switch( desc[1] ) {
-			case USB_DT_DEVICE:
-				log( LOG_ERROR, "Got device descriptor inside of config descriptor" );
-				goto BUILD_CONFIG_EXIT;
-
-			case USB_DT_CONFIG:
-				log( LOG_ERROR, "Got config descriptor inside of config descriptor" );
-				goto BUILD_CONFIG_EXIT;
-
-			case USB_DT_INTERFACE:
-				if (interface) CheckedDeleteLocalRef( env, interface );
-				interface = build_interface( env, JavaxUsb, fd, config, (struct jusb_interface_descriptor*)desc, bus, dev );
-				break;
-
-			case USB_DT_ENDPOINT:
-				build_endpoint( env, JavaxUsb, interface, (struct jusb_endpoint_descriptor*)desc );
-				break;
-
-			default:
-				/* Ignore proprietary descriptor */
-				break;
-		}
-		free(desc);
-		desc = NULL;
-	}
-
-	result = 0;
-
-BUILD_CONFIG_EXIT:
-	if (config) CheckedDeleteLocalRef( env, config );
-	if (interface) CheckedDeleteLocalRef( env, interface );
-	if (cfg_desc) free(cfg_desc);
-	if (desc) free(desc);
-
-	return result;
-}
-
-static inline jobject build_interface( JNIEnv *env, jclass JavaxUsb, int fd, jobject config, struct jusb_interface_descriptor *if_desc, unsigned char bus, unsigned char dev )
-{
-	jobject interface;
-
-	jmethodID createUsbInterfaceImp = CheckedGetStaticMethodID( env, JavaxUsb, "createUsbInterfaceImp", "(Lcom/ibm/jusb/UsbConfigurationImp;BBBBBBBBB)Lcom/ibm/jusb/UsbInterfaceImp;" );
-
-	log( LOG_HOTPLUG_OTHER, "Building interface %d", if_desc->bInterfaceNumber );
-
-	interface = CheckedCallStaticObjectMethod( env, JavaxUsb, createUsbInterfaceImp, config,
-		if_desc->bLength, if_desc->bDescriptorType,
-		if_desc->bInterfaceNumber, if_desc->bAlternateSetting, if_desc->bNumEndpoints, if_desc->bInterfaceClass,
-		if_desc->bInterfaceSubClass, if_desc->bInterfaceProtocol, if_desc->iInterface );
-
-	return interface;
-}
-
-static inline void build_endpoint( JNIEnv *env, jclass JavaxUsb, jobject interface, struct jusb_endpoint_descriptor *ep_desc )
-{
-	jmethodID createUsbEndpointImp = CheckedGetStaticMethodID( env, JavaxUsb, "createUsbEndpointImp", "(Lcom/ibm/jusb/UsbInterfaceImp;BBBBBS)Lcom/ibm/jusb/UsbEndpointImp;" );
-
-	log( LOG_HOTPLUG_OTHER, "Building endpoint 0x%2.02x", ep_desc->bEndpointAddress );
-
-	if (!interface) {
-		log( LOG_ERROR, "Interface is NULL");
-		return;
-	}
-
-	CheckedCallStaticObjectMethod( env, JavaxUsb, createUsbEndpointImp, interface,
-		ep_desc->bLength, ep_desc->bDescriptorType,
-		ep_desc->bEndpointAddress, ep_desc->bmAttributes, ep_desc->bInterval, ep_desc->wMaxPacketSize );
-}
-
-static inline void *get_descriptor( JNIEnv *env, int fd )
-{
-	unsigned char *buffer = NULL, *len = NULL;
-	int nread;
-
-	len = malloc(1);
-	if (1 > read( fd, len, 1 )) {
-		log( LOG_ERROR, "Cannot read from file!" );
-		goto GET_DESCRIPTOR_EXIT;
-	}
-
-	if (*len == 0) {
-		log( LOG_ERROR, "Zero-length descriptor?" );
-		goto GET_DESCRIPTOR_EXIT;
-	}
-
-	buffer = malloc(*len);
-	buffer[0] = *len;
-	free(len);
-	len = NULL;
-
-	nread = read( fd, buffer+1, buffer[0]-1 );
-	if (buffer[0]-1 != nread) {
-		if (buffer[0]-1 > nread) log( LOG_ERROR, "Short read on file" );
-		else log( LOG_ERROR, "Long read on file" );
-		free(buffer);
-		buffer = NULL;
-	}
-
-GET_DESCRIPTOR_EXIT:
-	if (len) free(len);
-
-	return buffer;
-}
-
-static int select_usbfs(const struct dirent *entry)
-{
-	/* This originally used entry->d_type, however Linux 2.4 doesn't implement d_type,
-	 * and POSIX apparently doesn't define it either.  So let's just do name matching.
-	 * Hope that doesn't change.
-	 */
-	int n = atoi(entry->d_name);
-	/* If the number conversion of the name is 1-999, it's (hopefully) ok.
-	 */
-	return (0 < n) && (n < 1000);
-}
diff --git a/target-platform/javax.usb.linux/src/main/c/Makefile b/target-platform/javax.usb.linux/src/main/c/Makefile
deleted file mode 100644
index e9cfd06..0000000
--- a/target-platform/javax.usb.linux/src/main/c/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-
-# Copyright (c) 1999 - 2001, International Business Machines Corporation.
-# All Rights Reserved.
-#
-# This software is provided and licensed under the terms and conditions
-# of the Common Public License:
-# http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
-
-# Makefile for Linux Java Usb
-#
-# Dan Streetman
-#
-
-# Uncomment for Poky cross compile support
-#CROSS = arm-poky-linux-gnueabi-
-
-# Object and header dependencies - these are removed by 'make clean'
-OBJECTS = \
-	JavaxUsbKernel.o \
-	JavaxUsbLog.o \
-	JavaxUsbTopologyUpdater.o JavaxUsbTopologyListener.o JavaxUsbActive.o \
-	JavaxUsbDeviceProxy.o \
-	JavaxUsbPipeRequest.o JavaxUsbInterfaceRequest.o \
-	JavaxUsbControlRequest.o JavaxUsbBulkRequest.o JavaxUsbInterruptRequest.o JavaxUsbIsochronousRequest.o \
-	JavaxUsbError.o
-HEADER = com_ibm_jusb_os_linux_JavaxUsb.h
-
-JSR80_CC = $(CROSS)gcc
-JSR80_CCLD = $(JSR80_CC)
-
-JSR80_INCLUDES = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I. $(CINCLUDES)
-
-JSR80_CFLAGS = -Wall -fPIC $(JUSB_FLAGS) $(CFLAGS)
-JSR80_SOFLAGS = -shared $(SOFLAGS)
-
-JSR80_COMPILE = $(JSR80_CC) $(JSR80_INCLUDES) $(JSR80_CFLAGS)
-JSR80_LINK = $(JSR80_CCLD) $(JSR80_CFLAGS) -o $@
-
-# This is the final shared library
-all: libJavaxUsb.so
-
-.SUFFIXES:
-.SUFFIXES: .c .o
-
-.c.o:
-	$(JSR80_COMPILE) -c $<
-
-# Build the shared library
-libJavaxUsb.so: $(OBJECTS)
-	@[ -f ${HEADER} ] || (echo "Could not find ${HEADER} header file!";exit 1)
-	@rm -f libJavaxUsb.so
-	$(JSR80_LINK) $(JSR80_SOFLAGS) $(OBJECTS)
-
-# Cleanup all object and shared files and JAVAH-generated headers (not all headers!!)
-clean:
-	rm -f libJavaxUsb.so $(OBJECTS) *.o *.so
diff --git a/target-platform/javax.usb.linux/src/main/c/Makefile.poky.arm_sf b/target-platform/javax.usb.linux/src/main/c/Makefile.poky.arm_sf
deleted file mode 100644
index ce48e00..0000000
--- a/target-platform/javax.usb.linux/src/main/c/Makefile.poky.arm_sf
+++ /dev/null
@@ -1,56 +0,0 @@
-
-# Copyright (c) 1999 - 2001, International Business Machines Corporation.
-# All Rights Reserved.
-#
-# This software is provided and licensed under the terms and conditions
-# of the Common Public License:
-# http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
-
-# Makefile for Linux Java Usb
-#
-# Dan Streetman
-#
-
-# Uncomment for Poky cross compile support
-#CROSS = arm-poky-linux-gnueabi-
-
-# Object and header dependencies - these are removed by 'make clean'
-OBJECTS = \
-	JavaxUsbKernel.o \
-	JavaxUsbLog.o \
-	JavaxUsbTopologyUpdater.o JavaxUsbTopologyListener.o JavaxUsbActive.o \
-	JavaxUsbDeviceProxy.o \
-	JavaxUsbPipeRequest.o JavaxUsbInterfaceRequest.o \
-	JavaxUsbControlRequest.o JavaxUsbBulkRequest.o JavaxUsbInterruptRequest.o JavaxUsbIsochronousRequest.o \
-	JavaxUsbError.o
-HEADER = com_ibm_jusb_os_linux_JavaxUsb.h
-
-JSR80_CC = $(CC)
-JSR80_CCLD = $(JSR80_CC)
-
-JSR80_INCLUDES = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I. $(CINCLUDES)
-
-JSR80_CFLAGS = -msoft-float -Wall -fPIC $(JUSB_FLAGS) $(CFLAGS)
-JSR80_SOFLAGS = -shared $(SOFLAGS)
-
-JSR80_COMPILE = $(JSR80_CC) $(JSR80_INCLUDES) $(JSR80_CFLAGS)
-JSR80_LINK = $(JSR80_CCLD) $(JSR80_CFLAGS) -o $@
-
-# This is the final shared library
-all: libJavaxUsb.so
-
-.SUFFIXES:
-.SUFFIXES: .c .o
-
-.c.o:
-	$(JSR80_COMPILE) -c $<
-
-# Build the shared library
-libJavaxUsb.so: $(OBJECTS)
-	@[ -f ${HEADER} ] || (echo "Could not find ${HEADER} header file!";exit 1)
-	@rm -f libJavaxUsb.so
-	$(JSR80_LINK) $(JSR80_SOFLAGS) $(OBJECTS)
-
-# Cleanup all object and shared files and JAVAH-generated headers (not all headers!!)
-clean:
-	rm -f libJavaxUsb.so $(OBJECTS) *.o *.so
diff --git a/target-platform/javax.usb.linux/src/main/c/Makefile.poky.i586 b/target-platform/javax.usb.linux/src/main/c/Makefile.poky.i586
deleted file mode 100644
index 250d449..0000000
--- a/target-platform/javax.usb.linux/src/main/c/Makefile.poky.i586
+++ /dev/null
@@ -1,56 +0,0 @@
-
-# Copyright (c) 1999 - 2001, International Business Machines Corporation.
-# All Rights Reserved.
-#
-# This software is provided and licensed under the terms and conditions
-# of the Common Public License:
-# http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
-
-# Makefile for Linux Java Usb
-#
-# Dan Streetman
-#
-
-# Uncomment for Poky cross compile support
-#CROSS = arm-poky-linux-gnueabi-
-
-# Object and header dependencies - these are removed by 'make clean'
-OBJECTS = \
-	JavaxUsbKernel.o \
-	JavaxUsbLog.o \
-	JavaxUsbTopologyUpdater.o JavaxUsbTopologyListener.o JavaxUsbActive.o \
-	JavaxUsbDeviceProxy.o \
-	JavaxUsbPipeRequest.o JavaxUsbInterfaceRequest.o \
-	JavaxUsbControlRequest.o JavaxUsbBulkRequest.o JavaxUsbInterruptRequest.o JavaxUsbIsochronousRequest.o \
-	JavaxUsbError.o
-HEADER = com_ibm_jusb_os_linux_JavaxUsb.h
-
-JSR80_CC = $(CC)
-JSR80_CCLD = $(JSR80_CC)
-
-JSR80_INCLUDES = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I. $(CINCLUDES)
-
-JSR80_CFLAGS = -Wall -fPIC $(JUSB_FLAGS) $(CFLAGS)
-JSR80_SOFLAGS = -shared $(SOFLAGS)
-
-JSR80_COMPILE = $(JSR80_CC) $(JSR80_INCLUDES) $(JSR80_CFLAGS)
-JSR80_LINK = $(JSR80_CCLD) $(JSR80_CFLAGS) -o $@
-
-# This is the final shared library
-all: libJavaxUsb.so
-
-.SUFFIXES:
-.SUFFIXES: .c .o
-
-.c.o:
-	$(JSR80_COMPILE) -c $<
-
-# Build the shared library
-libJavaxUsb.so: $(OBJECTS)
-	@[ -f ${HEADER} ] || (echo "Could not find ${HEADER} header file!";exit 1)
-	@rm -f libJavaxUsb.so
-	$(JSR80_LINK) $(JSR80_SOFLAGS) $(OBJECTS)
-
-# Cleanup all object and shared files and JAVAH-generated headers (not all headers!!)
-clean:
-	rm -f libJavaxUsb.so $(OBJECTS) *.o *.so
diff --git a/target-platform/javax.usb.linux/src/main/c/Makefile.poky.x86_64 b/target-platform/javax.usb.linux/src/main/c/Makefile.poky.x86_64
deleted file mode 100644
index 250d449..0000000
--- a/target-platform/javax.usb.linux/src/main/c/Makefile.poky.x86_64
+++ /dev/null
@@ -1,56 +0,0 @@
-
-# Copyright (c) 1999 - 2001, International Business Machines Corporation.
-# All Rights Reserved.
-#
-# This software is provided and licensed under the terms and conditions
-# of the Common Public License:
-# http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
-
-# Makefile for Linux Java Usb
-#
-# Dan Streetman
-#
-
-# Uncomment for Poky cross compile support
-#CROSS = arm-poky-linux-gnueabi-
-
-# Object and header dependencies - these are removed by 'make clean'
-OBJECTS = \
-	JavaxUsbKernel.o \
-	JavaxUsbLog.o \
-	JavaxUsbTopologyUpdater.o JavaxUsbTopologyListener.o JavaxUsbActive.o \
-	JavaxUsbDeviceProxy.o \
-	JavaxUsbPipeRequest.o JavaxUsbInterfaceRequest.o \
-	JavaxUsbControlRequest.o JavaxUsbBulkRequest.o JavaxUsbInterruptRequest.o JavaxUsbIsochronousRequest.o \
-	JavaxUsbError.o
-HEADER = com_ibm_jusb_os_linux_JavaxUsb.h
-
-JSR80_CC = $(CC)
-JSR80_CCLD = $(JSR80_CC)
-
-JSR80_INCLUDES = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I. $(CINCLUDES)
-
-JSR80_CFLAGS = -Wall -fPIC $(JUSB_FLAGS) $(CFLAGS)
-JSR80_SOFLAGS = -shared $(SOFLAGS)
-
-JSR80_COMPILE = $(JSR80_CC) $(JSR80_INCLUDES) $(JSR80_CFLAGS)
-JSR80_LINK = $(JSR80_CCLD) $(JSR80_CFLAGS) -o $@
-
-# This is the final shared library
-all: libJavaxUsb.so
-
-.SUFFIXES:
-.SUFFIXES: .c .o
-
-.c.o:
-	$(JSR80_COMPILE) -c $<
-
-# Build the shared library
-libJavaxUsb.so: $(OBJECTS)
-	@[ -f ${HEADER} ] || (echo "Could not find ${HEADER} header file!";exit 1)
-	@rm -f libJavaxUsb.so
-	$(JSR80_LINK) $(JSR80_SOFLAGS) $(OBJECTS)
-
-# Cleanup all object and shared files and JAVAH-generated headers (not all headers!!)
-clean:
-	rm -f libJavaxUsb.so $(OBJECTS) *.o *.so
diff --git a/target-platform/javax.usb.linux/src/main/c/com_ibm_jusb_os_linux_JavaxUsb.h b/target-platform/javax.usb.linux/src/main/c/com_ibm_jusb_os_linux_JavaxUsb.h
deleted file mode 100644
index 06d5e0a..0000000
--- a/target-platform/javax.usb.linux/src/main/c/com_ibm_jusb_os_linux_JavaxUsb.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_ibm_jusb_os_linux_JavaxUsb */
-
-#ifndef _Included_com_ibm_jusb_os_linux_JavaxUsb
-#define _Included_com_ibm_jusb_os_linux_JavaxUsb
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* Inaccessible static: msgLevelTable */
-#undef com_ibm_jusb_os_linux_JavaxUsb_SPEED_UNKNOWN
-#define com_ibm_jusb_os_linux_JavaxUsb_SPEED_UNKNOWN 0L
-#undef com_ibm_jusb_os_linux_JavaxUsb_SPEED_LOW
-#define com_ibm_jusb_os_linux_JavaxUsb_SPEED_LOW 1L
-#undef com_ibm_jusb_os_linux_JavaxUsb_SPEED_FULL
-#define com_ibm_jusb_os_linux_JavaxUsb_SPEED_FULL 2L
-/*
- * Class:     com_ibm_jusb_os_linux_JavaxUsb
- * Method:    nativeSetTracing
- * Signature: (Z)V
- */
-JNIEXPORT void JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeSetTracing
-  (JNIEnv *, jclass, jboolean);
-
-/*
- * Class:     com_ibm_jusb_os_linux_JavaxUsb
- * Method:    nativeSetTraceType
- * Signature: (ZLjava/lang/String;)V
- */
-JNIEXPORT void JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeSetTraceType
-  (JNIEnv *, jclass, jboolean, jstring);
-
-/*
- * Class:     com_ibm_jusb_os_linux_JavaxUsb
- * Method:    nativeSetTraceLevel
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeSetTraceLevel
-  (JNIEnv *, jclass, jint);
-
-/*
- * Class:     com_ibm_jusb_os_linux_JavaxUsb
- * Method:    nativeSetTraceOutput
- * Signature: (ILjava/lang/String;)V
- */
-JNIEXPORT void JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeSetTraceOutput
-  (JNIEnv *, jclass, jint, jstring);
-
-/*
- * Class:     com_ibm_jusb_os_linux_JavaxUsb
- * Method:    nativeTopologyUpdater
- * Signature: (Lcom/ibm/jusb/os/linux/LinuxUsbServices;Ljava/util/List;Ljava/util/List;)I
- */
-JNIEXPORT jint JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeTopologyUpdater
-  (JNIEnv *, jclass, jobject, jobject, jobject);
-
-/*
- * Class:     com_ibm_jusb_os_linux_JavaxUsb
- * Method:    nativeGetActiveConfigurationNumber
- * Signature: (Lcom/ibm/jusb/os/linux/LinuxDeviceOsImp;)I
- */
-JNIEXPORT jint JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeGetActiveConfigurationNumber
-  (JNIEnv *, jclass, jobject);
-
-/*
- * Class:     com_ibm_jusb_os_linux_JavaxUsb
- * Method:    nativeGetActiveInterfaceSettingNumber
- * Signature: (Lcom/ibm/jusb/os/linux/LinuxDeviceOsImp;I)I
- */
-JNIEXPORT jint JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeGetActiveInterfaceSettingNumber
-  (JNIEnv *, jclass, jobject, jint);
-
-/*
- * Class:     com_ibm_jusb_os_linux_JavaxUsb
- * Method:    nativeTopologyListener
- * Signature: (Lcom/ibm/jusb/os/linux/LinuxUsbServices;)I
- */
-JNIEXPORT jint JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeTopologyListener
-  (JNIEnv *, jclass, jobject);
-
-/*
- * Class:     com_ibm_jusb_os_linux_JavaxUsb
- * Method:    nativeDeviceProxy
- * Signature: (Lcom/ibm/jusb/os/linux/LinuxDeviceProxy;)V
- */
-JNIEXPORT void JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeDeviceProxy
-  (JNIEnv *, jclass, jobject);
-
-/*
- * Class:     com_ibm_jusb_os_linux_JavaxUsb
- * Method:    nativeGetErrorMessage
- * Signature: (I)Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_com_ibm_jusb_os_linux_JavaxUsb_nativeGetErrorMessage
-  (JNIEnv *, jclass, jint);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/javax.usb.linux/src/main/lib/linux/armv5_sf/libJavaxUsb.so b/target-platform/javax.usb.linux/src/main/lib/linux/armv5_sf/libJavaxUsb.so
deleted file mode 100755
index dfc9dcd..0000000
--- a/target-platform/javax.usb.linux/src/main/lib/linux/armv5_sf/libJavaxUsb.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/javax.usb.linux/src/main/lib/linux/armv6_hf/libJavaxUsb.so b/target-platform/javax.usb.linux/src/main/lib/linux/armv6_hf/libJavaxUsb.so
deleted file mode 100755
index 96fb85d..0000000
--- a/target-platform/javax.usb.linux/src/main/lib/linux/armv6_hf/libJavaxUsb.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/javax.usb.linux/src/main/lib/linux/old/beaglebone/090538fcb81c38c1fa445cfb00755a94bc0131f2/libJavaxUsb.so b/target-platform/javax.usb.linux/src/main/lib/linux/old/beaglebone/090538fcb81c38c1fa445cfb00755a94bc0131f2/libJavaxUsb.so
deleted file mode 100755
index e55df4d..0000000
--- a/target-platform/javax.usb.linux/src/main/lib/linux/old/beaglebone/090538fcb81c38c1fa445cfb00755a94bc0131f2/libJavaxUsb.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/javax.usb.linux/src/main/lib/linux/old/mini-gateway/yocto_1.2.1/libJavaxUsb.so b/target-platform/javax.usb.linux/src/main/lib/linux/old/mini-gateway/yocto_1.2.1/libJavaxUsb.so
deleted file mode 100755
index 5b383d2..0000000
--- a/target-platform/javax.usb.linux/src/main/lib/linux/old/mini-gateway/yocto_1.2.1/libJavaxUsb.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/javax.usb.linux/src/main/lib/linux/old/raspberry-pi/libJavaxUsb.so b/target-platform/javax.usb.linux/src/main/lib/linux/old/raspberry-pi/libJavaxUsb.so
deleted file mode 100755
index 96fb85d..0000000
--- a/target-platform/javax.usb.linux/src/main/lib/linux/old/raspberry-pi/libJavaxUsb.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/javax.usb.linux/src/main/lib/linux/old/wrl/wrl_4.3_glibc_std/libJavaxUsb.so b/target-platform/javax.usb.linux/src/main/lib/linux/old/wrl/wrl_4.3_glibc_std/libJavaxUsb.so
deleted file mode 100644
index 7d31bcc..0000000
--- a/target-platform/javax.usb.linux/src/main/lib/linux/old/wrl/wrl_4.3_glibc_std/libJavaxUsb.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/javax.usb.linux/src/main/lib/linux/old/x86/linux32/libJavaxUsb.so b/target-platform/javax.usb.linux/src/main/lib/linux/old/x86/linux32/libJavaxUsb.so
deleted file mode 100644
index 7d31bcc..0000000
--- a/target-platform/javax.usb.linux/src/main/lib/linux/old/x86/linux32/libJavaxUsb.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/javax.usb.linux/src/main/lib/linux/x86/libJavaxUsb.so b/target-platform/javax.usb.linux/src/main/lib/linux/x86/libJavaxUsb.so
deleted file mode 100755
index d7d32d0..0000000
--- a/target-platform/javax.usb.linux/src/main/lib/linux/x86/libJavaxUsb.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/javax.usb.linux/src/main/lib/linux/x86_64/libJavaxUsb.so b/target-platform/javax.usb.linux/src/main/lib/linux/x86_64/libJavaxUsb.so
deleted file mode 100755
index e93af2b..0000000
--- a/target-platform/javax.usb.linux/src/main/lib/linux/x86_64/libJavaxUsb.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.paho/about.html b/target-platform/org.eclipse.paho/about.html
deleted file mode 100644
index b53f0cf..0000000
--- a/target-platform/org.eclipse.paho/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>April 4, 2014</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html";>http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/";>http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/target-platform/org.eclipse.paho/about_files/epl-v10.html b/target-platform/org.eclipse.paho/about_files/epl-v10.html
deleted file mode 100644
index 3998fce..0000000
--- a/target-platform/org.eclipse.paho/about_files/epl-v10.html
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Public License - Version 1.0</title>
-<style type="text/css">
-  body {
-    size: 8.5in 11.0in;
-    margin: 0.25in 0.5in 0.25in 0.5in;
-    tab-interval: 0.5in;
-    }
-  p {  	
-    margin-left: auto;
-    margin-top:  0.5em;
-    margin-bottom: 0.5em;
-    }
-  p.list {
-  	margin-left: 0.5in;
-    margin-top:  0.05em;
-    margin-bottom: 0.05em;
-    }
-  </style>
-
-</head>
-
-<body lang="EN-US">
-
-<h2>Eclipse Public License - v 1.0</h2>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>&quot;Contribution&quot; means:</p>
-
-<p class="list">a) in the case of the initial Contributor, the initial
-code and documentation distributed under this Agreement, and</p>
-<p class="list">b) in the case of each subsequent Contributor:</p>
-<p class="list">i) changes to the Program, and</p>
-<p class="list">ii) additions to the Program;</p>
-<p class="list">where such changes and/or additions to the Program
-originate from and are distributed by that particular Contributor. A
-Contribution 'originates' from a Contributor if it was added to the
-Program by such Contributor itself or anyone acting on such
-Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in
-conjunction with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.</p>
-
-<p>&quot;Contributor&quot; means any person or entity that distributes
-the Program.</p>
-
-<p>&quot;Licensed Patents&quot; mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of its
-Contribution alone or when combined with the Program.</p>
-
-<p>&quot;Program&quot; means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>&quot;Recipient&quot; means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
-
-<p><b>2. GRANT OF RIGHTS</b></p>
-
-<p class="list">a) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works
-of, publicly display, publicly perform, distribute and sublicense the
-Contribution of such Contributor, if any, and such derivative works, in
-source code and object code form.</p>
-
-<p class="list">b) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell,
-offer to sell, import and otherwise transfer the Contribution of such
-Contributor, if any, in source code and object code form. This patent
-license shall apply to the combination of the Contribution and the
-Program if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to be covered
-by the Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</p>
-
-<p class="list">c) Recipient understands that although each Contributor
-grants the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</p>
-
-<p class="list">d) Each Contributor represents that to its knowledge it
-has sufficient copyright rights in its Contribution, if any, to grant
-the copyright license set forth in this Agreement.</p>
-
-<p><b>3. REQUIREMENTS</b></p>
-
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
-
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
-
-<p class="list">b) its license agreement:</p>
-
-<p class="list">i) effectively disclaims on behalf of all Contributors
-all warranties and conditions, express and implied, including warranties
-or conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;</p>
-
-<p class="list">ii) effectively excludes on behalf of all Contributors
-all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;</p>
-
-<p class="list">iii) states that any provisions which differ from this
-Agreement are offered by that Contributor alone and not by any other
-party; and</p>
-
-<p class="list">iv) states that source code for the Program is available
-from such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for software
-exchange.</p>
-
-<p>When the Program is made available in source code form:</p>
-
-<p class="list">a) it must be made available under this Agreement; and</p>
-
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
-
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and
-indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
-against any losses, damages and costs (collectively &quot;Losses&quot;)
-arising from claims, lawsuits and other legal actions brought by a third
-party against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In
-order to qualify, an Indemnified Contributor must: a) promptly notify
-the Commercial Contributor in writing of such claim, and b) allow the
-Commercial Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement negotiations. The
-Indemnified Contributor may participate in any such claim at its own
-expense.</p>
-
-<p>For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.</p>
-
-<p><b>5. NO WARRANTY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable laws,
-damage to or loss of data, programs or equipment, and unavailability or
-interruption of operations.</p>
-
-<p><b>6. DISCLAIMER OF LIABILITY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), 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 OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p><b>7. GENERAL</b></p>
-
-<p>If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the
-date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of time
-after becoming aware of such noncompliance. If all Recipient's rights
-under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other than the
-Agreement Steward has the right to modify this Agreement. The Eclipse
-Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a
-suitable separate entity. Each new version of the Agreement will be
-given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-rights or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No party
-to this Agreement will bring a legal action under this Agreement more
-than one year after the cause of action arose. Each party waives its
-rights to a jury trial in any resulting litigation.</p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/target-platform/org.eclipse.paho/build.properties b/target-platform/org.eclipse.paho/build.properties
deleted file mode 100644
index 4b642b6..0000000
--- a/target-platform/org.eclipse.paho/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/main/java/,src/main/resources/
-output.. = target/classes/
-bin.includes = META-INF/,\
-               .
diff --git a/target-platform/org.eclipse.paho/pom.xml b/target-platform/org.eclipse.paho/pom.xml
deleted file mode 100644
index d23de26..0000000
--- a/target-platform/org.eclipse.paho/pom.xml
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>target-platform</artifactId>
-    <version>0.2.0-SNAPSHOT</version>
-  </parent>
-
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>mqtt-client</artifactId>
-    <version>0.4.0</version>
-    <packaging>bundle</packaging>
-
-    <name>Eclipse Paho MQTT Client</name>
-    <description>Eclipse Paho MQTT Client</description>
-
-    <repositories>
-        <repository>
-            <id>eclipse-nexus-paho-repository</id>
-            <name>Eclipse Nexus Paho repository</name>
-            <url>https://repo.eclipse.org/content/groups/paho/</url>
-        </repository>
-    </repositories>
-
-    <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.eclipse.paho</groupId>
-            <artifactId>mqtt-client</artifactId>
-            <version>0.4.0</version>
-        </dependency>
-
-        <!-- Test -->
-<!--
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.8.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock-legacy</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jmock</groupId>
-            <artifactId>jmock-junit4</artifactId>
-            <version>2.5.1</version>
-            <scope>test</scope>
-        </dependency>
--->
-    </dependencies>
-
-
-    <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-      </resource>
-      <resource>
-        <directory>.</directory>
-        <includes>
-          <include>plugin.xml</include>
-        </includes>
-      </resource>
-    </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.7.2</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.5</version>
-                <extensions>true</extensions>
-                <configuration>
-		    <manifestLocation>META-INF</manifestLocation>
-                    <instructions>
-                        <Bundle-SymbolicName>${project.artifactId};singleton:=true</Bundle-SymbolicName>
-                        <Bundle-Name>${project.name}</Bundle-Name>
-                        <Bundle-Version>${project.version}</Bundle-Version>
-                        <Include-Resource>
-                            org/eclipse/paho/client/mqttv3/internal/nls=${project.basedir}/src/main/resources,
-                            ${project.basedir}/about.html,
-                            about_files=${project.basedir}/about_files/
-                        </Include-Resource>
-                        <Import-Package>
-			    javax.net;resolution:=optional,
-			    javax.net.ssl;resolution:=optional
-                        </Import-Package>
-                        <Export-Package>
-			    org.eclipse.paho.client.mqttv3,
-			    org.eclipse.paho.client.mqttv3.logging,
-			    org.eclipse.paho.client.mqttv3.persist,
-			    org.eclipse.paho.client.mqttv3.util,
-			    org.eclipse.paho.client.mqttv3.internal,
-			    org.eclipse.paho.client.mqttv3.internal.security,
-			    org.eclipse.paho.client.mqttv3.internal.wire
-                        </Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            
-	    <plugin>
-        	<artifactId>maven-dependency-plugin</artifactId>
-        	<executions>
-        	  <execution>
-        	    <id>copy-dependencies</id>
-        	    <phase>package</phase>
-        	    <goals>
-        	      <goal>copy-dependencies</goal>
-        	    </goals>
-        	  </execution>
-        	</executions>
-	   </plugin>
-	   
-        </plugins>
-        <pluginManagement>
-        	<plugins>
-        		<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
-        		<plugin>
-        			<groupId>org.eclipse.m2e</groupId>
-        			<artifactId>lifecycle-mapping</artifactId>
-        			<version>1.0.0</version>
-        			<configuration>
-        				<lifecycleMappingMetadata>
-        					<pluginExecutions>
-        						<pluginExecution>
-        							<pluginExecutionFilter>
-        								<groupId>
-        									org.apache.maven.plugins
-        								</groupId>
-        								<artifactId>
-        									maven-dependency-plugin
-        								</artifactId>
-        								<versionRange>
-        									[2.1,)
-        								</versionRange>
-        								<goals>
-        									<goal>
-        										copy-dependencies
-        									</goal>
-        								</goals>
-        							</pluginExecutionFilter>
-        							<action>
-        								<ignore></ignore>
-        							</action>
-        						</pluginExecution>
-        					</pluginExecutions>
-        				</lifecycleMappingMetadata>
-        			</configuration>
-        		</plugin>
-        	</plugins>
-        </pluginManagement>
-    </build>
-</project>
diff --git a/target-platform/org.eclipse.paho/src/main/resources/logcat.properties b/target-platform/org.eclipse.paho/src/main/resources/logcat.properties
deleted file mode 100644
index 4f74523..0000000
--- a/target-platform/org.eclipse.paho/src/main/resources/logcat.properties
+++ /dev/null
@@ -1,133 +0,0 @@
-0=MQTT Catalog
-200=internalSend key={0} message={1} token={2}
-213=fail: token in use: key={0} message={1} token={2}
-208=failed: not connected
-224=failed: not disconnected
-214=state=CONNECTING
-207=connect failed: not disconnected {0}
-215=state=CONNECTED
-204=connect failed: rc={0}
-216=state=DISCONNECTING
-217=state=DISCONNECTED
-222=>
-223=failed: in closed state
-211=failed: already disconnected
-219=failed: already disconnecting
-210=failed: called on callback thread
-218=state=DISCONNECTING
-220=>
-212=connect failed: unexpected exception
-209=connect failed: unexpected exception
-221=>
-603=clearState
-602=key={0} exception
-601=key={0} message={1}
-600=>
-604=inbound QoS 2 publish key={0} message={1}
-605=outbound QoS 2 pubrel key={0} message={1}
-606=outbound QoS 2 completed key={0} message={1}
-607=outbound QoS 2 publish key={0} message={1}
-608=outbound QoS 1 publish key={0} message={1}
-609=removing orphaned pubrel key={0}
-610=QoS 2 publish key={0}
-611=QoS 2 pubrel key={0}
-612=QoS 1 publish key={0}
-613= sending {0} msgs at max inflight window
-628=pending publish key={0} qos={1} message={2}
-615=pending send key={0} message {1}
-618=key={0} QoS={1}
-620=ping needed. keepAlive={0} lastOutboundActivity={1} lastInboundActivity={2}
-619=Timed out as no activity, keepAlive={0} lastOutboundActivity={1} lastInboundActivity={2}
-644=wait for {0} ms for new work or for space in the inflight window
-621=no outstanding flows and not connected
-617=+1 inflightpubrels={0}
-623=+1 actualInFlight={0}
-622=inflight window full
-625=key={0}
-646=-1 actualInFlight={0}
-626=quiescing={0} actualInFlight={1} pendingFlows={2} inFlightPubRels={3} callbackQuiesce={4} tokens={5}
-627=received key={0} message={1}
-651=received key={0} message={1}
-629=received key={0} token={1} message={2}
-650=removed Qos 1 publish. key={0}
-645=removed QoS 2 publish/pubrel. key={0}, -1 inFlightPubRels={1}
-648=key{0}, msg={1}, excep={2}
-649=key={0},excep={1}
-631=connected
-632=reason {0}
-633=disconnected
-637=timeout={0}
-639=wait for outstanding: actualInFlight={0} pendingFlows={1} inFlightPubRels={2} tokens={3}
-640=finished
-638=notifying queueLock holders
-641=remove publish from persistence. key={0}
-700=stopping
-701=notify workAvailable and wait for run
-703=stopped
-704=wait for workAvailable
-706=notify spaceAvailable
-714=callback threw exception
-705=callback and notify for key={0}
-708=call connectionLost
-720=exception from connectionLost {0}
-716=call onSuccess key={0}
-717=call onFailure key {0}
-709=wait for spaceAvailable
-710=new msg avail, notify workAvailable
-711=quiesce notify spaceAvailable
-713=call messageArrived key={0} topic={1}
-715=new workAvailable. key={0}
-719=callback threw ex:
-855=starting
-850=stopping
-851=stopped
-852=network read message
-856=Stopping, MQttException
-853=Stopping due to IOException
-854=<
-800=stopping sender
-801=stopped
-802=network send key={0} msg={1}
-803=get message returned null, stopping}
-805=<
-804=exception
-308=<>
-306=key={0}
-302=existing key={0} message={1} token={2}
-303=creating new token key={0} message={1} token={2}
-300=key={0} message={1}
-307=key={0} token={1}
-309=resp={0}
-310=>
-311=>
-312=>
-305=> {0} tokens
-260=setEnabledCiphers ciphers={0}
-252=connect to host {0} port {1} timeout {2}
-250=Failed to create TCP socket
-407=key={0} wait max={1} token={2}
-406=key={0} timed out token={1}
-400=>key={0} timeout={1} sent={2} completed={3} hasException={4} response={5} token={6}
-408=key={0} wait max={1}
-401=failed with exception
-402=key={0} response={1}
-404=>key={0} response={1} excep={2}
-411=>key={0} response={1} excep={2}
-409=wait key={0}
-403=> key={0}
-410=> key={0}
-101=<init> ClientID={0} ServerURI={1} PersistenceType={2}
-116=URI={0}
-115=URI={0}
-103=cleanSession={0} connectionTimeout={1} TimekeepAlive={2} userName={3} password={4} will={5} userContext={6} callback={7}
-104=> quiesceTimeout={0} userContext={1} callback={2}
-105=< exception
-108=<
-106=Subscribe topic={0} userContext={1} callback={2}
-109=<
-107=Unsubscribe topic={0} userContext={1} callback={2}
-110=<
-111=< topic={0} message={1}userContext={1} callback={2}
-112=<
-113=<
-114=>
diff --git a/target-platform/org.eclipse.soda.dk.comm/OSGI-INF/l10n/bundle.properties b/target-platform/org.eclipse.soda.dk.comm/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 074c574..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-#########################################################################
-# Copyright (c) 2007, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-bundle.copyright=Copyright (c) 2007, 2009 IBM.
-bundle.description=Comm
-bundle.name=Comm (Incubation)
-bundle.vendor=Eclipse.org
diff --git a/target-platform/org.eclipse.soda.dk.comm/OSGI-INF/l10n/bundle_en.properties b/target-platform/org.eclipse.soda.dk.comm/OSGI-INF/l10n/bundle_en.properties
deleted file mode 100644
index 074c574..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/OSGI-INF/l10n/bundle_en.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-#########################################################################
-# Copyright (c) 2007, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-bundle.copyright=Copyright (c) 2007, 2009 IBM.
-bundle.description=Comm
-bundle.name=Comm (Incubation)
-bundle.vendor=Eclipse.org
diff --git a/target-platform/org.eclipse.soda.dk.comm/TooManyListenersException.java b/target-platform/org.eclipse.soda.dk.comm/TooManyListenersException.java
deleted file mode 100644
index a087b1e..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/TooManyListenersException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-
-package java.util;
-
-/*
- * Licensed Materials - Property of IBM,
- * (c) Copyright IBM Corp. 1998, 2002  All Rights Reserved
- */
-
-/**
- * This exception is thrown when an attempt is made to add
- * more than one listener to an event source which only
- * supports a single listener. It is also thrown when the
- * same listener is added more than once.
- *
- * @author		OTI
- * @version		initial
- *
- * @see		java.lang.Exception
- */
-public class TooManyListenersException extends Exception {
-
-	static final long serialVersionUID = 5074640544770687831L;
-
-/**
- * Constructs a new instance of this class with its
- * walkback filled in.
- *
- * @author		OTI
- * @version		initial
- */
-public TooManyListenersException () {
-	super();
-}
-
-/**
- * Constructs a new instance of this class with its
- * walkback and message filled in.
- *
- * @author		OTI
- * @version		initial
- *
- * @param		detailMessage String
- *				The detail message for the exception.
- */
-public TooManyListenersException (String detailMessage) {
-	super(detailMessage);
-}
-
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/about.html b/target-platform/org.eclipse.soda.dk.comm/about.html
deleted file mode 100644
index b53f0cf..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>April 4, 2014</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html";>http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/";>http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/target-platform/org.eclipse.soda.dk.comm/about_files/epl-v10.html b/target-platform/org.eclipse.soda.dk.comm/about_files/epl-v10.html
deleted file mode 100644
index 3998fce..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/about_files/epl-v10.html
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Public License - Version 1.0</title>
-<style type="text/css">
-  body {
-    size: 8.5in 11.0in;
-    margin: 0.25in 0.5in 0.25in 0.5in;
-    tab-interval: 0.5in;
-    }
-  p {  	
-    margin-left: auto;
-    margin-top:  0.5em;
-    margin-bottom: 0.5em;
-    }
-  p.list {
-  	margin-left: 0.5in;
-    margin-top:  0.05em;
-    margin-bottom: 0.05em;
-    }
-  </style>
-
-</head>
-
-<body lang="EN-US">
-
-<h2>Eclipse Public License - v 1.0</h2>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>&quot;Contribution&quot; means:</p>
-
-<p class="list">a) in the case of the initial Contributor, the initial
-code and documentation distributed under this Agreement, and</p>
-<p class="list">b) in the case of each subsequent Contributor:</p>
-<p class="list">i) changes to the Program, and</p>
-<p class="list">ii) additions to the Program;</p>
-<p class="list">where such changes and/or additions to the Program
-originate from and are distributed by that particular Contributor. A
-Contribution 'originates' from a Contributor if it was added to the
-Program by such Contributor itself or anyone acting on such
-Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in
-conjunction with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.</p>
-
-<p>&quot;Contributor&quot; means any person or entity that distributes
-the Program.</p>
-
-<p>&quot;Licensed Patents&quot; mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of its
-Contribution alone or when combined with the Program.</p>
-
-<p>&quot;Program&quot; means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>&quot;Recipient&quot; means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
-
-<p><b>2. GRANT OF RIGHTS</b></p>
-
-<p class="list">a) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works
-of, publicly display, publicly perform, distribute and sublicense the
-Contribution of such Contributor, if any, and such derivative works, in
-source code and object code form.</p>
-
-<p class="list">b) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell,
-offer to sell, import and otherwise transfer the Contribution of such
-Contributor, if any, in source code and object code form. This patent
-license shall apply to the combination of the Contribution and the
-Program if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to be covered
-by the Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</p>
-
-<p class="list">c) Recipient understands that although each Contributor
-grants the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</p>
-
-<p class="list">d) Each Contributor represents that to its knowledge it
-has sufficient copyright rights in its Contribution, if any, to grant
-the copyright license set forth in this Agreement.</p>
-
-<p><b>3. REQUIREMENTS</b></p>
-
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
-
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
-
-<p class="list">b) its license agreement:</p>
-
-<p class="list">i) effectively disclaims on behalf of all Contributors
-all warranties and conditions, express and implied, including warranties
-or conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;</p>
-
-<p class="list">ii) effectively excludes on behalf of all Contributors
-all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;</p>
-
-<p class="list">iii) states that any provisions which differ from this
-Agreement are offered by that Contributor alone and not by any other
-party; and</p>
-
-<p class="list">iv) states that source code for the Program is available
-from such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for software
-exchange.</p>
-
-<p>When the Program is made available in source code form:</p>
-
-<p class="list">a) it must be made available under this Agreement; and</p>
-
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
-
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and
-indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
-against any losses, damages and costs (collectively &quot;Losses&quot;)
-arising from claims, lawsuits and other legal actions brought by a third
-party against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In
-order to qualify, an Indemnified Contributor must: a) promptly notify
-the Commercial Contributor in writing of such claim, and b) allow the
-Commercial Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement negotiations. The
-Indemnified Contributor may participate in any such claim at its own
-expense.</p>
-
-<p>For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.</p>
-
-<p><b>5. NO WARRANTY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable laws,
-damage to or loss of data, programs or equipment, and unavailability or
-interruption of operations.</p>
-
-<p><b>6. DISCLAIMER OF LIABILITY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), 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 OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p><b>7. GENERAL</b></p>
-
-<p>If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the
-date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of time
-after becoming aware of such noncompliance. If all Recipient's rights
-under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other than the
-Agreement Steward has the right to modify this Agreement. The Eclipse
-Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a
-suitable separate entity. Each new version of the Agreement will be
-given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-rights or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No party
-to this Agreement will bring a legal action under this Agreement more
-than one year after the cause of action arose. Each party waives its
-rights to a jury trial in any resulting litigation.</p>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/target-platform/org.eclipse.soda.dk.comm/build.properties b/target-platform/org.eclipse.soda.dk.comm/build.properties
deleted file mode 100644
index 3e026f0..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-#########################################################################
-# Copyright (c) 2006, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-additional.bundles=org.eclipse.osgi,org.eclipse.osgi.services
-bin.includes=.,META-INF/,copyright.txt,lib/,OSGI-INF/,OSGI-INF/l10n/,about.html
-output..=bin/
-source..=src/
-src.includes=copyright.txt
diff --git a/target-platform/org.eclipse.soda.dk.comm/copyright.txt b/target-platform/org.eclipse.soda.dk.comm/copyright.txt
deleted file mode 100644
index 4f69d3d..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/copyright.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Copyright (c) 1999, 2009 IBM.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-
-Contributors:
-    IBM - initial API and implementation
\ No newline at end of file
diff --git a/target-platform/org.eclipse.soda.dk.comm/pom.xml b/target-platform/org.eclipse.soda.dk.comm/pom.xml
deleted file mode 100644
index a984a41..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/pom.xml
+++ /dev/null
@@ -1,171 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>target-platform</artifactId>
-    <version>0.2.0-SNAPSHOT</version>
-  </parent>
-
-    <groupId>org.eclipse.kura</groupId>
-    <artifactId>org.eclipse.soda.dk.comm</artifactId>
-    <version>1.2.0</version>
-    <packaging>bundle</packaging>
-
-    <name>Serial Device based on SODA DK comm</name>
-    <description>An implementation of the serialdevice.api, based on SODA DK comm</description>
-
-    <properties>
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-	<dependency>
-		<groupId>org.eclipse.tycho</groupId>
-		<artifactId>org.eclipse.osgi</artifactId>
-		<version>3.8.1.v20120830-144521</version>
-	</dependency>
-    </dependencies>
-
-    <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-      </resource>
-      <resource>
-        <directory>.</directory>
-        <includes>
-          <include>plugin.xml</include>
-        </includes>
-      </resource>
-    </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.7.2</version>
-                <configuration>
-                    <systemPropertyVariables>
-                        <java.library.path>${project.basedir}/src/main/lib</java.library.path>
-                    </systemPropertyVariables>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.5</version>
-                <extensions>true</extensions>
-                <configuration>
-<!--
-Manifest-Version: 1.0
-Bundle-Activator: org.eclipse.soda.dk.comm.bundle.Activator
-Bundle-Copyright: %bundle.copyright
-Bundle-Description: %bundle.description
-Bundle-Localization: OSGI-INF/l10n/bundle
-Bundle-ManifestVersion: 2
-Bundle-Name: %bundle.name
-Bundle-SymbolicName: org.eclipse.soda.dk.comm
-Bundle-Vendor: %bundle.vendor
-Bundle-Version: 1.2.0.qualifier
-Export-Package: javax.comm;version="1.2.0",
- org.eclipse.soda.dk.comm;version="1.2.0",
- org.eclipse.soda.dk.comm.bundle;version="1.2.0",
- org.eclipse.soda.dk.comm.internal;version="1.2.0"
-Import-Package: org.osgi.framework;version="1.4.0"
--->
-		    <manifestLocation>META-INF</manifestLocation>
-                    <instructions>
-                        <Bundle-Activator>org.eclipse.soda.dk.comm.bundle.Activator</Bundle-Activator>
-                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                        <Bundle-Name>%bundle.name</Bundle-Name>
-                        <Bundle-Version>${project.version}</Bundle-Version>
-<!--
-                        <Embed-Dependency>
-                            rxtx;groupId=org.rxtx;artifactId=rxtx;version=2.2.0;scope=runtime
-                        </Embed-Dependency>
--->
-                        <Include-Resource>
-                            lib=${project.basedir}/src/main/lib,
-                            ${project.basedir}/about.html,
-                            about_files=${project.basedir}/about_files/
-                        </Include-Resource>
-                        <Bundle-NativeCode>
-                        	lib/linux/x86/libdkcomm.so; osname=Linux; processor=x86,
-				lib/linux/x86_64/libdkcomm.so; osname=Linux; processor=x86-64,
-                        	lib/linux/armv6_hf/libdkcomm.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv7_hf))",
-                        	lib/linux/armv5_sf/libdkcomm.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv7_sf))",
-                        	lib/linux/armv6_hf/libdkcomm.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv6_hf))",
-                        	lib/linux/armv5_sf/libdkcomm.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv6_sf))",
-                        	lib/linux/armv5_sf/libdkcomm.so; osname=Linux; processor=ARM; selection-filter="(&amp;(kura.arch=armv5_sf))",
-                        	lib/mac/x86/libdkcomm.jnilib; osname=macosx; processor=x86_64,
-                        	*
-                        </Bundle-NativeCode>
-                        <Import-Package>
-				org.osgi.framework;version="[1.5.0,2.0.0)"
-                        </Import-Package>
-                        <Export-Package>
-				javax.comm;version="1.2.0",
-				org.eclipse.soda.dk.comm;version="1.2.0",
-				org.eclipse.soda.dk.comm.bundle;version="1.2.0",
-				org.eclipse.soda.dk.comm.internal;version="1.2.0"
-                        </Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            
-	    <plugin>
-        	<artifactId>maven-dependency-plugin</artifactId>
-        	<executions>
-        	  <execution>
-        	    <id>copy-dependencies</id>
-        	    <phase>package</phase>
-        	    <goals>
-        	      <goal>copy-dependencies</goal>
-        	    </goals>
-        	  </execution>
-        	</executions>
-	   </plugin>
-	   
-        </plugins>
-        <pluginManagement>
-        	<plugins>
-        		<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
-        		<plugin>
-        			<groupId>org.eclipse.m2e</groupId>
-        			<artifactId>lifecycle-mapping</artifactId>
-        			<version>1.0.0</version>
-        			<configuration>
-        				<lifecycleMappingMetadata>
-        					<pluginExecutions>
-        						<pluginExecution>
-        							<pluginExecutionFilter>
-        								<groupId>
-        									org.apache.maven.plugins
-        								</groupId>
-        								<artifactId>
-        									maven-dependency-plugin
-        								</artifactId>
-        								<versionRange>
-        									[2.1,)
-        								</versionRange>
-        								<goals>
-        									<goal>
-        										copy-dependencies
-        									</goal>
-        								</goals>
-        							</pluginExecutionFilter>
-        							<action>
-        								<ignore></ignore>
-        							</action>
-        						</pluginExecution>
-        					</pluginExecutions>
-        				</lifecycleMappingMetadata>
-        			</configuration>
-        		</plugin>
-        	</plugins>
-        </pluginManagement>
-    </build>
-</project>
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/CommPortIdentifier.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/CommPortIdentifier.c
deleted file mode 100644
index 195a20a..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/CommPortIdentifier.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#ifdef WIN32
-#include "javax_comm_CommPortIdentifier.h"
-extern int w32CommPortIdentifier_monitorInterJVMDeviceAccessNC( JNIEnv *, jobject, jobject );
-#else
-#if _WIN32_WCE>=400
-#include "javax_comm_CommPortIdentifier.h"
-extern int w32CommPortIdentifier_monitorInterJVMDeviceAccessNC( JNIEnv *, jobject, jobject );
-#else //linux
-#include <javax_comm_CommPortIdentifier.h>
-#endif //_WIN32_WCE>=400
-#endif //WIN32
-/*
- * Class:     javax_comm_CommPortIdentifier
- * Method:    monitorInterJVMDeviceAccessNC
- * Signature: (Ljava/lang/Thread;)I
- *
- * Currenty not Supported on Posix Devices
- */
-JNIEXPORT jint JNICALL Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC
-				(JNIEnv *jenv, jobject jobj, jobject jtho) {
-#ifdef WIN32
-    return w32CommPortIdentifier_monitorInterJVMDeviceAccessNC( jenv, jobj, jtho );
-#else
-#if _WIN32_WCE>=400
-    return w32CommPortIdentifier_monitorInterJVMDeviceAccessNC( jenv, jobj, jtho );
-#else
-    return cygCommPortIdentifier_monitorInterJVMDeviceAccessNC( jenv, jobj, jtho );
-#endif
-#endif
-} /* Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vpj b/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vpj
deleted file mode 100644
index 6a09b0d..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vpj
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE Project SYSTEM "http://www.slickedit.com/dtd/vse/10.0/vpj.dtd";>
-<Project
-	Version="10.0"
-	VendorName="SlickEdit"
-	WorkingDir=".">
-	<Config
-		Name="Release"
-		OutputFile=""
-		CompilerConfigName="Latest Version">
-		<Menu>
-			<Target
-				Name="Compile"
-				MenuCaption="&amp;Compile"
-				CaptureOutputWith="ProcessBuffer"
-				SaveOption="SaveCurrent"
-				RunFromDir="%rw">
-				<Exec/>
-			</Target>
-			<Target
-				Name="Build"
-				MenuCaption="&amp;Build"
-				CaptureOutputWith="ProcessBuffer"
-				SaveOption="SaveWorkspaceFiles"
-				RunFromDir="%rw">
-				<Exec/>
-			</Target>
-			<Target
-				Name="Rebuild"
-				MenuCaption="&amp;Rebuild"
-				CaptureOutputWith="ProcessBuffer"
-				SaveOption="SaveWorkspaceFiles"
-				RunFromDir="%rw">
-				<Exec/>
-			</Target>
-			<Target
-				Name="Debug"
-				MenuCaption="&amp;Debug"
-				SaveOption="SaveNone"
-				RunFromDir="%rw">
-				<Exec/>
-			</Target>
-			<Target
-				Name="Execute"
-				MenuCaption="E&amp;xecute"
-				SaveOption="SaveNone"
-				RunFromDir="%rw">
-				<Exec CmdLine='"Javaxcommnatives.exe"'/>
-			</Target>
-		</Menu>
-	</Config>
-	<Files>
-		<Folder
-			Name="Source Files"
-			Filters="*.c;*.C;*.cc;*.cpp;*.cp;*.cxx;*.prg;*.pas;*.dpr;*.asm;*.s;*.bas;*.java;*.cs;*.sc;*.e;*.cob;*.html;*.rc;*.tcl;*.py;*.pl">
-			<F N="CommPortIdentifier.c"/>
-			<F N="cygCommDriver.c"/>
-			<F N="cygCommPortIdentifier.c"/>
-			<F N="cygDeviceInputStream.c"/>
-			<F N="cygDeviceOutputStream.c"/>
-			<F N="cygParallelErrorEventThread.c"/>
-			<F N="cygParallelPort.c"/>
-			<F N="cygSerialDataEventThread.c"/>
-			<F N="cygSerialPort.c"/>
-			<F N="cygSerialStatusEventThread.c"/>
-			<F N="NSCommDriver.c"/>
-			<F N="NSCommLOG.c"/>
-			<F N="NSDeviceInputStream.c"/>
-			<F N="NSDeviceOutputStream.c"/>
-			<F N="NSParallelPort.c"/>
-			<F N="NSSerialPort.c"/>
-			<F N="ParallelErrorEventThread.c"/>
-			<F N="SerialDataEventThread.c"/>
-			<F N="SerialStatusEventThread.c"/>
-			<F N="SysVStyleSemaphore.c"/>
-			<F N="w32CommDriver.c"/>
-			<F N="w32CommPortIdentifier.c"/>
-			<F N="w32DeviceInputStream.c"/>
-			<F N="w32DeviceOutputStream.c"/>
-			<F N="w32ParallelErrorEventThread.c"/>
-			<F N="w32ParallelPort.c"/>
-			<F N="w32SerialDataEventThread.c"/>
-			<F N="w32SerialPort.c"/>
-			<F N="w32SerialStatusEventThread.c"/>
-		</Folder>
-		<Folder
-			Name="Header Files"
-			Filters="*.h;*.H;*.hh;*.hpp;*.hxx;*.inc;*.sh;*.cpy;*.if">
-			<F N="org_eclipse_soda_dk_comm_NSCommDriver.h"/>
-			<F N="org_eclipse_soda_dk_comm_NSDeviceInputStream.h"/>
-			<F N="org_eclipse_soda_dk_comm_NSDeviceOutputStream.h"/>
-			<F N="org_eclipse_soda_dk_comm_NSParallelPort.h"/>
-			<F N="org_eclipse_soda_dk_comm_NSSerialPort.h"/>
-			<F N="org_eclipse_soda_dk_comm_ParallelErrorEventThread.h"/>
-			<F N="org_eclipse_soda_dk_comm_SerialDataEventThread.h"/>
-			<F N="org_eclipse_soda_dk_comm_SerialStatusEventThread.h"/>
-			<F N="org_eclipse_soda_dk_comm.h"/>
-			<F N="javax_comm_CommPortIdentifier.h"/>
-			<F N="NSCommLOG.h"/>
-			<F N="SysVStyleSemaphore.h"/>
-			<F N="w32ParallePort.h"/>
-			<F N="w32SerialPort.h"/>
-		</Folder>
-		<Folder
-			Name="Resource Files"
-			Filters="*.ico;*.cur;*.dlg"/>
-		<Folder
-			Name="Bitmaps"
-			Filters="*.bmp"/>
-		<Folder
-			Name="Other Files"
-			Filters="">
-			<F
-				N="makefile"
-				Type="Makefile"/>
-			<F N="makefile.linux"/>
-			<F N="makefile.qnx"/>
-			<F N="makefile.win32"/>
-			<F N="makefile.win32_down"/>
-			<F N="makefile.wince"/>
-		</Folder>
-	</Files>
-</Project>
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vpw b/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vpw
deleted file mode 100644
index 7fedb95..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vpw
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE Workspace SYSTEM "http://www.slickedit.com/dtd/vse/10.0/vpw.dtd";>
-<Workspace Version="10.0" VendorName="SlickEdit">
-	<Projects>
-		<Project File="Javaxcommnatives.vpj"/>
-	</Projects>
-</Workspace>
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vpwhist b/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vpwhist
deleted file mode 100644
index 19499cc..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vpwhist
+++ /dev/null
@@ -1,37 +0,0 @@
-[Global]
-CurrentProject=Javaxcommnatives.vpj
-[ProjectDates]
-Javaxcommnatives.vpj=20051005132710000
-[ActiveConfig]
-Javaxcommnatives.vpj=Release
-[State]
-SCREEN: 1400 1050 66 87 1050 719 0 0 M 0 0 0 0 1373 824
-CWD: ..\natives
-BUFFER: BN="C:\j9dev\win\j9win\include\j9port.h"
-BI: MA=1 74 1  TABS=1 5  WWS=1 IWT=0 ST=0 IN=2 BW=0 US=32000 RO=0 SE=1 SN=0 BIN=0 MN=C	HM=0 MF=608 TL=0 MLL=0 ASE=0 LNL=6 LCF=0 CAPS=0 E=0 ESBU2=-1
-VIEW: LN=.730 CL=14 LE=0 CX=13 CY=24 WI=5 BI=12 HT=0 HN=0 HF=0 HC=4
-BUFFER: BN="C:\j9dev\win\j9win\include\jni.h"
-BI: MA=1 74 1  TABS=1 5  WWS=1 IWT=0 ST=0 IN=2 BW=0 US=32000 RO=0 SE=1 SN=0 BIN=0 MN=C	HM=0 MF=608 TL=0 MLL=0 ASE=0 LNL=6 LCF=0 CAPS=0 E=0 ESBU2=-1
-VIEW: LN=.3266 CL=26 LE=0 CX=25 CY=15 WI=5 BI=14 HT=0 HN=0 HF=0 HC=4
-BUFFER: BN="..\..\gary\j9win\SerialPortTest.java"
-BI: MA=1 74 1  TABS=1 9  WWS=1 IWT=0 ST=0 IN=2 BW=0 US=32000 RO=0 SE=1 SN=0 BIN=0 MN=Java	HM=0 MF=608 TL=0 MLL=0 ASE=0 LNL=6 LCF=0 CAPS=0 E=0 ESBU2=-1
-VIEW: LN=.0 CL=1 LE=0 CX=0 CY=0 WI=5 BI=15 HT=0 HN=0 HF=0 HC=4
-WINDOW: 44 58 1175 563 -1 -1 N  WF=0 WT=3 "Default Fixed Font,10,0,1"
-BUFFER: BN="C:\j9dev\win\j9win\include\jni.h"
-VIEW: LN=.3266 CL=26 LE=0 CX=25 CY=15 WI=89 BI=14 HT=0 HN=0 HF=0 HC=4
-WINDOW: 22 29 1175 563 -1 -1 N  WF=0 WT=2 "Default Fixed Font,10,0,1"
-BUFFER: BN="C:\j9dev\win\j9win\include\j9port.h"
-VIEW: LN=.730 CL=14 LE=0 CX=13 CY=24 WI=87 BI=12 HT=0 HN=0 HF=0 HC=4
-WINDOW: 66 87 1175 563 -1 -1 M  WF=0 WT=1 "Default Fixed Font,10,0,1"
-BUFFER: BN="..\..\gary\j9win\SerialPortTest.java"
-VIEW: LN=.1984 CL=68 LE=0 CX=67 CY=35 WI=91 BI=15 HT=0 HN=0 HF=0 HC=4
-FILEHIST: 9
-C:\Ravi\stocks\earncal.txt
-C:\Ravi\stocks\zacks.txt
-C:\j9dev\vxworks\j9vxworksppcjit-SR1-d\codegen_common\Options.cpp
-..\..\gary\j9win\SimpleSerial.java
-..\..\gary\j9win\TestComm.java
-C:\Documents and Settings\Administrator\My Documents\IBM\wsdd571\workspace\JavaCommAPIBuild\javaxcomm-rhel-20051004-0527.zip
-C:\j9dev\win\j9win\include\j9port.h
-C:\j9dev\win\j9win\include\jni.h
-..\..\gary\j9win\SerialPortTest.java
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vtg b/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vtg
deleted file mode 100644
index c1b0c0a..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Javaxcommnatives.vtg
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSCommDriver.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSCommDriver.c
deleted file mode 100644
index 546a410..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSCommDriver.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#ifdef WIN32
-#include "org_eclipse_soda_dk_comm_NSCommDriver.h"
-extern  w32CommDriver_discoverDevicesNC(jenv, jobj);
-#else
-#if _WIN32_WCE>=400
-#include "org_eclipse_soda_dk_comm_NSCommDriver.h"
-extern  w32CommDriver_discoverDevicesNC(jenv, jobj);
-#else
-#include <org_eclipse_soda_dk_comm_NSCommDriver.h>
-#endif
-#endif
-/*
- * Class:     com.ibm.comm.NSCommDriver
- * Method:    discoverDevicesNC
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_NSCommDriver_discoverDevicesNC
-  (JNIEnv *jenv, jobject jobj) {
-#ifdef WIN32
-    w32CommDriver_discoverDevicesNC(jenv, jobj);
-#else
-#if _WIN32_WCE>=400
-    w32CommDriver_discoverDevicesNC(jenv, jobj);
-#else
-    cygCommDriver_discoverDevicesNC(jenv, jobj);
-#endif
-#endif
-    return;
-}	// Java_org_eclipse_soda_dk_comm_NSCommDriver_discoverDevicesNC
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSCommLOG.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSCommLOG.c
deleted file mode 100644
index aa9cbdd..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSCommLOG.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-#include <windows.h>
-#include "org_eclipse_soda_dk_comm_NSSerialPort.h"
-#include "NSCommLOG.h"
-/*------------------------------------------------------------------
- * 
- *------------------------------------------------------------------*/
-#if 0 
-void ivelog(char *format, ...) {
-	va_list    varArgs;
-	FILE      *file;
-	time_t     timeNow;
-	struct tm *tmNow;
-	char       timeString[32];
-	char      *logFileName;
-	logFileName = "c:\\projects\\javaxcomm_win\\iveser.log";
-//	file = fopen(logFileName,"w");
-	file = fopen(logFileName,"a+w");
-	if (NULL == file) return;
-	timeNow = time(NULL);
-	tmNow   = localtime(&timeNow);
-	strftime(timeString,sizeof(timeString)-1,"%Y/%m/%d %H:%M:%S",tmNow);
-	fprintf(file,"%s : ",timeString);
-	va_start(varArgs,format);
-	vfprintf(file,format,varArgs);
-	va_end(varArgs);
-	fprintf(file,"\n");
-	fclose(file);
-}
-#endif
-/*------------------------------------------------------------------
- * throw an exception
- *------------------------------------------------------------------*/
-void iveSerThrow( JNIEnv *env, char *message, int rc ) {
-	jclass clazz;
-	
-	LOG(("iveSerThrow(%s)",message));
-	switch (rc){
-		case J9_ERROR_ACCESS_DENIED:
-			clazz = (*env)->FindClass(env, "javax/comm/PortInUseException");
-			break;
-		case J9_ERROR_FILE_NOT_FOUND:
-			clazz = (*env)->FindClass(env, "javax/comm/NoSuchPortException");		
-			break;
-		default:
-			clazz = (*env)->FindClass(env, "javax/comm/SerialPortException");			
-	}
-	if (!clazz) {
-		LOG(("couldn't find exception class"));
-		return;
-	}
-	(*env)->ThrowNew(env,clazz,message);
-}
-/*------------------------------------------------------------------
- * 
- *------------------------------------------------------------------*/
-void iveSerThrowWin(
-	JNIEnv *env, 
-	char   *msg,
-	int     rc
-	) {
-	char message[256];
-	char rcBuffer[128];
-	
-	LOG(("iveSerThrowWin(%s,%d)",msg,rc));
-	FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,0,rc,0,rcBuffer,sizeof(rcBuffer)-1,0);
-	sprintf(message,"%s; rc=%d, %s",msg,rc,rcBuffer);
-	
-	switch (rc){
-		case ERROR_ACCESS_DENIED:
-			iveSerThrow(env,message, J9_ERROR_ACCESS_DENIED);
-			break;
-		case ERROR_FILE_NOT_FOUND:
-			iveSerThrow(env,message, J9_ERROR_FILE_NOT_FOUND);
-			break;
-		default:
-			iveSerThrow(env,message, J9_UNKNOWN_ERROR);
-			break;
-			
-	}
-}
-/*------------------------------------------------------------------
- * clear comm errors
- *------------------------------------------------------------------*/
-void iveSerClearCommErrors(
-	HANDLE osHandle
-	) {
-	COMSTAT comStat;
-	DWORD   dwErrors;
-	ClearCommError(osHandle,&dwErrors,&comStat);
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSCommLOG.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSCommLOG.h
deleted file mode 100644
index e671d03..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSCommLOG.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#if defined(NSLOGGING_AVAILABLE)
-#define LOG(x) ivelog x
-#else
-#define LOG(x)
-#endif
-#define  J9_ERROR_ACCESS_DENIED 100
-#define  J9_ERROR_FILE_NOT_FOUND 101
-#define J9_UNKNOWN_ERROR 102
-void ivelog(char *format, ...);
-void iveSerThrow( JNIEnv *, char *, int );
-void iveSerThrowWin( JNIEnv *, char *, int	);
-void iveSerClearCommErrors( HANDLE );
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSDeviceInputStream.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSDeviceInputStream.c
deleted file mode 100644
index ef57e33..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSDeviceInputStream.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#ifdef WIN32
-#include "org_eclipse_soda_dk_comm_NSDeviceInputStream.h"
-extern int w32DeviceInputStream_readDeviceOneByteNC(JNIEnv *, jobject);
-extern int w32DeviceInputStream_readDeviceNC(JNIEnv *, jobject, jbyteArray, jint, jint);
-extern int w32DeviceInputStream_getReadCountNC(JNIEnv *, jobject);
-#else
-#if _WIN32_WCE>=400
-#include "org_eclipse_soda_dk_comm_NSDeviceInputStream.h"
-extern int w32DeviceInputStream_readDeviceOneByteNC(JNIEnv *, jobject);
-extern int w32DeviceInputStream_readDeviceNC(JNIEnv *, jobject, jbyteArray, jint, jint);
-extern int w32DeviceInputStream_getReadCountNC(JNIEnv *, jobject);
-#else
-#include <org_eclipse_soda_dk_comm_NSDeviceInputStream.h>
-#endif
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_NSDeviceInputStream
- * Method:    readDeviceOneByteNC
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceOneByteNC
-  (JNIEnv *jenv, jobject jobj) {
-#ifdef WIN32
-	return (int)(unsigned char)w32DeviceInputStream_readDeviceOneByteNC(jenv, jobj);
-#else
-#if _WIN32_WCE>=400
-	return (int)(unsigned char)w32DeviceInputStream_readDeviceOneByteNC(jenv, jobj);
-#else
-    return (int)(unsigned char)cygDeviceInputStream_readDeviceOneByteNC(jenv, jobj);
-#endif
-#endif
-}	/* cygDeviceInputStream_readDeviceOneByteNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSDeviceInputStream
- * Method:    readDeviceNC
- * Signature: ([BII)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceNC
-  (JNIEnv *jenv, jobject jobj, jbyteArray jba, jint off, jint len) {
-#ifdef WIN32
-	return w32DeviceInputStream_readDeviceNC(jenv, jobj, jba, off, len);
-#else
-#if _WIN32_WCE>=400
-	return w32DeviceInputStream_readDeviceNC(jenv, jobj, jba, off, len);
-#else
-    return cygDeviceInputStream_readDeviceNC(jenv, jobj, jba, off, len);
-#endif
-#endif
-}	/* cygDeviceInputStream_readDeviceNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSDeviceInputStream
- * Method:    getReadCountNC
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_getReadCountNC
-  (JNIEnv *jenv, jobject jobj) {
-#ifdef WIN32
-  return w32DeviceInputStream_getReadCountNC(jenv, jobj);
-#else
-#if _WIN32_WCE>=400
-  return w32DeviceInputStream_getReadCountNC(jenv, jobj);
-#else
-  return cygDeviceInputStream_getReadCountNC(jenv, jobj);
-#endif
-#endif
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSDeviceOutputStream.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSDeviceOutputStream.c
deleted file mode 100644
index 6d11ff2..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSDeviceOutputStream.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#ifdef WIN32
-#include "org_eclipse_soda_dk_comm_NSDeviceOutputStream.h"
-extern int w32DeviceOutputStream_writeDeviceNC(JNIEnv *, jobject, jbyteArray, jint, jint);
-#else
-#if _WIN32_WCE>=400
-#include "org_eclipse_soda_dk_comm_NSDeviceOutputStream.h"
-extern int w32DeviceOutputStream_writeDeviceNC(JNIEnv *, jobject, jbyteArray, jint, jint);
-#else
-#include <org_eclipse_soda_dk_comm_NSDeviceOutputStream.h>
-#endif
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_NSDeviceOutputStream
- * Method:    writeDeviceNC
- * Signature: ([BII)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSDeviceOutputStream_writeDeviceNC
-  (JNIEnv *jenv, jobject jobj, jbyteArray jbuf, jint off, jint len) {
-#ifdef WIN32
-    return w32DeviceOutputStream_writeDeviceNC(jenv, jobj, jbuf, off, len);
-#else
-#if _WIN32_WCE>=400
-    return w32DeviceOutputStream_writeDeviceNC(jenv, jobj, jbuf, off, len);
-#else
-    return cygDeviceOutputStream_writeDeviceNC(jenv, jobj, jbuf, off, len);
-#endif
-#endif
-}	/*/ Java_org_eclipse_soda_dk_comm_NSDeviceOutputStream_writeDeviceNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSParallelPort.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSParallelPort.c
deleted file mode 100644
index 98818df..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSParallelPort.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#ifdef WIN32
-#include "org_eclipse_soda_dk_comm_NSParallelPort.h"
-#include "w32ParallePort.h"
-#else
-#include <org_eclipse_soda_dk_comm_NSParallelPort.h>
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    closeDeviceNC
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL  Java_org_eclipse_soda_dk_comm_NSParallelPort_closeDeviceNC
-  (JNIEnv *jenv, jobject jobj, jint fd, jint semId)
-{
-#ifdef WIN32
-	return w32ParallelPort_closeDeviceNC(jenv, jobj, fd, semId);
-#else
-//    return cyg32ParallelPort_closeDeviceNC(jenv, jobj, fd, semId);
-    return cygParallelPort_closeDeviceNC(jenv, jobj, fd, semId);
-#endif
-}	/* Java_org_eclipse_soda_dk_comm_NSParallelPort_closeDeviceNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    openDeviceNC
- * Signature: (Ljava/lang/String;I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_openDeviceNC
-  (JNIEnv *jenv, jobject jobj, jstring name, jint semId)
-{
-#ifdef WIN32
-    return w32ParallelPort_openDeviceNC(jenv, jobj, name, semId);
-#else
-    return cygParallelPort_openDeviceNC(jenv, jobj, name, semId);
-#endif
-}   /* Java_org_eclipse_soda_dk_comm_NSParallelPort_openDeviceNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPaperOutNC
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_isPaperOutNC
-  (JNIEnv *jenv, jobject jobj, jint jfd)
-{
-#ifdef WIN32
-	return 1;
-//    return w32ParallelPort_isPaperOutNC(jenv, jobj, jfd);
-#else
-    return cygParallelPort_isPaperOutNC(jenv, jobj, jfd);
-#endif
-}	/* Java_org_eclipse_soda_dk_comm_NSParallelPort_isPaperOutNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterBusyNC
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterBusyNC
-  (JNIEnv *jenv, jobject jobj, jint jfd)
-{
-#ifdef WIN32
-	return 1;
-//    return w32ParallelPort_isPrinterBusyNC(jenv, jobj, jfd);
-#else
-    return cygParallelPort_isPrinterBusyNC(jenv, jobj, jfd);
-#endif
-}	/* Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterBusyNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterSelectedNC
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterSelectedNC
-  (JNIEnv *jenv, jobject jobj, jint jfd)
-{
-#ifdef WIN32
-	return 1;
-//    return w32ParallelPort_isPrinterSelectedNC(jenv, jobj, jfd);
-#else
-    return cygParallelPort_isPrinterSelectedNC(jenv, jobj, jfd);
-#endif
-}	/* Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterSelectedNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterTimedOutNC
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterTimedOutNC
-  (JNIEnv *jenv, jobject jobj, jint jfd)
-{
-#ifdef WIN32
-	return 1;
-//    return w32ParallelPort_isPrinterTimedOutNC(jenv, jobj, jfd);
-#else
-    return cygParallelPort_isPrinterTimedOutNC(jenv, jobj, jfd);
-#endif
-}	/* Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterTimedOutNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterErrorNC
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterErrorNC
-  (JNIEnv *jenv, jobject jobj, jint jfd)
-{
-#ifdef WIN32
-	return 1;
-//    return w32ParallelPort_isPrinterErrorNC(jenv, jobj, jfd);
-#else
-    return cygParallelPort_isPrinterErrorNC(jenv, jobj, jfd);
-#endif
-}	/* Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterErrorNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSSerialPort.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSSerialPort.c
deleted file mode 100644
index dac25e0..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/NSSerialPort.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#ifdef WIN32
-#include "org_eclipse_soda_dk_comm_NSSerialPort.h"
-#include "w32SerialPort.h"
-#else
-#if _WIN32_WCE>=400
-#include "org_eclipse_soda_dk_comm_NSSerialPort.h"
-#include "w32SerialPort.h"
-#else
-#include <org_eclipse_soda_dk_comm_NSSerialPort.h>
-#endif
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    closeDeviceNC
- * Signature: (Ljava/lang/String;I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_closeDeviceNC
-  (JNIEnv *jenv, jobject jobj, jint fd, jint semId)
-{
-#ifdef WIN32
-    return w32SerialPort_closeDeviceNC(jenv, jobj, fd, semId);
-#else
-#if _WIN32_WCE>=400
-	return w32SerialPort_closeDeviceNC(jenv, jobj, fd, semId);
-#else
-    return cygSerialPort_closeDeviceNC(jenv, jobj, fd, semId);
-#endif
-#endif
-}	/* Java_org_eclipse_soda_dk_comm_NSSerialPort_closeDeviceNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    openDeviceNC
- * Signature: (Ljava/lang/String;I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_openDeviceNC
-  (JNIEnv *jenv, jobject jobj, jstring name, jint semId)
-{
-#ifdef WIN32
-    return w32SerialPort_openDeviceNC((JNIEnv *)jenv, jobj, name, semId);
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_openDeviceNC((JNIEnv *)jenv, jobj, name, semId);
-#else
-    return cygSerialPort_openDeviceNC(jenv, jobj, name, semId);
-#endif
-#endif
-}   /* Java_org_eclipse_soda_dk_comm_NSSerialPort_openDeviceNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setFlowControlModeNC
- * Signature: (Ljava/lang/String;I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_setFlowControlModeNC
-  (JNIEnv *jenv, jobject jobj, jint fd, jint fc )
-{
-#ifdef WIN32
-    return w32SerialPort_setFlowControlModeNC(jenv, jobj, fd, fc );
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_setFlowControlModeNC(jenv, jobj, fd, fc );
-#else
-    return cygSerialPort_setFlowControlModeNC(jenv, jobj, fd, fc );
-#endif
-#endif
-}   /* Java_org_eclipse_soda_dk_comm_NSSerialPort_setFlowControlModeNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getFlowControlModeNC
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_getFlowControlModeNC
-  (JNIEnv *jenv, jobject jobj, jint fd )
-{
-#ifdef WIN32
-    return w32SerialPort_getFlowControlModeNC(jenv, jobj, fd );
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_getFlowControlModeNC(jenv, jobj, fd );
-#else
-    return cygSerialPort_getFlowControlModeNC(jenv, jobj, fd );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_getFlowControlModeNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getBaudRateNC
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_getBaudRateNC
-  (JNIEnv *jenv, jobject jobj, jint fd)
-{
-#ifdef WIN32
-    return w32SerialPort_getBaudRateNC(jenv, jobj, fd);
-#else
-#if _WI32_WCE>=400
-    return w32SerialPort_getBaudRateNC(jenv, jobj, fd);
-#else
-    return cygSerialPort_getBaudRateNC(jenv, jobj, fd);
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_getBaudRateNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getDataBitsNC
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_getDataBitsNC
-  (JNIEnv *jenv, jobject jobj, jint fd)
-{
-#ifdef WIN32
-    return w32SerialPort_getDataBitsNC(jenv, jobj, fd);
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_getDataBitsNC(jenv, jobj, fd);
-#else
-    return cygSerialPort_getDataBitsNC(jenv, jobj, fd);
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_getDataBitsNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getStopBitsNC
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_getStopBitsNC
-  (JNIEnv *jenv, jobject jobj, jint fd)
-{
-#ifdef WIN32
-    return w32SerialPort_getStopBitsNC( jenv, jobj, fd );
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_getStopBitsNC( jenv, jobj, fd );
-#else
-    return cygSerialPort_getStopBitsNC( jenv, jobj, fd );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_getStopBitsNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getParityNC
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_getParityNC
-  (JNIEnv *jenv, jobject jobj, jint fd)
-{
-#ifdef WIN32
-    return w32SerialPort_getParityNC( jenv, jobj, fd );
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_getParityNC( jenv, jobj, fd );
-#else
-    return cygSerialPort_getParityNC( jenv, jobj, fd );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_getParityNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setDTRNC
- * Signature: (Z)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_setDTRNC
-  (JNIEnv *jenv, jobject jobj, jboolean bool)
-{
-#ifdef WIN32
-    w32SerialPort_setDTRNC( jenv, jobj, bool );
-#else
-#if _WIN32_WCE>=400
-    w32SerialPort_setDTRNC( jenv, jobj, bool );
-#else
-    cygSerialPort_setDTRNC( jenv, jobj, bool );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_setDTRNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isDTRNC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isDTRNC
-  (JNIEnv *jenv, jobject jobj)
-{
-#ifdef WIN32
-    return w32SerialPort_isDTRNC( jenv, jobj );
-#else
-#if _WIN32_WCE
-    return w32SerialPort_isDTRNC( jenv, jobj );
-#else
-    return cygSerialPort_isDTRNC( jenv, jobj );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_isDTRNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setRTSNC
- * Signature: (Z)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_setRTSNC
-  (JNIEnv *jenv, jobject jobj, jboolean bool)
-{
-#ifdef WIN32
-    w32SerialPort_setRTSNC( jenv, jobj, bool );
-#else
-#if _WIN32_WCE>=400
-    w32SerialPort_setRTSNC( jenv, jobj, bool );
-#else
-    cygSerialPort_setRTSNC( jenv, jobj, bool );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_setRTSNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isRTSNC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isRTSNC
-  (JNIEnv *jenv, jobject jobj)
-{
-#ifdef WIN32
-    return w32SerialPort_isRTSNC( jenv, jobj );
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_isRTSNC( jenv, jobj );
-#else
-    return cygSerialPort_isRTSNC( jenv, jobj );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_isRTSNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isCTSNC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isCTSNC
-  (JNIEnv *jenv, jobject jobj)
-{
-#ifdef WIN32
-    return w32SerialPort_isCTSNC( jenv, jobj );
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_isCTSNC( jenv, jobj );
-#else
-    return cygSerialPort_isCTSNC( jenv, jobj );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_isCTSNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isDSRNC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isDSRNC
-  (JNIEnv *jenv, jobject jobj)
-{
-#ifdef WIN32
-    return w32SerialPort_isDSRNC( jenv, jobj );
-#else
-#ifdef _WIN32_WCE>=400
-    return w32SerialPort_isDSRNC( jenv, jobj );
-#else
-    return cygSerialPort_isDSRNC( jenv, jobj );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_isDSRNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isRINC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isRINC
-  (JNIEnv *jenv, jobject jobj)
-{
-#ifdef WIN32
-    return w32SerialPort_isRINC( jenv, jobj );
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_isRINC( jenv, jobj );
-#else
-    return cygSerialPort_isRINC( jenv, jobj );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_isRINC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isCDNC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isCDNC
-  (JNIEnv *jenv, jobject jobj)
-{
-#ifdef WIN32
-    return w32SerialPort_isCDNC( jenv, jobj );
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_isCDNC( jenv, jobj );
-#else
-    return cygSerialPort_isCDNC( jenv, jobj );
-#endif
-#endif
-}  /* Java_org_eclipse_soda_dk_comm_NSSerialPort_isCDNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    sendBreakNC
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_sendBreakNC
-  (JNIEnv *jenv, jobject jobj, jint jfd, jint jmillis) {
-#ifdef WIN32
-	return 1;
-//    return w32SerialPort_sendBreakNC( jenv, jobj, jfd, jmillis );
-#else
-#if _WIN32_WCE>=400
-	return 1;
-#else
-    return cygSerialPort_sendBreakNC( jenv, jobj, jfd, jmillis );
-#endif
-#endif
-} /* Java_org_eclipse_soda_dk_comm_NSSerialPort_sendBreakNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setSerialPortParamsNC
- * Signature: (IIIII)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_setSerialPortParamsNC
-  (JNIEnv *jenv, jobject jobj, jint jfd, jint jbd, jint jdb, jint jsb, jint jpar) {
-#ifdef WIN32
-    return w32SerialPort_setSerialPortParamsNC( jenv, jobj, jfd, jbd, jdb, jsb, jpar );
-#else
-#if _WIN32_WCE>=400
-    return w32SerialPort_setSerialPortParamsNC( jenv, jobj, jfd, jbd, jdb, jsb, jpar );
-#else
-    return cygSerialPort_setSerialPortParamsNC( jenv, jobj, jfd, jbd, jdb, jsb, jpar );
-#endif
-#endif
-} /* Java_org_eclipse_soda_dk_comm_NSSerialPort_setSerialPortParamsNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/ParallelErrorEventThread.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/ParallelErrorEventThread.c
deleted file mode 100644
index 8014bde..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/ParallelErrorEventThread.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#ifdef WIN32
-#include "org_eclipse_soda_dk_comm_ParallelErrorEventThread.h"
-#else
-#include <org_eclipse_soda_dk_comm_ParallelErrorEventThread.h>
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_ParallelErrorEventThread
- * Method:    monitorParallelErrorNC
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_ParallelErrorEventThread_monitorParallelErrorNC
-(JNIEnv *jenv, jobject jobj, jint jfd) {
-#ifdef WIN32
-	return;
-//    return w32ParallelErrorEventThread_monitorParallelErrorNC(jenv, jobj, jfd);
-#else
-    return;
-//    return cygParallelErrorEventThread_monitorParallelErrorNC(jenv, jobj, jfd);
-#endif
-} /* Java_org_eclipse_soda_dk_comm_ParallelErrorEventThread_monitorParallelErrorNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/Linux/i386_/dkcomm.so b/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/Linux/i386_/dkcomm.so
deleted file mode 100644
index 9d48047..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/Linux/i386_/dkcomm.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.dll b/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.dll
deleted file mode 100644
index a5f3380..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.dll
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.exp b/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.exp
deleted file mode 100644
index 8d5a4a8..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.exp
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.lib b/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.lib
deleted file mode 100644
index a0e4c54..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.lib
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.pdb b/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.pdb
deleted file mode 100644
index 139e5ef..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/Release/win32/x86/dkcomm.pdb
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/SerialDataEventThread.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/SerialDataEventThread.c
deleted file mode 100644
index 8cbadc0..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/SerialDataEventThread.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#ifdef WIN32
-#include "org_eclipse_soda_dk_comm_SerialDataEventThread.h"
-extern void w32SerialDataEventThread_monitorSerialDataNC(JNIEnv *, jobject, jint);
-#else
-#if _WIN32_WCE>=400
-#include "org_eclipse_soda_dk_comm_SerialDataEventThread.h"
-extern void w32SerialDataEventThread_monitorSerialDataNC(JNIEnv *, jobject, jint);
-#else
-#include <org_eclipse_soda_dk_comm_SerialDataEventThread.h>
-#endif
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_SerialDataEventThread
- * Method:    monitorSerialDataNC
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_SerialDataEventThread_monitorSerialDataNC
-  (JNIEnv *jenv, jobject jobj, jint jfd) {
-#ifdef WIN32
-    w32SerialDataEventThread_monitorSerialDataNC( jenv, jobj, jfd );
-#else
-#if _WIN32_WCE>=400
-    w32SerialDataEventThread_monitorSerialDataNC( jenv, jobj, jfd );
-#else
-    cygSerialDataEventThread_monitorSerialDataNC( jenv, jobj, jfd );
-#endif
-#endif
-} /* Java_org_eclipse_soda_dk_comm_SerialDataEventThread_monitorSerialDataNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/SerialStatusEventThread.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/SerialStatusEventThread.c
deleted file mode 100644
index 257fb9b..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/SerialStatusEventThread.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#ifdef WIN32
-#include "org_eclipse_soda_dk_comm_SerialStatusEventThread.h"
-extern void w32SerialStatusEventThread_monitorSerialStatusNC(JNIEnv *, jobject, jint);
-#else
-#if _WIN32_WCE>=400
-#include "org_eclipse_soda_dk_comm_SerialStatusEventThread.h"
-extern void w32SerialStatusEventThread_monitorSerialStatusNC(JNIEnv *, jobject, jint);
-#else
-#include <org_eclipse_soda_dk_comm_SerialStatusEventThread.h>
-#endif
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_SerialStatusEventThread
- * Method:    monitorSerialStatusNC
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_SerialStatusEventThread_monitorSerialStatusNC
-(JNIEnv *jenv, jobject jobj, jint jfd) {
-#ifdef WIN32
-	w32SerialStatusEventThread_monitorSerialStatusNC(jenv, jobj, jfd);
-#else
-#if _WIN32_WCE>=400
-	w32SerialStatusEventThread_monitorSerialStatusNC(jenv, jobj, jfd);
-#else
-    cygSerialStatusEventThread_monitorSerialStatusNC(jenv, jobj, jfd);
-#endif
-#endif
-} /* Java_org_eclipse_soda_dk_comm_SerialStatusEventThread_monitorSerialStatusNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/SysVStyleSemaphore.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/SysVStyleSemaphore.c
deleted file mode 100644
index eb45792..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/SysVStyleSemaphore.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include "SysVStyleSemaphore.h"
-/* created to allow sysV type lookup of semaphore by a unique integer ID
-*/
-static int sem_count = 0;
-static sem_entry sem_tbl[SEM_TBL_SIZE];
-/* Looks up a POSIX semaphore by an integer identifyer.
-	Used to circumvent sysV type semaphores */
-sem_t* sem_lookup(int semID) {
-   return &(sem_tbl[semID].semaphore);
-}
-/* Creates a POSIX semaphore and adds it to sem_tbl.
-	Returns the semaphore id or -1 for error.*/
-int sem_create(int semID, int initialSize) {
-   
-	int i;
-   
-	for(i = 0; i < SEM_TBL_SIZE; i++){
-      if(i >= sem_count) {
-			/* allocate space fo semaphore */
-			sem_count++;									  /* increment count */ 
-			sem_init(sem_lookup(i), 0, initialSize); /* init semaphore */
-			sem_tbl[i].id = semID; 					     /* set the id */
-         return i;
-		} else if(sem_tbl[i].id == semID){
-         return i;
-		}
-   }
-   
-	return -1;
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/SysVStyleSemaphore.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/SysVStyleSemaphore.h
deleted file mode 100644
index 02a5405..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/SysVStyleSemaphore.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#ifndef _SysVStyleSemaphore_h_
-#define _SysVStyleSemaphore_h_
-#include <semaphore.h>
-#ifdef NCI
-#define SEM_TBL_SIZE 5
-#else
-#define SEM_TBL_SIZE 8
-#endif
-typedef struct {
-	sem_t semaphore;
-	int id;
-	int pid; /* currently not used */
-} sem_entry;
-/* Looks up a POSIX semaphore by an integer identifyer.
-	Used to circumvent sysV type semaphores */
-sem_t* sem_lookup(int semID);															 
-															 
-/* Creates a POSIX semaphore and adds it to sem_tbl.
-	Returns the semaphore id or -1 for error.*/
-int sem_create(int semID, int initialSize);
-#endif
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/build-win.bat b/target-platform/org.eclipse.soda.dk.comm/src/main/c/build-win.bat
deleted file mode 100644
index 82fdeaf..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/build-win.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-vcvars32
-nmake -f makefile.win32
\ No newline at end of file
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygCommDriver.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygCommDriver.c
deleted file mode 100644
index 7ab15aa..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygCommDriver.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <org_eclipse_soda_dk_comm_NSCommDriver.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-#ifdef _POSIX_SEMAPHORES
-#include <semaphore.h>
-#include "SysVStyleSemaphore.h"
-#else 
-#include <sys/ipc.h> 
-#include <sys/sem.h> 
-#endif 
-#include <stdlib.h>
-#define assert(s) if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); return;}
-#define CREAT_PERMS	(0666)
-// for unix only
-// #define KERNEL_2200	"kernel.2200"
-// #define KERNEL_1000	"kernel.1000"
-typedef struct port_s {
-	char		*portName;
-	int		portType;
-	char		*deviceName;
-	int		semKey;
-} port_t;
-void cygCommDriver_discoverDevicesNC(JNIEnv *jenv, jobject jobj) {
-  jclass	jc;
-  jmethodID	jm;
-  const int	PORT_SERIAL = 1;	// should match with CommPortIdentifier
-  const int	PORT_PARALLEL = 2;	// should match with CommPortIdentifier
-  struct stat	sbuf;
-  jstring	pName;
-  jstring	dName;
-  jthrowable	jt;
-  port_t	port_tbl[] =
-		{
-#ifdef NCI
-			{ "LPT1", PORT_PARALLEL, "/dev/lpt0" , 0x11223344 },
-			{ "COM1", PORT_SERIAL  , "/dev/tty00", 0x11223345 },
-			{ "SC"  , PORT_SERIAL  , "/dev/sc"   , 0x11223346 }, // ????
-			{ "COM2", PORT_SERIAL  , "/dev/tty01", 0x11223347 },
-			{ "COM3", PORT_SERIAL  , "/dev/tty02", 0x11223348 },
-			{ "COM4", PORT_SERIAL  , "/dev/tty03", 0x11223349 },
-			{ "COM5", PORT_SERIAL  , "/dev/tty04", 0x11223350 },
-			{ "COM6", PORT_SERIAL  , "/dev/tty05", 0x11223351 },
-#endif	/* NCI */
-#ifdef __linux__
-			{ "LPT1", PORT_PARALLEL, "/dev/lp0"  , 0x11223344 },
-			{ "/dev/ttyS0", PORT_SERIAL  , "/dev/ttyS0", 0x11223345 },
-			{ "/dev/ttyS1", PORT_SERIAL  , "/dev/ttyS1", 0x11223347 },
-			{ "/dev/ttyS2", PORT_SERIAL  , "/dev/ttyS2", 0x11223348 },
-			{ "/dev/ttyS3", PORT_SERIAL  , "/dev/ttyS3", 0x11223349 },
-			{ "/dev/ttyS4", PORT_SERIAL  , "/dev/ttyS4", 0x11223350 },
-			{ "/dev/ttyS5", PORT_SERIAL  , "/dev/ttyS5", 0x11223351 },
-			{ "/dev/ttyS6", PORT_SERIAL  , "/dev/ttyS6", 0x11223352 },
-			{ "/dev/ttyS7", PORT_SERIAL  , "/dev/ttyS7", 0x11223353 },
-			{ "/dev/ttyS8", PORT_SERIAL  , "/dev/ttyS8", 0x11223354 },
-			{ "/dev/ttyS9", PORT_SERIAL  , "/dev/ttyS9", 0x11223355 },
-			{ "/dev/ttyO4", PORT_SERIAL  , "/dev/ttyO4", 0x11223356 },
-			{ "/dev/ttyO5", PORT_SERIAL  , "/dev/ttyO5", 0x11223357 },
-			{ "/dev/modem", PORT_SERIAL  , "/dev/modem", 0x11223358 },
-			{ "/dev/ttyUSB0", PORT_SERIAL  , "/dev/ttyUSB0", 0x11223359 },
-			{ "/dev/ttyUSB1", PORT_SERIAL  , "/dev/ttyUSB1", 0x11223360 },
-			{ "/dev/ttyUSB2", PORT_SERIAL  , "/dev/ttyUSB2", 0x11223361 },
-			{ "/dev/ttyUSB3", PORT_SERIAL  , "/dev/ttyUSB3", 0x11223362 },
-			{ "/dev/ttyUSB4", PORT_SERIAL  , "/dev/ttyUSB4", 0x11223363 },
-			{ "/dev/ttyUSB5", PORT_SERIAL  , "/dev/ttyUSB5", 0x11223364 },
-			{ "/dev/ttyUSB6", PORT_SERIAL  , "/dev/ttyUSB6", 0x11223365 },
-			{ "/dev/ttyUSB7", PORT_SERIAL  , "/dev/ttyUSB7", 0x11223366 },
-			{ "/dev/ttyUSB8", PORT_SERIAL  , "/dev/ttyUSB8", 0x11223367 },
-			{ "/dev/ttyUSB9", PORT_SERIAL  , "/dev/ttyUSB9", 0x11223368 },
-			{ "/dev/ttyUSB10", PORT_SERIAL  , "/dev/ttyUSB10", 0x11223369 },
-			{ "/dev/ttyUSB11", PORT_SERIAL  , "/dev/ttyUSB11", 0x11223370 },
-			{ "/dev/ttyUSB12", PORT_SERIAL  , "/dev/ttyUSB12", 0x11223371 },
-			{ "/dev/ttyUSB13", PORT_SERIAL  , "/dev/ttyUSB13", 0x11223372 },
-			{ "/dev/ttyUSB14", PORT_SERIAL  , "/dev/ttyUSB14", 0x11223373 },
-			{ "/dev/ttyUSB15", PORT_SERIAL  , "/dev/ttyUSB15", 0x11223374 },
-			{ "/dev/ttyUSB16", PORT_SERIAL  , "/dev/ttyUSB16", 0x11223375 },
-			{ "/dev/ttyUSB17", PORT_SERIAL  , "/dev/ttyUSB17", 0x11223376 },
-			{ "/dev/ttyUSB18", PORT_SERIAL  , "/dev/ttyUSB18", 0x11223377 },
-			{ "/dev/ttyUSB19", PORT_SERIAL  , "/dev/ttyUSB19", 0x11223378 },
-			{ "/dev/ttyACM0", PORT_SERIAL  , "/dev/ttyACM0", 0x11223379 },
-			{ "/dev/ttyACM1", PORT_SERIAL  , "/dev/ttyACM1", 0x11223380 },
-			{ "/dev/ttyACM2", PORT_SERIAL  , "/dev/ttyACM2", 0x11223381 },
-			{ "/dev/ttyACM3", PORT_SERIAL  , "/dev/ttyACM3", 0x11223382 },
-			{ "/dev/ttyACM4", PORT_SERIAL  , "/dev/ttyACM4", 0x11223383 },
-			{ "/dev/ttyACM5", PORT_SERIAL  , "/dev/ttyACM5", 0x11223384 },
-			{ "/dev/ttyACM6", PORT_SERIAL  , "/dev/ttyACM6", 0x11223385 },
-			{ "/dev/ttyACM7", PORT_SERIAL  , "/dev/ttyACM7", 0x11223386 },
-			{ "/dev/ttyACM8", PORT_SERIAL  , "/dev/ttyACM8", 0x11223387 },
-			{ "/dev/ttyACM9", PORT_SERIAL  , "/dev/ttyACM9", 0x11223388 },
-#endif	/* __linux__ */
-#ifdef QNX
-			{ "LPT1", PORT_PARALLEL, "/dev/par1"  , 0x11223344 },
-			{ "COM1", PORT_SERIAL  , "/dev/ser1", 0x11223345 },
-			{ "COM2", PORT_SERIAL  , "/dev/ser2", 0x11223347 },
-			{ "COM3", PORT_SERIAL  , "/dev/ser3", 0x11223348 },
-			{ "COM4", PORT_SERIAL  , "/dev/ser4", 0x11223349 },
-			{ "COM5", PORT_SERIAL  , "/dev/ser5", 0x11223350 },
-			{ "COM6", PORT_SERIAL  , "/dev/ser6", 0x11223351 },
-			{ "COM7", PORT_SERIAL  , "/dev/ser7", 0x11223352 },
-			{ "COM8", PORT_SERIAL  , "/dev/ser8", 0x11223353 },
-			{ "COM9", PORT_SERIAL  , "/dev/ser9", 0x11223354 },
-			{ "COM10", PORT_SERIAL  , "/dev/ser10", 0x11223355 },
-			{ "COM11", PORT_SERIAL  , "/dev/ser11", 0x11223356 },
-			{ "COM12", PORT_SERIAL  , "/dev/ser12", 0x11223357 },
-#endif	/* QNX  */
-		};
-  port_t	*pp;
-  // Get access to the method to add a port.
-  jc = (*jenv)->GetObjectClass(jenv, jobj);
-  assert(jc);
-  jm = (*jenv)->GetMethodID(jenv, jc, "addDeviceToList",
-			    "(Ljava/lang/String;ILjava/lang/String;I)V");
-  assert(jm);
-  // Determine if we're running on a badger.  If so, use the alternate list.
-  // For UNIX only
-  //{
-  // char  *envp =  getenv("BOOT_KERNEL");
-  //
-  // if (envp && *envp) {
-  //    if (!strcmp(envp, KERNEL_2200)) {
-  //       port_tbl = port_tbl_2200;
-  //       port_tbl_noentries = sizeof(port_tbl_2200)/sizeof(port_tbl_2200[0]);
-  //    }
-  //    else if (!strcmp(envp, KERNEL_1000)) {
-  //       port_tbl = port_tbl_1000;
-  //       port_tbl_noentries = sizeof(port_tbl_1000)/sizeof(port_tbl_1000[0]);
-  //    }
-  // }
-  //}
-  // For all the pre-defined ports, check to see which ones exist, and add
-  // them selectively.
-  for (pp = port_tbl;
-       pp < port_tbl+(sizeof(port_tbl)/sizeof(port_tbl[0]));
-       ++pp) {
-       if (stat(pp->deviceName, &sbuf) != -1) {
-		int		semID;
-		
-		pName = (*jenv)->NewStringUTF(jenv, pp->portName);
-		if (!pName)
-			continue;
-		dName = (*jenv)->NewStringUTF(jenv, pp->deviceName);
-		if (!dName)
-			continue;
-		/* Obtain/create a semaphore for the device in consideration.
-		   If it fails, don't lock/unlock it later on. */
-#ifdef _POSIX_SEMAPHORES
-		semID = sem_create(pp->semKey, 1);
-#else
-		semID = semget((key_t)pp->semKey, 1, IPC_CREAT | CREAT_PERMS);
-#endif
-#ifdef DEBUG
-       printf( "%s ( %s ) semID %d\n", pName, dName, semID );
-       fflush( stdout );
-#endif
-	
-		(*jenv)->CallVoidMethod(jenv, jobj, jm,
-					pName, pp->portType, dName, semID);
-		jt = (*jenv)->ExceptionOccurred(jenv);
-		if (jt) {
-			(*jenv)->ExceptionDescribe(jenv);
-			(*jenv)->ExceptionClear(jenv);
-		}
-       }
-  }
-  return;
-}	// Java_org_eclipse_soda_dk_comm_NSCommDriver_discoverDevicesNC
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygCommPortIdentifier.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygCommPortIdentifier.c
deleted file mode 100644
index 3c01429..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygCommPortIdentifier.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include "dkcomm.h"
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <unistd.h>
-#ifdef _POSIX_SEMAPHORES
-#include <semaphore.h>
-#include "SysVStyleSemaphore.h"
-#else 
-#include <sys/ipc.h> 
-#include <sys/sem.h> 
-#endif 
-  
-#include <javax_comm_CommPortIdentifier.h>
-#define assertexc(s)       if (!s) {fprintf(stderr, "\n\n%d asserted!\n\n", __LINE__); \
-				 return(-1);}
-#define NOOF_ELEMS(s)	((sizeof(s))/(sizeof(s[0])))
-typedef struct port_s {
-	char		*portName;
-	int		semKey;
-} port_t;
-#ifndef _POSIX_SEMAPHORES
-static struct sembuf	dev_wait[] = {
-		{ 0, 0, 0 }	/* wait until it is free */
-};
-#endif
-static int	getPollingTime(JNIEnv *jenv) {
-  int		ptime = 5;
-  jclass	cic;
-  jfieldID	ptID;
-  jint		pt;
-  do {
-	cic = (*jenv)->FindClass(jenv, "javax/comm/CommPortIdentifier");
-	if (!cic) break;
-	ptID = (*jenv)->GetStaticFieldID(jenv, cic, "pollingTime", "I");
-	if (!ptID) break;
-	pt = (*jenv)->GetStaticIntField(jenv, cic, ptID);
-	if (pt > 0)
-		ptime = pt;
-  } while (0);
-  return ptime;
-}	// getPollingTime()
-static int GetSemID(const char *pnm) {
-  int		semID = -1;
-  port_t	port_tbl[] =  
-	  {
-			{ "LPT1", 0x11223344 },
-			{ "COM1", 0x11223345 },
-#ifdef NCI
-			{ "SC",   0x11223346 }, // ????
-#endif	/* NCI */
-			{ "COM2", 0x11223347 },
-			{ "COM3", 0x11223348 },
-			{ "COM4", 0x11223349 },
-#ifdef NCI
-			{ "COM5", 0x11223350 },
-			{ "COM6", 0x11223351 },
-#endif	/* NCI */
-#ifdef QNX
-			{ "COM5", 0x11223350 },
-			{ "COM6", 0x11223351 },
-			{ "COM7", 0x11223352 },
-			{ "COM8", 0x11223353 },
-			{ "COM9", 0x11223354 },
-			{ "COM10", 0x11223355 },
-			{ "COM11", 0x11223356 },
-			{ "COM12", 0x11223357 },
-#endif /* QNX */
-		};
-  port_t	*pp;
-  int		keyFound = 0;
-  /* Find the semaphore key for the corresponding port name. */
-  for (pp = port_tbl;
-       pp < port_tbl+NOOF_ELEMS(port_tbl);
-       ++pp) {
-      if (!strcmp(pp->portName, pnm)) {
-	  keyFound++;
-	  break;
-      }
-  }
-  if (!keyFound)
-      return semID;
-#ifndef _POSIX_SEMAPHORES
-  /* Get the semaphore ID for the key obtained. */
-  semID = semget((key_t)pp->semKey, 1, 0);
-#else
-	/* don't worry about return value for right now */
-  semID = sem_create(pp->semKey, 1);
-#endif /* _POSIX_SEMAPHORES */
-  return semID;
-}	// GetSemID()
-/*
- * Class:     javax_comm_CommPortIdentifier
- * Method:    monitorInterJVMDeviceAccessNC
- * Signature: (Ljava/lang/Thread;)I
- *
- * Currenty not Supported on Posix Devices
- */
-int cygCommPortIdentifier_monitorInterJVMDeviceAccessNC
-(JNIEnv *jenv, jobject jobj, jobject jtho) {
-	int		pollingTime;	/* seconds */
-	int		oldVal, newVal;
-	jclass		jc;
-	jmethodID	jm;
-	jfieldID	pnameID;
-	jstring		pname;
-	const char	*pnamec;
-	jboolean	isInterruptedReturn;
-	jclass		jcpoc;		/* CommPortOwnershipListener interf */
-	jfieldID	cpoPOID;	/* PORT_OWNED ID */
-	jfieldID	cpoPUID;	/* PORT_UNOWNED ID */
-	jfieldID	cpoPRID;	/* PORT_OWNERSHIP_REQUESTED ID */
-	jint		cpoPO;		/* PORT_OWNED value */
-	jint		cpoPU;		/* PORT_UNOWNED value */
-	jint		cpoPR;		/* PORT_OWNERSHIP_REQUESTED value */
-	jmethodID	jintMethod;
-	jclass		jthreadClass;
-	int		semID;
-	union semuni	scarg;
-	int		mypid = getpid();
-	int		scpid;
-	pollingTime = getPollingTime(jenv);
-	/* Get the class ID of the CommPortIdentifier object.*/
-	jc = (*jenv)->GetObjectClass(jenv, jobj);
-	assertexc(jc);
-	/* Get the id of the method to report a change-ownership event. */
-	jm = (*jenv)->GetMethodID(jenv, jc, "fireOwnershipEvent", "(I)V");
-	assertexc(jm);
-	/* Get the const values for the CommPortOwnershipListener events.*/
-	jcpoc = (*jenv)->FindClass(jenv, "javax/comm/CommPortOwnershipListener");
-	assertexc(jcpoc);
-	cpoPOID = (*jenv)->GetStaticFieldID(jenv, jcpoc, "PORT_OWNED", "I");
-	assertexc(cpoPOID);
-	cpoPO = (*jenv)->GetStaticIntField(jenv, jcpoc, cpoPOID);
-	cpoPUID = (*jenv)->GetStaticFieldID(jenv, jcpoc, "PORT_UNOWNED", "I");
-	assertexc(cpoPUID);
-	cpoPU = (*jenv)->GetStaticIntField(jenv, jcpoc, cpoPUID);
-	cpoPRID = (*jenv)->GetStaticFieldID(jenv, jcpoc, "PORT_OWNERSHIP_REQUESTED", "I");
-	assertexc(cpoPRID);
-	cpoPR = (*jenv)->GetStaticIntField(jenv, jcpoc, cpoPRID);
-	/* Get the port name. */
-	pnameID = (*jenv)->GetFieldID(jenv, jc, "name", "Ljava/lang/String;");
-	assertexc(pnameID);
-	pname = (*jenv)->GetObjectField(jenv, jobj, pnameID);
-	assertexc(pname);
-  	pnamec = (*jenv)->GetStringUTFChars(jenv, pname, 0);
-	/* Get the corresponding semaphore ID for the port name. */
-	semID = GetSemID(pnamec);
-  	(*jenv)->ReleaseStringUTFChars(jenv, pname, pnamec);
-	if (semID == -1)
-		return -1;
-	/* Get access to the interrupted method. */
-	jthreadClass = (*jenv)->FindClass(jenv, "java/lang/Thread");
-	assertexc(jthreadClass);
-	jintMethod = (*jenv)->GetMethodID(jenv, jthreadClass, "isInterrupted", "()Z");
-	assertexc(jintMethod);
-	(void)memset(&scarg, 0, sizeof(scarg));
-/* what is this for? */
-	/* Get the current value of the semaphore. */
-#ifdef  _POSIX_SEMAPHORES
-	if ((sem_getvalue(sem_lookup(semID), &oldVal)) < 0) {
-#else
-	if ((oldVal = semctl(semID, 0, GETVAL, scarg)) < 0) {
-#endif		
-		(void)fprintf(stderr, "Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC: semctl error %d!\n", errno);
-		return -1;
-	}
-/* !!!!!!!!!!!!!! */
-	while(1)
-	{
-		/* Check to see if this thread has been interrupted. */
-		isInterruptedReturn = (*jenv)->CallBooleanMethod(jenv, jtho, jintMethod);
-		if(isInterruptedReturn == JNI_TRUE)
-			break;
-		/* If the semaphore was locked the last time, wait until it
-		   gets unlocked.  Else, catch some breath.
-		 */
-#ifdef NCI
-		if (oldVal) {
-#ifdef  _POSIX_SEMAPHORES
-			if(sem_wait(sem_lookup(semID)) <0){
-#else
-			if (semop(semID, dev_wait, NOOF_ELEMS(dev_wait)) < 0) {
-#endif				
-				(void)fprintf(stderr, "Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC: semop error %d!\n", errno);
-				return -1;
-			}
-		}
-		else
-#endif	/* NCI */
-			sleep(pollingTime);
-		/* Get the new value of the semaphore. */
-			/* Get the current value of the semaphore. */
-#ifdef  _POSIX_SEMAPHORES
-		if ((sem_getvalue(sem_lookup(semID), &oldVal)) < 0) {
-#else
-		if ((oldVal = semctl(semID, 0, GETVAL, scarg)) < 0) {
-#endif		
-			(void)fprintf(stderr, "Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC: semctl error %d!\n", errno);
-			return -1;
-		}
-		if (newVal == oldVal)
-			continue;
-		/* Get PID of the last process that changed the semaphore.
-		   If it is the same JVM, ignore this change.
-		 */
-			/* Get the current value of the semaphore. */
-#ifndef  _POSIX_SEMAPHORES
-   /* DLS HACK needs to be changed */
-		if ((scpid = semctl(semID, 0, GETPID, scarg)) < 0) {
-			(void)fprintf(stderr, "Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC: semctl error %d!\n", errno);
-			return -1;
-		}
-		if (scpid != mypid) {
-			/* If locked, send a PORT_OWNED event.
-			   Else, send a PORT_UNOWNED event.
-			 */
-			(*jenv)->CallVoidMethod(jenv, jobj, jm,
-						newVal ? cpoPO : cpoPU);
-		}
-#endif
-		oldVal = newVal;
-	}	/* end of while() */
-} /* Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygDeviceInputStream.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygDeviceInputStream.c
deleted file mode 100644
index d9d4c0d..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygDeviceInputStream.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <signal.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-#include <org_eclipse_soda_dk_comm_NSDeviceInputStream.h>
-#include <sys/time.h>
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE 1
-#endif
-#define assert(s) if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); return(-1);}
-#define assertexc(s) if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); (*jenv)->ThrowNew(jenv, ec, "");}
-#ifdef __linux__
-static volatile int	timeoutOccurred = FALSE;
-static struct itimerval	apptimer;
-static struct sigaction	appsa;
-// static void		(*apphandler)();
-int			timerflag;
-static void alarm_handler(int sig)
-{
-	 timeoutOccurred = TRUE; 
-}
-static void start_read_timer(int tmovalue)
-{
-   struct itimerval	tm;
-   struct sigaction	newsa;
-   /* Suspend the app's timer and save it. */
-   (void)memset(&tm, 0, sizeof(tm));
-   (void)setitimer(ITIMER_REAL, &tm, &apptimer);
-   /* Replace the app's signal handler with ours. */
-   (void)memset(&newsa, 0, sizeof(newsa));
-   newsa.sa_handler = alarm_handler;
-   (void)sigaction(SIGALRM, &newsa, &appsa);
-   // apphandler = signal(SIGALRM, alarm_handler);
-   /* Start our timer. */
-   (void)memset(&tm, 0, sizeof(tm));
-   tm.it_value.tv_usec = tmovalue * 1000;  // convert millisec into microsec
-   (void)setitimer(ITIMER_REAL, &tm, NULL);
-   timerflag = TRUE;
-}	/* start_read_timer() */
-static void stop_read_timer()
-{
-   struct itimerval	tm;
-   if (!timerflag)
-      return;
-   /* Stop our ticking timer. */
-   (void)memset(&tm, 0, sizeof(tm));
-   (void)setitimer(ITIMER_REAL, &tm, NULL);
-   /* Restore the app's signal handler. */
-   (void)sigaction(SIGALRM, &appsa, NULL);
-   // (void)signal(SIGALRM, apphandler);
-   /* Restore the app's timer */
-   (void)setitimer(ITIMER_REAL, &apptimer, NULL);
-   timerflag = FALSE;
-}	/* stop_read_timer */
-#endif /* __linux__ */
-int cygDeviceInputStream_readDeviceOneByteNC
-  (JNIEnv *jenv, jobject jobj) {
-  jclass	jc;
-  jclass	ec;
-  jfieldID	jf;
-  jint 		fd = -1;
-  int		rc;
-  int		dc;
-  char		buf[1];
-  jfieldID	tmof;
-  int		tmo;
-  int		serrno;
-	
-  // Get the exception class.
-  ec = (*jenv)->FindClass(jenv, "java/io/IOException");
-  assert(ec);
-  // Get the file descriptor.
-  jc = (*jenv)->GetObjectClass(jenv, jobj);
-  assertexc(jc);
-  jf = (*jenv)->GetFieldID(jenv, jc, "fd", "I");
-  assertexc(jf);
-  fd = (*jenv)->GetIntField(jenv, jobj, jf);
-  if (fd == -1) {
-	(*jenv)->ThrowNew(jenv, ec, "");
-  }
-  tmof = (*jenv)->GetFieldID(jenv, jc, "tmo", "I");
-  assert(tmof);
-  tmo = (*jenv)->GetIntField(jenv, jobj, tmof);
-  
-#ifdef QNX
-	// Read data - QNX with timeout
-	if (tmo <100 & tmo>0) {
-		tmo=100;
-	}
-	dc=readcond(fd, buf, 1, 1, 0, tmo/100); //10th of a second instead of microSecs
-	if (dc<1) {
-		//dc=-1; //return fake error
-	}
-#endif /* QNX */
-#ifdef __linux__
-  // Start the timer.
-  timeoutOccurred = FALSE;
-  if (tmo > 0)
-	start_read_timer(tmo);
-  // Read data.
-  buf[0] = 0;
-  dc = read(fd, buf, 1);
-  serrno = errno;
-  // Stop the timer.
-  if (tmo > 0)
-	stop_read_timer();
-  if (dc < 0 && !(serrno == EINTR || serrno == EAGAIN)) {
-	(*jenv)->ThrowNew(jenv, ec, "");
-  }
-#endif /* __linux__ */
-  // If timeout had occurred, or if nil data was received, return -1.
-  if (dc <= 0)
-	return -1;
-  return (int)(unsigned char)buf[0];
-}	/* cygDeviceInputStream_readDeviceOneByteNC */
-int cygDeviceInputStream_readDeviceNC
-  (JNIEnv *jenv, jobject jobj, jbyteArray jba, jint off, jint len) {
-  jclass	jc;
-  jfieldID	jf;
-  jint 		fd = -1;
-  int		rc;
-  int		dc = 0;
-  char		*cbuf;
-  jfieldID	tmof;
-  int		tmo;
-  jfieldID	tmoDonef;
-  
-  cbuf = malloc(len);
-  
-  assert(cbuf);
-  // Get the file descriptor.
-  jc = (*jenv)->GetObjectClass(jenv, jobj);
-  assert(jc);
-  jf = (*jenv)->GetFieldID(jenv, jc, "fd", "I");
-  assert(jf);
-  fd = (*jenv)->GetIntField(jenv, jobj, jf);
-  if (fd == -1) {
-	return -1;
-  }
-  tmof = (*jenv)->GetFieldID(jenv, jc, "tmo", "I");
-  assert(tmof);
-  tmoDonef = (*jenv)->GetFieldID(jenv, jc, "tmoDone", "Z");
-  assert(tmoDonef);
-  tmo = (*jenv)->GetIntField(jenv, jobj, tmof);
-#ifdef QNX
-	// Read data - QNX with timeout
-	if (tmo <100 & tmo>0) {
-		tmo=100;
-	}
-	
-	dc=readcond(fd, cbuf, len, len, tmo/100, tmo/100); //10th of a second instead of microSecs
-	if (dc<len) {
-		(*jenv)->SetBooleanField(jenv, jobj, tmoDonef, (jboolean)JNI_TRUE);
-		//dc=-1; //return fake error
-	}
-#endif /* QNX */
-#ifdef __linux__ 
-  // Start the timer.
-  timeoutOccurred = FALSE;
-  if (tmo > 0)
-	start_read_timer(tmo);
-  
-    //Read data
-   dc = read(fd, cbuf, len);
-	
-  // If the timer had already expired, set the field tmoDone.
-  // Else, stop the timer.
-    if (timeoutOccurred) {
-    	dc = 0; // Bug fix for PR#117959
-		(*jenv)->SetBooleanField(jenv, jobj, tmoDonef, (jboolean)JNI_TRUE);
-  	}
-  if (tmo > 0)
-    stop_read_timer();
-#endif /*__linux__*/
-  // Copy back the data into the java buffer.
-  if (dc > 0)
-	(*jenv)->SetByteArrayRegion(jenv, jba, off, dc, (jbyte*)cbuf);
-  free(cbuf);
-  return dc;
-}	/* cygDeviceInputStream_readDeviceNC */
-int cygDeviceInputStream_getReadCountNC
-  (JNIEnv *jenv, jobject jobj) {
-  jclass	jc;
-  jclass	ec;
-  jfieldID	jf;
-  jint 		fd = -1;
-  int		rc;
-  int		dc = 0;
-  // Get the exception class.
-  ec = (*jenv)->FindClass(jenv, "java/io/IOException");
-  assert(ec);
-  // Get the file descriptor.
-  jc = (*jenv)->GetObjectClass(jenv, jobj);
-  assertexc(jc);
-  jf = (*jenv)->GetFieldID(jenv, jc, "fd", "I");
-  assertexc(jf);
-  fd = (*jenv)->GetIntField(jenv, jobj, jf);
-  if (fd == -1) {
-	(*jenv)->ThrowNew(jenv, ec, "");
-  }
-  // Now query the device stream for any data to be read.
-  if ((rc = ioctl(fd, FIONREAD, &dc)) == -1)
-	(*jenv)->ThrowNew(jenv, ec, "");
-  return dc;
-} /* cygDeviceInputStream_getReadCountNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygDeviceOutputStream.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygDeviceOutputStream.c
deleted file mode 100644
index 4714af2..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygDeviceOutputStream.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <org_eclipse_soda_dk_comm_NSDeviceOutputStream.h>
-#define assert(s) if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); return(-1);}
-/*
- * Class:     org_eclipse_soda_dk_comm_NSDeviceOutputStream
- * Method:    writeDeviceNC
- * Signature: ([BII)I
- */
-int cygDeviceOutputStream_writeDeviceNC
-  (JNIEnv *jenv, jobject jobj, jbyteArray jbuf, jint off, jint len) {
-  jclass	jc;
-  jfieldID	jf;
-  jint 		fd = -1;
-  jbyte		*cbuf;
-  jboolean	isCopy;
-  int		wc = 0;
-  jbyte		*cb;
-  int		rc;
-  if (!len)
-	return wc;
-  // Get the file descriptor.
-  jc = (*jenv)->GetObjectClass(jenv, jobj);
-  assert(jc);
-  jf = (*jenv)->GetFieldID(jenv, jc, "fd", "I");
-  assert(jf);
-  fd = (*jenv)->GetIntField(jenv, jobj, jf);
-  if (fd == -1)
-	return -1;
-  // Convert the java byte array buffer into c byte buffer.
-  cbuf =  (*jenv)->GetByteArrayElements(jenv, jbuf, &isCopy);
-  // Write the data out to the device.
-  for ( cb = cbuf+off; len; len -= rc, wc += rc, cb += rc ) {
-	if ((rc = write(fd, cb, len)) < 0)
-		break;
-  }
-  // Should we throw some exception in the event of a write error ????
-  // Free the c byte buffer.
-  (*jenv)->ReleaseByteArrayElements(jenv, jbuf, cbuf, JNI_ABORT);
-  return wc;
-}	/* cygDeviceOutputStream_writeDeviceNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygParallelErrorEventThread.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygParallelErrorEventThread.c
deleted file mode 100644
index f8fc071..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygParallelErrorEventThread.c
+++ /dev/null
@@ -1,317 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-#ifdef NCI
-#include <dev/ic/lptioctl.h>
-#include <dev/ic/lptreg.h>
-#endif	/* NCI */
-#ifdef __linux__
-//#define __KERNEL__  /* For printer error definitions */
-#include <linux/lp.h>
-#endif	/* __linux__ */
-#include <org_eclipse_soda_dk_comm_ParallelErrorEventThread.h>
-#define assertexc(s)       if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-				 return;}
-static int	getPollingTime(JNIEnv *jenv) {
-  int		ptime = 5;
-  jclass	cic;
-  jfieldID	ptID;
-  jint		pt;
-  do {
-	cic = (*jenv)->FindClass(jenv, "javax/comm/CommPortIdentifier");
-	if (!cic) break;
-	ptID = (*jenv)->GetStaticFieldID(jenv, cic, "pollingTime", "I");
-	if (!ptID) break;
-	pt = (*jenv)->GetStaticIntField(jenv, cic, ptID);
-	if (pt > 0)
-		ptime = pt;
-  } while (0);
-  return ptime;
-}	/* getPollingTime() */
-static int getStopThreadFlag(JNIEnv *jenv, jobject jobj)
-{
-	jclass cls;
-	jfieldID fid;
-	jint stopThreadFlag;
-	
-	cls = (*jenv)->GetObjectClass(jenv, jobj);
-	if (!cls) (*jenv)->FatalError(jenv, "Missing class");
-	
-	fid = (*jenv)->GetFieldID(jenv, cls, "stopThreadFlag", "I");
-	if (fid == NULL) (*jenv)->FatalError(jenv, "Missing field");
-	
-	stopThreadFlag = (*jenv)->GetIntField(jenv, jobj, fid);
-	
-	return stopThreadFlag;	
-} 
-/*
- * Class:     org_eclipse_soda_dk_comm_ParallelErrorEventThread
- * Method:    monitorParallelErrorNC
- * Signature: (I)V
- */
-void cygParallelErrorEventThread_monitorParallelErrorNC
-    (JNIEnv *jenv, jobject jobj, jint jfd) {
-	int		pollingTime;	/* seconds */
-	int		oldStatus, newStatus;
-	jfieldID	notifyOnErrorID;
-	jboolean	notifyOnErrorFlag = JNI_TRUE;
-	jclass		jc;
-	jmethodID	jm;
-	jclass		jppc;
-	jfieldID	ppID;
-	jobject		jpp;
-	jboolean	isInterruptedReturn;
-	jclass		jppec;		/* parallel port event class */
-	jfieldID	ppeErrorID;	/* field ID */
-	jint		ppeError;	/* field value */
-	jmethodID	jintMethod;
-	jclass		jthreadClass;
-	
-	jint 		stopThreadFlag;
-	pollingTime = getPollingTime(jenv);
-	/* Get the const value for the parallel port error event type.*/
-	jppec = (*jenv)->FindClass(jenv, "javax/comm/ParallelPortEvent");
-	assertexc(jppec);
-	ppeErrorID = (*jenv)->GetStaticFieldID(jenv, jppec, "PAR_EV_ERROR", "I");
-	assertexc(ppeErrorID);
-	ppeError = (*jenv)->GetStaticIntField(jenv, jppec, ppeErrorID);
-	/* Get the parallel port object.*/
-	jc = (*jenv)->GetObjectClass(jenv, jobj);
-	assertexc(jc);
-	ppID = (*jenv)->GetFieldID(jenv, jc, "pp", "Lorg/eclipse/soda/dk/comm/NSParallelPort;");
-	assertexc(ppID);
-	jpp = (*jenv)->GetObjectField(jenv, jobj, ppID);
-	assertexc(jpp);
-	/* Get the class ID of the parallel port object.*/
-	jppc = (*jenv)->GetObjectClass(jenv, jpp);
-	assertexc(jppc);
-	/* Get the notify flag field ID of the parallel port object. */
-	notifyOnErrorID = (*jenv)->GetFieldID(jenv, jppc, "notifyOnErrorFlag", "Z");
-	assertexc(notifyOnErrorID);
-	/* Get access to the method to report a parallel event.*/
-	jm = (*jenv)->GetMethodID(jenv, jppc, "reportParallelEvent", "(IZZ)V");
-	assertexc(jm);
-	/* Get access to the interrupted method.*/
-	jthreadClass = (*jenv)->FindClass(jenv, "java/lang/Thread");
-	assertexc(jthreadClass);
-	jintMethod = (*jenv)->GetMethodID(jenv, jthreadClass, "isInterrupted", "()Z");
-	assertexc(jintMethod);
-#ifdef NCI
-	if (ioctl(jfd, PIOCSTATUS, &oldStatus) < 0) {
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-        oldStatus = 0;
-	if (0) {
-#endif	/* __osx__ */
-#ifdef __linux__
-	if (ioctl(jfd, LPGETSTATUS, &oldStatus) < 0) {
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-        oldStatus = 0;
-	if (0) {
-#endif	/* QNX */
-		(void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_ParallelErrorEventThread_monitorParallelErrorNC: ioctl error %d!\n", errno);
-		return;
-	}
-	while(1)
-	{
-		sleep(pollingTime);
-		stopThreadFlag = getStopThreadFlag(jenv, jobj);
-		if (stopThreadFlag)
-			break;
-			
-		/* check to see if this thread has been interrupted */
-		isInterruptedReturn = (*jenv)->CallBooleanMethod(jenv, jobj, jintMethod);
-		if(isInterruptedReturn == JNI_TRUE)
-			break;
-		/* Get the notify error flag. If not set, skip error checks. */
-		notifyOnErrorFlag = (*jenv)->GetBooleanField(jenv, jpp, notifyOnErrorID);
-		if (notifyOnErrorFlag != JNI_TRUE)
-			continue;
-#ifdef NCI
-		if (ioctl(jfd, PIOCSTATUS, &newStatus) < 0) {
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-                newStatus = 0;
-	        if (0) {
-#endif	/* __osx__ */
-#ifdef __linux__
-		if (ioctl(jfd, LPGETSTATUS, &newStatus) < 0) {
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-                newStatus = 0;
-	        if (0) {
-#endif	/* QNX */
-			(void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_ParallelErrorEventThread_monitorParallelErrorNC: ioctl error %d!\n", errno);
-			return;
-		}
-		if (newStatus == oldStatus)
-			continue;
-#ifdef NCI
-		if((newStatus & LPS_NERR) != (oldStatus & LPS_NERR))
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-	        if (0)
-#endif	/* __osx__ */
-#ifdef __linux__
-		if((newStatus & LP_PERRORP) != (oldStatus & LP_PERRORP))
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	        if (0)
-#endif	/* QNX */
-		{
-			(*jenv)->CallVoidMethod(jenv, jpp, jm, ppeError,
-#ifdef NCI
-				    (oldStatus & LPS_NERR)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LPS_NERR)? JNI_TRUE:JNI_FALSE);
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* __osx__ */
-#ifdef __linux__
-				    (oldStatus & LP_PERRORP)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LP_PERRORP)? JNI_TRUE:JNI_FALSE);
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* QNX */
-			oldStatus = newStatus;
-			continue;
-		}
-#ifdef NCI
-		if((newStatus & LPS_SELECT) != (oldStatus & LPS_SELECT))
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-	        if (0)
-#endif	/* __osx__ */
-#ifdef __linux__
-		if((newStatus & LP_PSELECD) != (oldStatus & LP_PSELECD))
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	        if (0)
-#endif	/* QNX */
-		{
-			(*jenv)->CallVoidMethod(jenv, jpp, jm, ppeError,
-#ifdef NCI
-				    (oldStatus & LPS_SELECT)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LPS_SELECT)? JNI_TRUE:JNI_FALSE);
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* __osx__ */
-#ifdef __linux__
-				    (oldStatus & LP_PSELECD)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LP_PSELECD)? JNI_TRUE:JNI_FALSE);
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* QNX */
-			oldStatus = newStatus;
-			continue;
-		}
-#ifdef NCI
-		if((newStatus & LPS_NOPAPER) != (oldStatus & LPS_NOPAPER))
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-	        if (0)
-#endif	/* __osx__ */
-#ifdef __linux__
-		if((newStatus & LP_POUTPA) != (oldStatus & LP_POUTPA))
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	        if (0)
-#endif	/* QNX */
-		{
-			(*jenv)->CallVoidMethod(jenv, jpp, jm, ppeError,
-#ifdef NCI
-				    (oldStatus & LPS_NOPAPER)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LPS_NOPAPER)? JNI_TRUE:JNI_FALSE);
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* __osx__ */
-#ifdef __linux__
-				    (oldStatus & LP_POUTPA)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LP_POUTPA)? JNI_TRUE:JNI_FALSE);
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* QNX */
-			oldStatus = newStatus;
-			continue;
-		}
-#ifdef NCI
-		if((newStatus & LPS_NACK) != (oldStatus & LPS_NACK))
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-	        if (0)
-#endif	/* __osx__ */
-#ifdef __linux__
-		if((newStatus & LP_PACK) != (oldStatus & LP_PACK))
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	        if (0)
-#endif	/* QNX */
-		{
-			(*jenv)->CallVoidMethod(jenv, jpp, jm, ppeError,
-#ifdef NCI
-				    (oldStatus & LPS_NACK)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LPS_NACK)? JNI_TRUE:JNI_FALSE);
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* __osx__ */
-#ifdef __linux__
-				    (oldStatus & LP_PACK)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LP_PACK)? JNI_TRUE:JNI_FALSE);
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* QNX */
-			oldStatus = newStatus;
-			continue;
-		}
-#ifdef NCI
-		if((newStatus & LPS_NBSY) != (oldStatus & LPS_NBSY))
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-	        if (0)
-#endif	/* __osx__ */
-#ifdef __linux__
-		if((newStatus & LP_PBUSY) != (oldStatus & LP_PBUSY))
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	        if (0)
-#endif	/* QNX */
-		{
-			(*jenv)->CallVoidMethod(jenv, jpp, jm, ppeError,
-#ifdef NCI
-				    (oldStatus & LPS_NBSY)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LPS_NBSY)? JNI_TRUE:JNI_FALSE);
-#endif	/* NCI */
-#ifdef __osx__      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* __osx__ */
-#ifdef __linux__
-				    (oldStatus & LP_PBUSY)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LP_PBUSY)? JNI_TRUE:JNI_FALSE);
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* QNX */
-			oldStatus = newStatus;
-			continue;
-		}
-		oldStatus = newStatus;
-	}	/* end of while() */
-} /* cygParallelErrorEventThread_monitorParallelErrorNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygParallelPort.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygParallelPort.c
deleted file mode 100644
index 7d4a6e7..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygParallelPort.c
+++ /dev/null
@@ -1,321 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include "dkcomm.h"
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-#include <sys/ioctl.h>
-#ifdef NCI
-#include <dev/ic/lptioctl.h>
-#include <dev/ic/lptreg.h>
-#endif	/* NCI */
-#ifdef __linux__
-//#define __KERNEL__ /* To get the definitions for printer errors */
-#include <linux/lp.h>
-#endif	/* __linux__ */
-#ifdef _POSIX_SEMAPHORES
-#include <semaphore.h>
-#include "SysVStyleSemaphore.h"
-#else 
-#include <sys/ipc.h> 
-#include <sys/sem.h> 
-#endif 
-#include <org_eclipse_soda_dk_comm_NSParallelPort.h>
-#define NOOF_ELEMS(s)	((sizeof(s))/(sizeof(s[0])))
-#ifndef _POSIX_SEMAPHORES
-static struct sembuf	dev_test[] = {
-		{ 0, 0, IPC_NOWAIT }	/* test to see if it is free */
-};
-static struct sembuf	dev_lock[] = {
-		{ 0, 0, 0 },	/* wait for the semaphore to be free */
-		{ 0, 1, SEM_UNDO }	/* lock it */
-};
-static struct sembuf	dev_unlock[] = {
-		{ 0, -1, (IPC_NOWAIT | SEM_UNDO) }	/* unlock it */
-};
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    closeDeviceNC
- * Signature: (II)I
- */
-int cygParallelPort_closeDeviceNC
-  (JNIEnv *jenv, jobject jobj, jint fd, jint semId)
-{
-  /* If the semaphore was locked, unlock it. */
-  if (semId != -1) {
-  /* fix debug for POSIX semaphores later */
-#if defined(DEBUG) && !(_POSIX_SEMAPHORES)
-    int iRet;
-	 iRet = semop(semId, dev_unlock, NOOF_ELEMS(dev_unlock));
-    printf( "Unlock semID %d return value: %d\n", semId, iRet );
-     {
-        union semuni scarg;
-        int iVal = 0;
-	     (void)memset(&scarg, 0, sizeof(scarg));
-   	  iVal = semctl(semId, 0, GETVAL, scarg);
-        printf( "semID %d value %d\n", semId, iVal );
-        //fflush( stdout );
-     }
-#else
-#ifndef _POSIX_SEMAPHORES
-	(void)semop(semId, dev_unlock, NOOF_ELEMS(dev_unlock));
-#else
- 	 /* don't worry about return right now */
-	 (void)sem_post(sem_lookup(semId));
-#endif /* _POSIX_SEMAPHORES */
-#endif
-  }
-  /* Drain any remaining data. */
-#ifdef NCI
-  (void)ioctl(fd, TIOCDRAIN, NULL);
-#endif	/* NCI */
-#ifdef __osx__
-  (void)tcdrain(fd);
-#endif	/* __osx__ */
-#ifdef __linux__
-  (void)tcdrain(fd);
-#endif	/* __linux__ */
-# ifdef QNX
-  /*** BugBug: tcdrain hangs with parallel. Need to fix.
-  (void)tcdrain(fd);
-   ***/
-#endif /* QNX */
-  return close(fd);
-}	/* cygParallelPort_closeDeviceNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    openDeviceNC
- * Signature: (Ljava/lang/String;I)I
- */
-int cygParallelPort_openDeviceNC
-  (JNIEnv *jenv, jobject jobj, jstring name, jint semId)
-{
-  const char * dname = NULL;
-  int fd = -1;
-  int sts;
-  dname = (*jenv)->GetStringUTFChars(jenv, name, 0);
-  if( dname == NULL )
-  {
-#ifdef DEBUG
-    printf( "Can not open port because get NULL name\n" );
-#endif
-    return fd;
-  }
-  /* Test the semaphore to see if it is free. If so, lock it.  Else, return
-     a failure. */
-  if (semId != -1) {
-#ifdef _POSIX_SEMAPHORES
-   if(sem_trywait(sem_lookup(semId)) == -1){
-#else 
-	if (semop(semId, dev_test, NOOF_ELEMS(dev_test)) < 0 ||
-	    semop(semId, dev_lock, NOOF_ELEMS(dev_lock)) < 0) {
-#endif
-#if defined(DEBUG) && !(_POSIX_SEMAPHORES)
-     {
-        union semuni scarg;
-        int iVal = 0;
-	     (void)memset(&scarg, 0, sizeof(scarg));
-   	  iVal = semctl(semId, 0, GETVAL, scarg);
-        printf( "semID %d was locked or can not be locked(value %d)\n", semId, iVal );
-        /* fflush( stdout ); */
-     }
-#endif
-		(*jenv)->ReleaseStringUTFChars(jenv, name, dname);
-		return fd;
-	}
-  }
-#ifdef DEBUG
-  (void)fprintf(stderr, "Before opening %s\n", dname);
-#endif /* DEBUG */
-  fd = open( dname, O_RDWR | O_NONBLOCK );
-#ifdef DEBUG
-  (void)fprintf(stderr, "After opening %s; fd = %d\n", dname, fd);
-#endif /* DEBUG */
-  /* Turn on blocking mode for the device. */
-  if (fd != -1) {
-     if ((sts = fcntl(fd, F_GETFL, 0)) != -1) {
-	sts &= ~O_NONBLOCK;
-	(void)fcntl(fd, F_SETFL, sts);
-     }
-  }
-  (*jenv)->ReleaseStringUTFChars(jenv, name, dname);
-  /* If the open has failed and the semaphore was locked, unlock it. */
-  if (fd == -1 && semId != -1) {
-#ifdef _POSIX_SEMAPHORES
-	(void) sem_post(sem_lookup(semId));
-#else 
-	(void)semop(semId, dev_unlock, NOOF_ELEMS(dev_unlock));
-#endif
-  }
-  return fd;
-}   /* win32ParallelPort_openDeviceNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPaperOutNC
- * Signature: (I)Z
- */
-jboolean cygParallelPort_isPaperOutNC
-  (JNIEnv *jenv, jobject jobj, jint jfd)
-{
-  int		status;
-#ifdef NCI
-  if (ioctl(jfd, PIOCSTATUS, &status) < 0) {
-#endif	/* NCI */
-#ifdef __osx__          /* ToDo: implement */
-  if (0) {
-#endif	/* __osx__ */
-#ifdef __linux__
-  if (ioctl(jfd, LPGETSTATUS, &status) < 0) {
-#endif	/* __linux__ */
-#ifdef QNX          /* ToDo: implement */
-  if (0) {
-#endif /* QNX*/	
-     (void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_NSParallelPort_isPaperOutNC: ioctl error %d!\n", errno);
-     return JNI_FALSE;
-  }
-#ifdef NCI
-  return status & LPS_NOPAPER ? JNI_TRUE : JNI_FALSE;
-#endif	/* NCI */
-#ifdef __osx__          /* ToDo: implement */
-  return JNI_FALSE;
-#endif	/* __osx__ */
-#ifdef __linux__
-  return status & LP_POUTPA ? JNI_TRUE : JNI_FALSE;
-#endif	/* __linux__ */
-#ifdef QNX          /* ToDo: implement */
-  return JNI_FALSE;
-#endif /* QNX*/	
-}	/* cygParallelPort_isPaperOutNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterBusyNC
- * Signature: (I)Z
- */
-jboolean cygParallelPort_isPrinterBusyNC
-  (JNIEnv *jenv, jobject jobj, jint jfd)
-{
-  int		status;
-#ifdef NCI
-  if (ioctl(jfd, PIOCSTATUS, &status) < 0) {
-#endif	/* NCI */
-#ifdef __osx__          /* ToDo: implement */
-  if (0) {
-#endif	/* __osx__ */
-#ifdef __linux__
-  if (ioctl(jfd, LPGETSTATUS, &status) < 0) {
-#endif	/* __linux__ */
-#ifdef QNX          /* ToDo: implement */
-  if (0) {
-#endif /* QNX*/	
-     (void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterBusyNC: ioctl error %d!\n", errno);
-     return JNI_FALSE;
-  }
-#ifdef NCI
-  return status & LPS_NBSY ? JNI_FALSE : JNI_TRUE;	/* converse */
-#endif	/* NCI */
-#ifdef __osx__          /* ToDo: implement */
-  return JNI_FALSE;
-#endif	/* __osx__ */
-#ifdef __linux__
-  return status & LP_PBUSY ? JNI_FALSE : JNI_TRUE;	/* converse */
-#endif	/* __linux__ */
-#ifdef QNX          /* ToDo: implement */
-  return JNI_FALSE;
-#endif /* QNX*/	
-}	/* cygParallelPort_isPrinterBusyNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterSelectedNC
- * Signature: (I)Z
- */
-jboolean cygParallelPort_isPrinterSelectedNC
-  (JNIEnv *jenv, jobject jobj, jint jfd)
-{
-  int		status;
-#ifdef NCI
-  if (ioctl(jfd, PIOCSTATUS, &status) < 0) {
-#endif	/* NCI */
-#ifdef __osx__          /* ToDo: implement */
-  if (0) {
-#endif	/* __osx__ */
-#ifdef __linux__
-  if (ioctl(jfd, LPGETSTATUS, &status) < 0) {
-#endif	/* __linux__ */
-#ifdef QNX          /* ToDo: implement */
-  if (0) {
-#endif /* QNX*/	
-     (void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterSelectedNC: ioctl error %d!\n", errno);
-     return JNI_FALSE;
-  }
-#ifdef NCI
-  return status & LPS_SELECT ? JNI_FALSE : JNI_TRUE;	/* converse */
-#endif	/* NCI */
-#ifdef __osx__          /* ToDo: implement */
-  return JNI_TRUE;
-#endif	/* __osx__ */
-#ifdef __linux__
-  return status & LP_PSELECD ? JNI_FALSE : JNI_TRUE;	/* converse */
-#endif	/* __linux__ */
-#ifdef QNX          /* ToDo: implement */
-  return JNI_TRUE;
-#endif /* QNX*/	
-}	/* cygParallelPort_isPrinterSelectedNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterTimedOutNC
- * Signature: (I)Z
- */
-jboolean cygParallelPort_isPrinterTimedOutNC
-  (JNIEnv *jenv, jobject jobj, jint jfd)
-{
-  return JNI_FALSE;
-}	/* cygParallelPort_isPrinterTimedOutNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterErrorNC
- * Signature: (I)Z
- */
-jboolean cygParallelPort_isPrinterErrorNC
-  (JNIEnv *jenv, jobject jobj, jint jfd)
-{
-  int		status;
-#ifdef NCI
-  if (ioctl(jfd, PIOCSTATUS, &status) < 0) {
-#endif	/* NCI */
-#ifdef __osx__          /* ToDo: implement */
-  if (0) {
-#endif	/* __osx__ */
-#ifdef __linux__
-  if (ioctl(jfd, LPGETSTATUS, &status) < 0) {
-#endif	/* __linux__ */
-#ifdef QNX          /* ToDo: implement */
-  if (0) {
-#endif /* QNX*/	
-     (void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterErrorNC: ioctl error %d!\n", errno);
-     return JNI_FALSE;
-  }
-#ifdef NCI
-  return status & LPS_NERR ? JNI_FALSE : JNI_TRUE;	/* converse */
-#endif	/* NCI */
-#ifdef __osx__          /* ToDo: implement */
-  return JNI_FALSE;
-#endif	/* __osx__ */
-#ifdef __linux__
-  return status & LP_PERRORP ? JNI_FALSE : JNI_TRUE;	/* converse */
-#endif	/* __linux__ */
-#ifdef QNX          /* ToDo: implement */
-  return JNI_FALSE;
-#endif /* QNX*/	
-}	/* cygParallelPort_isPrinterErrorNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygSerialDataEventThread.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygSerialDataEventThread.c
deleted file mode 100644
index e883b4f..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygSerialDataEventThread.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <sys/time.h>
-#include <sys/select.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <unistd.h>
-#include <org_eclipse_soda_dk_comm_SerialDataEventThread.h>
-#define assertexc(s)       if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-				 return;}
-static int	getPollingTime(JNIEnv *jenv) {
-  int		ptime = 5;
-  jclass	cic;
-  jfieldID	ptID;
-  jint		pt;
-  do {
-	cic = (*jenv)->FindClass(jenv, "javax/comm/CommPortIdentifier");
-	if (!cic) break;
-	ptID = (*jenv)->GetStaticFieldID(jenv, cic, "pollingTime", "I");
-	if (!ptID) break;
-	pt = (*jenv)->GetStaticIntField(jenv, cic, ptID);
-	if (pt > 0)
-		ptime = pt;
-  } while (0);
-  return ptime;
-}	// getPollingTime()
-static int getStopThreadFlag(JNIEnv *jenv, jobject jobj)
-{
-	jclass cls;
-	jfieldID fid;
-	jint stopThreadFlag;
-	
-	cls = (*jenv)->GetObjectClass(jenv, jobj);
-	if (!cls) (*jenv)->FatalError(jenv, "Missing class");
-	
-	fid = (*jenv)->GetFieldID(jenv, cls, "stopThreadFlag", "I");
-	if (fid == NULL) (*jenv)->FatalError(jenv, "Missing field");
-	
-	stopThreadFlag = (*jenv)->GetIntField(jenv, jobj, fid);
-	
-	return stopThreadFlag;	
-} 
-/*
- * Class:     org_eclipse_soda_dk_comm_SerialDataEventThread
- * Method:    monitorSerialDataNC
- * Signature: (I)V
- */
-void cygSerialDataEventThread_monitorSerialDataNC
-  (JNIEnv *jenv, jobject jobj, jint jfd) {
-    jclass   jspec; /* serial port event class */
-    fd_set  r_mask;
-    jfieldID   data_available_id;      /* field ID */
-        jint   data_available_event;  /* field value */
-        jclass        jc;
-        jmethodID     jm;
-        jfieldID         spID;
-        jobject  jsp;
-        jclass   jspc;
-        jfieldID notifyOnDataAvailableID;
-        jboolean notifyOnDataAvailableFlag = JNI_FALSE;
-        int result;
-	int		pollingTime;	/* seconds */
-	struct timeval	tv;
-	jboolean	 isInterruptedReturn;
-	jclass	 jthreadClass;
-	jmethodID	 jintMethod;
-	jint 		stopThreadFlag;
-	pollingTime = getPollingTime(jenv);
-        jspec = (*jenv)->FindClass(jenv, "javax/comm/SerialPortEvent");
-        assertexc(jspec);
-        data_available_id = (*jenv)->GetStaticFieldID(jenv, jspec, "DATA_AVAILABLE", "I");
-        assertexc(data_available_id);
-        data_available_event = (*jenv)->GetStaticIntField(jenv, jspec, data_available_id);
-        /* Get the serial port object.*/
-        jc = (*jenv)->GetObjectClass(jenv, jobj);
-        assertexc(jc);
-        spID = (*jenv)->GetFieldID(jenv, jc, "serialPort", "Lorg/eclipse/soda/dk/comm/NSSerialPort;");
-        assertexc(spID);
-        jsp = (*jenv)->GetObjectField(jenv, jobj, spID);
-        assertexc(jsp);
-        /* Get the class ID of the serial port object.*/
-        jspc = (*jenv)->GetObjectClass(jenv, jsp);
-        assertexc(jspc);
-        /* Get access to the method to add a port.*/
-        jm = (*jenv)->GetMethodID(jenv, jspc, "reportSerialEvent", "(IZZ)V");
-        assertexc(jm);
-        notifyOnDataAvailableID = (*jenv)->GetFieldID(jenv, jspc, "notifyOnDataFlag", "Z");
-        assertexc(notifyOnDataAvailableID);
-	/* Get access to the interrupted method.*/
-	jthreadClass = (*jenv)->FindClass(jenv, "java/lang/Thread");
-	assertexc(jthreadClass);
-	jintMethod = (*jenv)->GetMethodID(jenv, jthreadClass, "isInterrupted", "()Z");
-	assertexc(jintMethod);
-   while(1)
-	 {
-	 	
-		stopThreadFlag = getStopThreadFlag(jenv, jobj);
-		if (stopThreadFlag)
-			break;
-	 	
-	/* check to see if this thread has been interrupted */
-	isInterruptedReturn = (*jenv)->CallBooleanMethod(jenv,jobj,jintMethod);
-	if(isInterruptedReturn == JNI_TRUE)
-		break;
-	(void)memset(&tv, 0, sizeof(tv));
-	tv.tv_sec = pollingTime;
-        FD_ZERO(&r_mask);
-        FD_SET(jfd, &r_mask);
-        result = select(jfd + 1, &r_mask, NULL, NULL, &tv);
-        if (result == -1 && errno != EINTR)
-		break;
-	if (!result)	// time out
-		continue;
-       if (FD_ISSET(jfd, &r_mask))
-	{
-        notifyOnDataAvailableFlag = (*jenv)->GetBooleanField(jenv, jsp, notifyOnDataAvailableID);
-         if(notifyOnDataAvailableFlag)
-           (*jenv)->CallVoidMethod(jenv, jsp, jm, data_available_event, JNI_TRUE, JNI_TRUE);
-        }
-    }
-} /* cygSerialDataEventThread_monitorSerialDataNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygSerialPort.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygSerialPort.c
deleted file mode 100644
index 866c2ab..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygSerialPort.c
+++ /dev/null
@@ -1,703 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include "dkcomm.h"
-#include <stdio.h>
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <unistd.h>
-#ifdef QNX
- #include <sys/ioctl.h>
- #include <termios.h>
-#endif
-#ifdef NCI
- #include <termios.h>
-#endif	/* NCI */
-#ifdef __osx__
- #include <sys/ioctl.h>
- #include <termios.h>
-#endif	/* __osx__ */
-#ifdef __linux__
- //#include <asm/ioctls.h>
- #include <sys/ioctl.h>
- //#include <asm/termios.h>
- #include <termios.h>
- #endif	/* __linux__ */
-#include <sys/types.h>
-#ifdef _POSIX_SEMAPHORES
-#include <semaphore.h>
-#include "SysVStyleSemaphore.h"
-#else 
-#include <sys/ipc.h> 
-#include <sys/sem.h> 
-#endif 
-#include <org_eclipse_soda_dk_comm_NSSerialPort.h>
-#define assertexc(s) if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); return(-1);}
-#define NOOF_ELEMS(s)	((sizeof(s))/(sizeof(s[0])))
-#ifndef _POSIX_SEMAPHORES
-static struct sembuf	dev_test[] = {
-		{ 0, 0, IPC_NOWAIT }	/* test to see if it is free */
-};
-static struct sembuf	dev_lock[] = {
-		{ 0, 0, 0 },	/* wait for the semaphore to be free */
-		{ 0, 1, SEM_UNDO }	/* lock it */
-};
-static struct sembuf	dev_unlock[] = {
-		// { 0, -1, (IPC_NOWAIT | SEM_UNDO) }	/* unlock it */
-		{ 0, -1,  0  }   	/* wait til unlock it */
-};
-#endif
-static jint getfd(JNIEnv *jenv, jobject jobj)
-  {
-    jclass        jc;
-    jfieldID      jf;
-    jint          fd = -1;
-    // Get the file descriptor.
-    jc = (*jenv)->GetObjectClass(jenv, jobj);
-    assertexc(jc);
-    jf = (*jenv)->GetFieldID(jenv, jc, "fd", "I");
-    assertexc(jf);
-    fd = (*jenv)->GetIntField(jenv, jobj, jf);
-    return fd;
-  }
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    openDeviceNC
- * Signature: (Ljava/lang/String;I)I
- */
-int cygSerialPort_closeDeviceNC
-  (JNIEnv *jenv, jobject jobj, jint fd, jint semId)
-{
-  /* If the semaphore was locked, unlock it. */
-  if (semId != -1) {
-  /* fix debug for POSIX semaphores later */
-#if defined(DEBUG) && !(_POSIX_SEMAPHORES)
-    int iRet;
-	 iRet = semop(semId, dev_unlock, NOOF_ELEMS(dev_unlock));
-    printf( "Unlock semID %d return value: %d\n", semId, iRet );
-     {
-        union semuni scarg;
-        int iVal = 0;
-	     (void)memset(&scarg, 0, sizeof(scarg));
-   	  iVal = semctl(semId, 0, GETVAL, scarg);
-        printf( "semID %d value %d\n", semId, iVal );
-        //fflush( stdout );
-     }
-#else
-#ifndef _POSIX_SEMAPHORES
-	 (void)semop(semId, dev_unlock, NOOF_ELEMS(dev_unlock));
-#else
- 	 /* don't worry about return right now */
-	 (void)sem_post(sem_lookup(semId));
-#endif /* _POSIX_SEMAPHORES */
-#endif
-  }
-  /* Drain any remaining data. */
-#ifdef NCI
-  (void)ioctl(fd, TIOCDRAIN, NULL);
-#endif	/* NCI */
-#ifdef __linux__
-  (void)tcdrain(fd);
-#endif	/* __linux__ */
-# ifdef QNX
-  (void)tcdrain(fd);
-#endif /* QNX */
-  return close(fd);
-}	/* cygSerialPort_closeDeviceNC */
-int cygSerialPort_openDeviceNC
-  (JNIEnv *jenv, jobject jobj, jstring name, jint semId)
-{
-  const char * dname = NULL;
-  int fd = -1;
-  int sts;
-  dname = (*jenv)->GetStringUTFChars(jenv, name, 0);
-  if( dname == NULL )
-  {
-#ifdef DEBUG
-    printf( "Can not open port because get NULL name\n" );
-#endif
-    return fd;
-  }
-  /* Test the semaphore to see if it is free. If so, lock it.  Else, return
-     a failure. */
-  if (semId != -1) {
-#ifdef _POSIX_SEMAPHORES
-   if(sem_trywait(sem_lookup(semId)) == -1){
-#else 
-	if (semop(semId, dev_test, NOOF_ELEMS(dev_test)) < 0 ||
-	    semop(semId, dev_lock, NOOF_ELEMS(dev_lock)) < 0) {
-#endif
-#if defined(DEBUG) && !(_POSIX_SEMAPHORES)
-     {
-        union semuni scarg;
-        int iVal = 0;
-	     (void)memset(&scarg, 0, sizeof(scarg));
-   	  iVal = semctl(semId, 0, GETVAL, scarg);
-        printf( "semID %d was locked or can not be locked(value %d)\n", semId, iVal );
-        /* fflush( stdout ); */
-     }
-#endif
-		(*jenv)->ReleaseStringUTFChars(jenv, name, dname);
-		return fd;
-	}
-  }
-#undef DEBUG
-#ifdef DEBUG
-  printf("Before opening %s\n", dname);
-#endif /* DEBUG */
-  fd = open( dname, O_RDWR | O_NONBLOCK );
-#ifdef DEBUG
-  printf("After opening %s; fd = %d\n", dname, fd);
-#endif /* DEBUG */
-  /* Turn on blocking mode for the device. */
-  if (fd != -1) {
-     if ((sts = fcntl(fd, F_GETFL, 0)) != -1) {
-		sts &= ~O_NONBLOCK;
-		(void)fcntl(fd, F_SETFL, sts);
-     }
-  }
-#define SMARTCARD
-#ifdef SMARTCARD
-  /* For SmartCard, set it to clocal, enable reader and turn off
-     flow control. */
-  if (fd != -1) {
-	struct termios		io;
-	if (tcgetattr(fd, &io) == -1)
-			printf("tcgetattr() failed on %s(%d)!\n", dname, errno);
-	else {
-   		io.c_iflag &= ~(IXOFF | IXON | INLCR | ICRNL | IGNCR);
-   		io.c_oflag &= ~(OPOST | OCRNL | ONLCR | ONOCR | ONLRET);
-#ifdef NCI
-   		io.c_cflag &= ~(CRTS_IFLOW | CCTS_OFLOW);
-#endif	/* NCI */
-#ifdef __linux__
-   		io.c_cflag &= ~(CRTSCTS);
-#endif	/* __linux__ */
-#ifdef QNX
-		io.c_cflag &=~(IHFLOW | OHFLOW);
-#endif /* QNX */		
-		io.c_cflag |= (CLOCAL | CREAD);
-		io.c_lflag &= ~ICANON;	/* turn off cannonical processing */
-		/* turn off echoing */
-		io.c_lflag &= ~(ECHO | ECHOKE | ECHOE | ECHOCTL);
-		io.c_lflag &= ~ISIG;
-		io.c_cc[VMIN] = 1;
-		io.c_cc[VTIME] = 0;
-		if (tcsetattr(fd, TCSANOW, &io) == -1)
-			printf("tcsetattr() failed on %s!\n", dname);
-#if 0
-		else
-			printf("tcsetattr() set clocal, cread and no flow control on %s!\n", dname);
-			/*fprintf(stderr, "tcsetattr() set clocal, cread and no flow control on %s!\n", dname); */
-			
-#endif	/* 0 */
-	}
-  }
-#endif
-  (*jenv)->ReleaseStringUTFChars(jenv, name, dname);
-  /* If the open has failed and the semaphore was locked, unlock it. */
-  if (fd == -1 && semId != -1) {
-#ifdef _POSIX_SEMAPHORES
-	(void) sem_post(sem_lookup(semId));
-#else 
-	(void)semop(semId, dev_unlock, NOOF_ELEMS(dev_unlock));
-#endif  
-  }
-  return fd;
-}    /* cygSerialPort_openDeviceNC */
-int cygSerialPort_setFlowControlModeNC
-  (JNIEnv *jenv, jobject jobj, jint fd, jint fc )
-{
-  int			fm = -1;
-  int			rc;
-  struct termios	ios;
-  if ((rc = tcgetattr(fd, &ios)) == -1)
-     return fm;
-  /* Now set the desired flow control.  Turn off the other exclusive flow
-     control mode.
-   */
-  /* In fact, set the flow control completely based on the flags just passed
-     in.   That means, turn off all flow control modes that were set earlier.
-   */
-  ios.c_iflag &= ~(IXOFF | IXON);
-#ifdef NCI
-  ios.c_cflag &= ~(CRTS_IFLOW | CCTS_OFLOW);
-#endif	/* NCI */
-#ifdef __linux__
-  ios.c_cflag &= ~(CRTSCTS);
-#endif	/* __linux__ */
-#ifdef QNX
-  ios.c_cflag &=~(IHFLOW | OHFLOW);
-#endif /* QNX */  
-  if (fc == 0) {			// NONE
-     /* Do nothing, as all the flow control modes are already turned off now. */
-  }
-  else {
-     if (fc & 1) {		// RTSCTS_IN
-	// ios.c_iflag &= ~IXOFF;
-#ifdef NCI
-	ios.c_cflag |= CRTS_IFLOW;
-#endif	/* NCI */
-#ifdef __linux__
-	ios.c_cflag |= CRTSCTS;
-#endif	/* __linux__ */
-#ifdef QNX
-	ios.c_cflag |=IHFLOW;
-#endif /* QNX */	
-     }
-     if (fc & 2) {		// RTSCTS_OUT
-	// ios.c_iflag &= ~IXON;
-#ifdef NCI
-	ios.c_cflag |= CCTS_OFLOW;
-#endif	/* NCI */
-#ifdef __linux__
-	ios.c_cflag |= CRTSCTS;
-#endif	/* __linux__ */
-#ifdef QNX
-	ios.c_cflag |= OHFLOW;
-#endif /* QNX*/	
-     }
-     if (fc & 4) {		// XONXOFF_IN
-	// ios.c_cflag &= ~CRTS_IFLOW;
-	ios.c_iflag |= IXOFF;
-     }
-     if (fc & 8) {		// XONXOFF_OUT
-	// ios.c_cflag &= ~CCTS_OFLOW;
-	ios.c_iflag |= IXON;
-     }
-  }
-  if ((rc = tcsetattr(fd, TCSANOW, &ios)) != -1)
-     fm = fc;
-  return fm;
-}   /* cygSerialPort_setFlowControlModeNC */
-int cygSerialPort_getFlowControlModeNC
-  (JNIEnv *jenv, jobject jobj, jint fd )
-{
-  struct termios 	ios;
-  int			rc;
-  int			fm = -1;
-  if ((rc = tcgetattr(fd, &ios)) == -1)
-     return fm;
-  // Determine the flow control.
-#ifdef NCI 
-  if ((!(ios.c_cflag & CRTS_IFLOW) && !(ios.c_cflag & CCTS_OFLOW)) &&
-#endif	/* NCI */
-#ifdef __osx__
-  if ((!(ios.c_cflag & CRTSCTS)) &&
-#endif	/* __osx__ */
-#ifdef __linux__ 
-  if ((!(ios.c_cflag & CRTSCTS)) &&
-#endif	/* __linux__ */
-#ifdef QNX
-  if ((!(ios.c_cflag & IHFLOW) && !(ios.c_cflag & OHFLOW)) &&
-#endif /* QNX */
-      (!(ios.c_iflag & IXON) && !(ios.c_iflag & IXOFF)))
-     fm = 0;				// NONE
-  else {
-     fm = 0;
-#ifdef NCI
-     if (ios.c_cflag & CRTS_IFLOW)	// RTSCTS_IN
-#endif	/* NCI */
-#ifdef __osx__
-     if (ios.c_cflag & CRTSCTS)		// RTSCTS_IN
-#endif	/* __osx__ */
-#ifdef __linux__ 
-     if (ios.c_cflag & CRTSCTS)		// RTSCTS_IN
-#endif	/* __linux__ */
-#ifdef QNX
-     if (ios.c_cflag & IHFLOW)
-#endif /* QNX */     
-        fm |= 1;
-#ifdef NCI
-     if (ios.c_cflag & CCTS_OFLOW)	// RTSCTS_OUT
-#endif	/* NCI */
-#ifdef __osx__ 
-     if (ios.c_cflag & CRTSCTS)		// RTSCTS_IN
-#endif	/* __osx__ */
-#ifdef __linux__ 
-     if (ios.c_cflag & CRTSCTS)		// RTSCTS_IN
-#endif	/* __linux__ */
-#ifdef QNX
-     if (ios.c_cflag & OHFLOW)
-#endif /* QNX */     
-        fm |= 2;
-     if (ios.c_iflag & IXOFF)		// XONXOFF_IN
-        fm |= 4;
-     if (ios.c_iflag & IXON)		// XONXOFF_OUT
-        fm |= 8;
-  }
-  
-  return fm;
-}   /* cygSerialPort_getFlowControlModeNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getBaudRateNC
- * Signature: (I)I
- */
-int cygSerialPort_getBaudRateNC
-  (JNIEnv *jenv, jobject jobj, jint fd)
-{
-  struct termios ios;
-  int rc = -1;
-  speed_t sp;
-#ifdef DEBUG
-  printf( "getBaudRateNC\n" );
-  /* fflush( stdout ); */
-#endif
- (void)memset(&ios, 0, sizeof(ios));
-#ifdef DEBUG
-  printf( "tcgetattr()\n" );
-  /* fflush( stdout ); */
-#endif
- rc = tcgetattr(fd, &ios);
- if ( rc ==  -1 ) return rc;
-#ifdef DEBUG
-  printf( "cfgetospeed()\n" );
-  /* fflush( stdout ); */
-#endif
- sp = cfgetospeed( &ios );
-#ifdef __linux__
- /* Map the internal value to external speed. */
-#ifdef DEBUG
-  printf( "sp %d\n",sp);
-  /*fflush( stdout ); */
-#endif
- switch((int)sp) {
-    case B50:		sp = 50; break;
-    case B75:		sp = 75; break;
-    case B110:		sp = 110; break;
-    case B134:		sp = 134; break;
-    case B150:		sp = 150; break;
-    case B200:		sp = 200; break;
-    case B300:		sp = 300; break;
-    case B600:		sp = 600; break;
-    case B1200:		sp = 1200; break;
-    case B1800:		sp = 1800; break;
-    case B2400:		sp = 2400; break;
-    case B4800:		sp = 4800; break;
-    case B9600:		sp = 9600; break;
-    case B19200:	sp = 19200; break;
-    case B38400:	sp = 38400; break;
-    case B57600:	sp = 57600; break;
-    case B115200:	sp = 115200; break;
-    case B230400:	sp = 230400; break;
- }
-#ifdef DEBUG
-  printf( " new sp %d\n", sp);
-  /* fflush( stdout ); */
-#endif
-#endif	/* __linux__ */
- return (jint) sp;
-}   /* cygSerialPort_getFlowControlModeNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getDataBitsNC
- * Signature: (I)I
- */
-int cygSerialPort_getDataBitsNC(JNIEnv *jenv, jobject jobj, jint fd)
-{
-  struct termios ios;
-  int rc = -1;
-  rc = tcgetattr(fd, &ios);
-  if ( rc ==  -1 ) return (jint) rc;
-  rc = ios.c_cflag & CSIZE;
-  switch ( rc )
-  {
-    case CS5:
-      return (jint) 5;
-    break;
-    case CS6:
-      return (jint) 6;
-    break;
-    case CS7:
-      return (jint) 7;
-    break;
-    case CS8:
-      return (jint) 8;
-    break;
-    default:
-      return (jint) -1;
-  }
-  return (jint) rc;
-} /* cygSerialPort_getDataBitsNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getStopBitsNC
- * Signature: (I)I
- */
-int cygSerialPort_getStopBitsNC(JNIEnv *jenv, jobject jobj, jint fd)
-{
-  struct termios ios;
-  int rc = -1;
-  rc = tcgetattr(fd, &ios);
-  if ( rc ==  -1 ) return (jint) rc;
-  if ( ios.c_cflag & CSTOPB )
-    rc = 2;
-  else
-    rc = 1;
-  return (jint) rc;
-}  /* cygSerialPort_getStopBitsNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getParityNC
- * Signature: (I)I
- */
-int cygSerialPort_getParityNC(JNIEnv *jenv, jobject jobj, jint fd)
-{
-  struct termios ios;
-  int rc = -1;
-  int NONE = 0, ODD = 1, EVEN = 2;
-  rc = tcgetattr(fd, &ios);
-  if ( rc ==  -1 ) return (jint) rc;
-  if ( ios.c_cflag & PARENB )
-  {
-    if ( ios.c_cflag & PARODD )
-      rc = ODD;
-    else
-      rc = EVEN;
-  } else
-    rc = NONE; // PARITY_NONE
-#ifdef DEBUG
-  /*fprintf(stderr, "getParityNC:  parity = %d\n", rc); */
-#endif /* DEBUG */
-  return (jint) rc;
-}  /* cygSerialPort_getParityNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setDTRNC
- * Signature: (Z)V
- */
-void cygSerialPort_setDTRNC(JNIEnv *jenv, jobject jobj, jint fd, jboolean bool)
-{
-    int jdtr;
-    int rc = -1;
-    fd = -1;
-    fd = getfd( jenv, jobj );
-    rc = ioctl( fd, TIOCMGET, &jdtr );
-    if ( rc ==  -1 ) return;
-    if ( bool == JNI_TRUE )
-      jdtr |= TIOCM_DTR;
-    else
-      jdtr &= ~TIOCM_DTR;
-    rc = ioctl( fd, TIOCMSET, &jdtr );
-}  /* cygSerialPort_setDTRNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isDTRNC
- * Signature: ()Z
- */
-jboolean cygSerialPort_isDTRNC(JNIEnv *jenv, jobject jobj)
-{
-    int jdtr;
-    int rc = -1;
-    jint fd = -1;
-    fd = getfd( jenv, jobj );
-    rc = ioctl( fd, TIOCMGET, &jdtr );
-    if ( rc ==  -1 ) return (jboolean)JNI_FALSE;
-    if ( jdtr & TIOCM_DTR )
-      return (jboolean)JNI_TRUE;
-    else
-      return (jboolean)JNI_FALSE;
-}  /* cygSerialPort_isDTRNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setRTSNC
- * Signature: (Z)V
- */
-void cygSerialPort_setRTSNC(JNIEnv *jenv, jobject jobj, jboolean bool)
-{
-    int jrts;
-    int rc = -1;
-    jint fd = -1;
-    fd = getfd( jenv, jobj );
-    rc = ioctl( fd, TIOCMGET, &jrts );
-    if ( rc ==  -1 ) return;
-    if ( bool == JNI_TRUE )
-      jrts |= TIOCM_RTS;
-    else
-      jrts &= ~TIOCM_RTS;
-    rc = ioctl( fd, TIOCMSET, &jrts );
-}  /* cygSerialPort_setRTSNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isRTSNC
- * Signature: ()Z
- */
-jboolean cygSerialPort_isRTSNC(JNIEnv *jenv, jobject jobj)
-{
-    int jrts;
-    int rc = -1;
-    jint fd = -1;
-    fd = getfd( jenv, jobj );
-    rc = ioctl( fd, TIOCMGET, &jrts );
-    if ( rc ==  -1 ) return (jboolean) JNI_FALSE;
-    if ( jrts & TIOCM_RTS )
-      return (jboolean) JNI_TRUE;
-    else
-      return (jboolean) JNI_FALSE;
-}  /* cygSerialPort_isRTSNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isCTSNC
- * Signature: ()Z
- */
-jboolean cygSerialPort_isCTSNC(JNIEnv *jenv, jobject jobj)
-{
-    int jcts;
-    int rc = -1;
-    jint fd = -1;
-    fd = getfd( jenv, jobj );
-    rc = ioctl( fd, TIOCMGET, &jcts );
-    if ( rc ==  -1 ) return (jboolean) JNI_FALSE;
-    if ( jcts & TIOCM_CTS )
-      return (jboolean) JNI_TRUE;
-    else
-      return (jboolean) JNI_FALSE;
-}  /* cygSerialPort_isCTSNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isDSRNC
- * Signature: ()Z
- */
-jboolean cygSerialPort_isDSRNC(JNIEnv *jenv, jobject jobj)
-{
-    int jdsr;
-    int rc = -1;
-    jint fd = -1;
-    fd = getfd( jenv, jobj );
-    rc = ioctl( fd, TIOCMGET, &jdsr );
-    if ( rc ==  -1 ) return (jboolean) JNI_FALSE;
-    if ( jdsr & TIOCM_CTS )
-      return (jboolean) JNI_TRUE;
-    else
-      return (jboolean) JNI_FALSE;
-}  /* cygSerialPort_isDSRNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isRINC
- * Signature: ()Z
- */
-jboolean cygSerialPort_isRINC(JNIEnv *jenv, jobject jobj)
-{
-    int jrng;
-    int rc = -1;
-    jint fd = -1;
-    fd = getfd( jenv, jobj );
-    rc = ioctl( fd, TIOCMGET, &jrng );
-    if ( rc ==  -1 ) return (jboolean) JNI_FALSE;
-    if ( jrng & TIOCM_RNG )
-      return (jboolean) JNI_TRUE;
-    else
-      return (jboolean) JNI_FALSE;
-}  /* cygSerialPort_isRINC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isCDNC
- * Signature: ()Z
- */
-jboolean cygSerialPort_isCDNC(JNIEnv *jenv, jobject jobj)
-{
-    int jcd;
-    int rc = -1;
-    jint fd = -1;
-    fd = getfd( jenv, jobj );
-    rc = ioctl( fd, TIOCMGET, &jcd );
-    if ( rc ==  -1 ) return (jboolean) JNI_FALSE;
-    if ( jcd & TIOCM_CD )
-      return (jboolean) JNI_TRUE;
-    else
-      return (jboolean) JNI_FALSE;
-}  /* cygSerialPort_isCDNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    sendBreakNC
- * Signature: (II)I
- */
-int cygSerialPort_sendBreakNC(JNIEnv *jenv, jobject jobj, jint jfd, jint jmillis) {
-   (void)tcsendbreak(jfd, jmillis);
-} /* Java_org_eclipse_soda_dk_comm_NSSerialPort_sendBreakNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setSerialPortParamsNC
- * Signature: (IIIII)I
- */
-int cygSerialPort_setSerialPortParamsNC
-  (JNIEnv *jenv, jobject jobj, jint jfd, jint jbd, jint jdb, jint jsb, jint jpar) {
-  int			rc;
-  struct termios 	ios;
-  speed_t		spd;
-  if ((rc = tcgetattr(jfd, &ios)) == -1)
-     return rc;
-  // Set the baud rate.
-  spd = jbd;
-#ifdef QNX  /* put in by daniel */
-   if ((rc = cfsetospeed(&ios, spd)) == -1)
-     return rc;
-	if ((rc = cfsetispeed(&ios, spd)) == -1)
-     return rc;
-#else
-  if ((rc = cfsetspeed(&ios, spd)) == -1)
-     return rc;
-#endif 
-  // Set the data bits.
-  switch(jdb) {
-     case 5:		// DATABITS_5
-	ios.c_cflag &= ~CSIZE;
-	ios.c_cflag |= CS5;
-	break;
-     case 6:		// DATABITS_6
-	ios.c_cflag &= ~CSIZE;
-	ios.c_cflag |= CS6;
-	break;
-     case 7:		// DATABITS_7
-	ios.c_cflag &= ~CSIZE;
-	ios.c_cflag |= CS7;
-	break;
-     case 8:		// DATABITS_8
-	ios.c_cflag &= ~CSIZE;
-	ios.c_cflag |= CS8;
-	break;
-  }
-  // Set the stop bits. 1.5 is not supported.
-  switch (jsb) {
-     case 1:		// STOPBITS_1
-	ios.c_cflag &= ~CSTOPB;
-	break;
-     case 2:		// STOPBITS_2
-	ios.c_cflag |= CSTOPB;
-	break;
-  }
-  // Set the parity.  MARK and SPACE are not supported.
-  switch (jpar) {
-     case 0:		// PARITY_NONE
-#ifdef DEBUG
-	/* fprintf(stderr, "setSerialPortParamsNC: parity set to %s\n", "NONE"); */
-#endif /* DEBUG */
-	ios.c_cflag &= ~PARENB;
-	break;
-     case 1:		// PARITY_ODD
-#ifdef DEBUG
-	/* fprintf(stderr, "setSerialPortParamsNC: parity set to %s\n", "ODD"); */
-#endif /* DEBUG */
-	ios.c_cflag |= PARENB;
-	ios.c_cflag |= PARODD;
-	break;
-     case 2:		// PARITY_EVEN
-#ifdef DEBUG
-	/* fprintf(stderr, "setSerialPortParamsNC: parity set to %s\n", "EVEN"); */
-#endif /* DEBUG */
-	ios.c_cflag |= PARENB;
-	ios.c_cflag &= ~PARODD;
-  }
-  // Now set the desired communication characteristics.
-  rc = tcsetattr(jfd, TCSANOW, &ios);
-  return rc;
-} /* cygSerialPort_setSerialPortParamsNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygSerialStatusEventThread.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygSerialStatusEventThread.c
deleted file mode 100644
index e4c4e26..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/cygSerialStatusEventThread.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-#include <org_eclipse_soda_dk_comm_SerialStatusEventThread.h>
-#define assertexc(s)       if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-				 return;}
-static int	getPollingTime(JNIEnv *jenv) {
-  int		ptime = 5;
-  jclass	cic;
-  jfieldID	ptID;
-  jint		pt;
-  do {
-	cic = (*jenv)->FindClass(jenv, "javax/comm/CommPortIdentifier");
-	if (!cic) break;
-	ptID = (*jenv)->GetStaticFieldID(jenv, cic, "pollingTime", "I");
-	if (!ptID) break;
-	pt = (*jenv)->GetStaticIntField(jenv, cic, ptID);
-	if (pt > 0)
-		ptime = pt;
-  } while (0);
-  return ptime;
-}	// getPollingTime()
-static int getStopThreadFlag(JNIEnv *jenv, jobject jobj)
-{
-	jclass cls;
-	jfieldID fid;
-	jint stopThreadFlag;
-	
-	cls = (*jenv)->GetObjectClass(jenv, jobj);
-	if (!cls) (*jenv)->FatalError(jenv, "Missing class");
-	
-	fid = (*jenv)->GetFieldID(jenv, cls, "stopThreadFlag", "I");
-	if (fid == NULL) (*jenv)->FatalError(jenv, "Missing field");
-	
-	stopThreadFlag = (*jenv)->GetIntField(jenv, jobj, fid);
-	
-	return stopThreadFlag;	
-} 
-/*
- * Class:     org_eclipse_soda_dk_comm_SerialStatusEventThread
- * Method:    monitorSerialStatusNC
- * Signature: (I)V
- */
-void cygSerialStatusEventThread_monitorSerialStatusNC(JNIEnv *jenv, jobject jobj, jint jfd) {
-	int		pollingTime;	/* seconds */
-	int oldStatus, newStatus;
-	jfieldID notifyOnCDID, notifyOnCTSID;
-	jfieldID notifyOnDSRID, notifyOnRIID;
-	jboolean notifyOnCDFlag = JNI_FALSE;
-	jboolean notifyOnCTSFlag = JNI_FALSE;
-	jboolean notifyOnDSRFlag = JNI_FALSE;
-	jboolean notifyOnRIFlag = JNI_FALSE;
-	jclass        jc;
-	jmethodID     jm;
-	jclass	 jspc;
-	jfieldID 	 spID;
-	jobject	 jsp;
-	jboolean	 isInterruptedReturn;
-	jclass	 jspec;	/* serial port event class */
-	jfieldID	 speCDID,speCTSID, speDSRID, speRIID ;	/* field ID */
-	jint		 speCD, speCTS, speDSR, speRI;	/* field value */
-	jmethodID	 jintMethod;
-	jclass	 jthreadClass;
-	jint 		stopThreadFlag;
-	
-	pollingTime = getPollingTime(jenv);
-	/* Get the const values for all the serial port event types.*/
-	jspec = (*jenv)->FindClass(jenv, "javax/comm/SerialPortEvent");
-	assertexc(jspec);
-	speCDID = (*jenv)->GetStaticFieldID(jenv, jspec, "CD", "I");
-	assertexc(speCDID);
-	speCD = (*jenv)->GetStaticIntField(jenv, jspec, speCDID);
-	speCTSID = (*jenv)->GetStaticFieldID(jenv, jspec, "CTS", "I");
-	assertexc(speCTSID);
-	speCTS = (*jenv)->GetStaticIntField(jenv, jspec, speCTSID);
-	speDSRID = (*jenv)->GetStaticFieldID(jenv, jspec, "DSR", "I");
-	assertexc(speDSRID);
-	speDSR = (*jenv)->GetStaticIntField(jenv, jspec, speDSRID);
-	speRIID = (*jenv)->GetStaticFieldID(jenv, jspec, "RI", "I");
-	assertexc(speRIID);
-	speRI = (*jenv)->GetStaticIntField(jenv, jspec, speRIID);
-	/* Get the serial port object.*/
-	jc = (*jenv)->GetObjectClass(jenv, jobj);
-	assertexc(jc);
-	spID = (*jenv)->GetFieldID(jenv, jc, "serialPort", "Lorg/eclipse/soda/dk/comm/NSSerialPort;");
-	assertexc(spID);
-	jsp = (*jenv)->GetObjectField(jenv, jobj, spID);
-	assertexc(jsp);
-	/* Get the class ID of the serial port object.*/
-	jspc = (*jenv)->GetObjectClass(jenv, jsp);
-	assertexc(jspc);
-	notifyOnCDID = (*jenv)->GetFieldID(jenv, jspc, "notifyOnCDFlag", "Z");
-	assertexc(notifyOnCDID);
-	notifyOnCTSID = (*jenv)->GetFieldID(jenv, jspc, "notifyOnCTSFlag", "Z");
-	assertexc(notifyOnCTSID);
-	notifyOnDSRID = (*jenv)->GetFieldID(jenv, jspc, "notifyOnDSRFlag", "Z");
-	assertexc(notifyOnDSRID);
-	notifyOnRIID = (*jenv)->GetFieldID(jenv, jspc, "notifyOnRIFlag", "Z");
-	assertexc(notifyOnRIID);
-	/* Get access to the method to add a port.*/
-	jm = (*jenv)->GetMethodID(jenv, jspc, "reportSerialEvent", "(IZZ)V");
-	assertexc(jm);
-	/* Get access to the interrupted method.*/
-	jthreadClass = (*jenv)->FindClass(jenv, "java/lang/Thread");
-	assertexc(jthreadClass);
-	jintMethod = (*jenv)->GetMethodID(jenv, jthreadClass, "isInterrupted", "()Z");
-	assertexc(jintMethod);
-	if (ioctl(jfd, TIOCMGET, &oldStatus) < 0) {
-		(void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_SerialStatusEventThread_monitorSerialStatusNC: ioctl error %d!\n", errno);
-		return;
-	}
-	while(1)
-	{
-		sleep(pollingTime);
-		stopThreadFlag = getStopThreadFlag(jenv, jobj);
-		if (stopThreadFlag)
-			break;
-		/* check to see if this thread has been interrupted */
-		isInterruptedReturn = (*jenv)->CallBooleanMethod(jenv,jobj,jintMethod);
-		if(isInterruptedReturn == JNI_TRUE)
-			break;
-		notifyOnCDFlag = (*jenv)->GetBooleanField(jenv, jsp, notifyOnCDID);
-		notifyOnCTSFlag = (*jenv)->GetBooleanField(jenv, jsp, notifyOnCTSID);
-		notifyOnDSRFlag = (*jenv)->GetBooleanField(jenv, jsp, notifyOnDSRID);
-		notifyOnRIFlag = (*jenv)->GetBooleanField(jenv, jsp, notifyOnRIID);
-		if (ioctl(jfd, TIOCMGET, &newStatus) < 0) {
-			(void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_SerialStatusEventThread_monitorSerialStatusNC: ioctl error %d!\n", errno);
-			return;
-		}
-		if (newStatus == oldStatus)
-			continue;
-		if((newStatus & TIOCM_CD) != (oldStatus & TIOCM_CD))
-		{
-			if(notifyOnCDFlag)        /* need to use jsp to access this field */
-				(*jenv)->CallVoidMethod(jenv, jsp, jm, speCD,
-				    (oldStatus & TIOCM_CD)? JNI_TRUE:JNI_FALSE,(newStatus & TIOCM_CD)? JNI_TRUE:JNI_FALSE);
-		}
-		if((newStatus & TIOCM_CTS) != (oldStatus & TIOCM_CTS))
-		{
-			if(notifyOnCTSFlag)
-				(*jenv)->CallVoidMethod(jenv, jsp, jm, speCTS,
-				    (oldStatus & TIOCM_CTS)? JNI_TRUE:JNI_FALSE,(newStatus & TIOCM_CTS)? JNI_TRUE:JNI_FALSE);
-		}
-		if((newStatus & TIOCM_DSR) != (oldStatus & TIOCM_DSR))
-		{
-			if(notifyOnDSRFlag)
-				(*jenv)->CallVoidMethod(jenv, jsp, jm, speDSR,
-				    (oldStatus & TIOCM_DSR)? JNI_TRUE:JNI_FALSE,(newStatus & TIOCM_DSR)? JNI_TRUE:JNI_FALSE);
-		}
-		if((newStatus & TIOCM_RI) != (oldStatus & TIOCM_RI))
-		{
-			if(notifyOnRIFlag)
-				(*jenv)->CallVoidMethod(jenv, jsp, jm, speRI,
-				    (oldStatus & TIOCM_RI)? JNI_TRUE:JNI_FALSE,(newStatus & TIOCM_RI)? JNI_TRUE:JNI_FALSE);
-		}
-		oldStatus = newStatus;
-	}	/* end of while() */
-} /* cygSerialStatusEventThread_monitorSerialStatusNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm.h
deleted file mode 100644
index 5a8955d..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-union semuni {
-  int val;                   /* value for SETVAL             */
-  struct semid_ds *buf;      /* buffer for IPC_STAT, IPC_SET */
-  unsigned short int *array; /* array for GETALL, SETALL     */
-  struct seminfo *__buf;     /* buffer for IPC_INFO          */
-};
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm.lib b/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm.lib
deleted file mode 100644
index 531ff14..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm.lib
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm.map b/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm.map
deleted file mode 100644
index fcbfbe8..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm.map
+++ /dev/null
@@ -1,229 +0,0 @@
- dkcomm
-
- Timestamp is 45ad528b (Tue Jan 16 17:32:43 2007)
-
- Preferred load address is 11300000
-
- Start         Length     Name                   Class
- 0001:00000000 000025c8H .text                   CODE
- 0002:00000000 000000a4H .idata$5                DATA
- 0002:000000b0 00000588H .rdata                  DATA
- 0002:00000638 00000048H .rdata$debug            DATA
- 0002:00000680 00000004H .rdata$sxdata           DATA
- 0002:00000684 00000004H .rtc$IAA                DATA
- 0002:00000688 00000004H .rtc$IZZ                DATA
- 0002:0000068c 00000004H .rtc$TAA                DATA
- 0002:00000690 00000004H .rtc$TZZ                DATA
- 0002:00000694 0000003cH .idata$2                DATA
- 0002:000006d0 00000014H .idata$3                DATA
- 0002:000006e4 000000a4H .idata$4                DATA
- 0002:00000788 00000232H .idata$6                DATA
- 0002:000009c0 00000792H .edata                  DATA
- 0003:00000000 00000004H .CRT$XCA                DATA
- 0003:00000004 00000004H .CRT$XCZ                DATA
- 0003:00000008 00000004H .CRT$XIA                DATA
- 0003:0000000c 00000004H .CRT$XIZ                DATA
- 0003:00000010 00000004H .data                   DATA
- 0003:00000014 00000014H .bss                    DATA
-
-  Address         Publics by Value              Rva+Base     Lib:Object
-
- 0000:00000001       ___safe_se_handler_count   00000001     <absolute>
- 0001:00000000       _Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC@12 11301000 f   CommPortIdentifier.obj
- 0001:00000020       _Java_org_eclipse_soda_dk_comm_NSCommDriver_discoverDevicesNC@8 11301020 f   NSCommDriver.obj
- 0001:00000040       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceOneByteNC@8 11301040 f   NSDeviceInputStream.obj
- 0001:00000060       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceNC@20 11301060 f   NSDeviceInputStream.obj
- 0001:00000090       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_getReadCountNC@8 11301090 f   NSDeviceInputStream.obj
- 0001:000000b0       _Java_org_eclipse_soda_dk_comm_NSDeviceOutputStream_writeDeviceNC@20 113010b0 f   NSDeviceOutputStream.obj
- 0001:000000e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_closeDeviceNC@16 113010e0 f   NSSerialPort.obj
- 0001:00000100       _Java_org_eclipse_soda_dk_comm_NSSerialPort_openDeviceNC@16 11301100 f   NSSerialPort.obj
- 0001:00000120       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setFlowControlModeNC@16 11301120 f   NSSerialPort.obj
- 0001:00000140       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getFlowControlModeNC@12 11301140 f   NSSerialPort.obj
- 0001:00000160       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getBaudRateNC@12 11301160 f   NSSerialPort.obj
- 0001:00000180       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getDataBitsNC@12 11301180 f   NSSerialPort.obj
- 0001:000001a0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getStopBitsNC@12 113011a0 f   NSSerialPort.obj
- 0001:000001c0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getParityNC@12 113011c0 f   NSSerialPort.obj
- 0001:000001e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setDTRNC@12 113011e0 f   NSSerialPort.obj
- 0001:00000200       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isDTRNC@8 11301200 f   NSSerialPort.obj
- 0001:00000220       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setRTSNC@12 11301220 f   NSSerialPort.obj
- 0001:00000240       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isRTSNC@8 11301240 f   NSSerialPort.obj
- 0001:00000260       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isCTSNC@8 11301260 f   NSSerialPort.obj
- 0001:00000280       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isDSRNC@8 11301280 f   NSSerialPort.obj
- 0001:000002a0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isRINC@8 113012a0 f   NSSerialPort.obj
- 0001:000002c0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isCDNC@8 113012c0 f   NSSerialPort.obj
- 0001:000002e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_sendBreakNC@16 113012e0 f   NSSerialPort.obj
- 0001:000002f0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setSerialPortParamsNC@28 113012f0 f   NSSerialPort.obj
- 0001:00000320       _Java_org_eclipse_soda_dk_comm_SerialDataEventThread_monitorSerialDataNC@12 11301320 f   SerialDataEventThread.obj
- 0001:00000340       _Java_org_eclipse_soda_dk_comm_SerialStatusEventThread_monitorSerialStatusNC@12 11301340 f   SerialStatusEventThread.obj
- 0001:00000360       _w32CommDriver_discoverDevicesNC 11301360 f   w32CommDriver.obj
- 0001:00000510       _w32CommPortIdentifier_monitorInterJVMDeviceAccessNC 11301510 f   w32CommPortIdentifier.obj
- 0001:00000770       _w32DeviceInputStream_readDeviceOneByteNC 11301770 f   w32DeviceInputStream.obj
- 0001:00000940       _w32DeviceInputStream_readDeviceNC 11301940 f   w32DeviceInputStream.obj
- 0001:00000c10       _w32DeviceInputStream_getReadCountNC 11301c10 f   w32DeviceInputStream.obj
- 0001:00000d30       _w32DeviceOutputStream_writeDeviceNC 11301d30 f   w32DeviceOutputStream.obj
- 0001:00000f70       _w32SerialDataEventThread_monitorSerialDataNC 11301f70 f   w32SerialDataEventThread.obj
- 0001:00001250       _w32getfd                  11302250 f   w32SerialPort.obj
- 0001:000012b0       _w32SerialPort_closeDeviceNC 113022b0 f   w32SerialPort.obj
- 0001:000012c0       _w32SerialPort_openDeviceNC 113022c0 f   w32SerialPort.obj
- 0001:00001350       _w32SerialPort_setFlowControlModeNC 11302350 f   w32SerialPort.obj
- 0001:00001440       _w32SerialPort_getFlowControlModeNC 11302440 f   w32SerialPort.obj
- 0001:00001500       _w32SerialPort_getBaudRateNC 11302500 f   w32SerialPort.obj
- 0001:00001560       _w32SerialPort_getDataBitsNC 11302560 f   w32SerialPort.obj
- 0001:000015c0       _w32SerialPort_getStopBitsNC 113025c0 f   w32SerialPort.obj
- 0001:00001640       _w32SerialPort_getParityNC 11302640 f   w32SerialPort.obj
- 0001:00001700       _w32SerialPort_setDTRNC    11302700 f   w32SerialPort.obj
- 0001:000017b0       _w32SerialPort_isDTRNC     113027b0 f   w32SerialPort.obj
- 0001:00001840       _w32SerialPort_setRTSNC    11302840 f   w32SerialPort.obj
- 0001:00001900       _w32SerialPort_isRTSNC     11302900 f   w32SerialPort.obj
- 0001:00001990       _w32SerialPort_isCTSNC     11302990 f   w32SerialPort.obj
- 0001:000019d0       _w32SerialPort_isDSRNC     113029d0 f   w32SerialPort.obj
- 0001:00001a10       _w32SerialPort_isRINC      11302a10 f   w32SerialPort.obj
- 0001:00001a50       _w32SerialPort_isCDNC      11302a50 f   w32SerialPort.obj
- 0001:00001a90       _w32SerialPort_setSerialPortParamsNC 11302a90 f   w32SerialPort.obj
- 0001:00001c50       _w32SerialStatusEventThread_monitorSerialStatusNC 11302c50 f   w32SerialStatusEventThread.obj
- 0001:000021b0       _iveSerThrow               113031b0 f   NSCommLOG.obj
- 0001:00002200       _iveSerThrowWin            11303200 f   NSCommLOG.obj
- 0001:000022c0       _iveSerClearCommErrors     113032c0 f   NSCommLOG.obj
- 0001:000022dc       ___WSAFDIsSet@8            113032dc f   ws2_32:WS2_32.dll
- 0001:000022e2       __CRT_INIT@12              113032e2 f   MSVCRT:crtdll.obj
- 0001:000023a0       __DllMainCRTStartup@12     113033a0 f   MSVCRT:crtdll.obj
- 0001:00002484       __initterm                 11303484 f   MSVCRT:MSVCR71.dll
- 0001:0000248a       __onexit                   1130348a f   MSVCRT:atonexit.obj
- 0001:000024b0       _atexit                    113034b0 f   MSVCRT:atonexit.obj
- 0001:000024c2       __RTC_Initialize           113034c2 f   MSVCRT:initsect.obj
- 0001:00002506       __RTC_Terminate            11303506 f   MSVCRT:initsect.obj
- 0001:0000254a       ___CppXcptFilter           1130354a f   MSVCRT:MSVCR71.dll
- 0001:00002550       _DllMain@12                11303550 f   MSVCRT:dllmain.obj
- 0001:00002570       __SEH_prolog               11303570 f   MSVCRT:sehprolg.obj
- 0001:000025ab       __SEH_epilog               113035ab f   MSVCRT:sehprolg.obj
- 0001:000025bc       __except_handler3          113035bc f   MSVCRT:MSVCR71.dll
- 0001:000025c2       ___dllonexit               113035c2 f   MSVCRT:MSVCR71.dll
- 0002:00000000       __imp__GetCommState@8      11304000     kernel32:KERNEL32.dll
- 0002:00000004       __imp__ClearCommError@12   11304004     kernel32:KERNEL32.dll
- 0002:00000008       __imp__Sleep@4             11304008     kernel32:KERNEL32.dll
- 0002:0000000c       __imp__GetOverlappedResult@16 1130400c     kernel32:KERNEL32.dll
- 0002:00000010       __imp__CloseHandle@4       11304010     kernel32:KERNEL32.dll
- 0002:00000014       __imp__ReadFile@20         11304014     kernel32:KERNEL32.dll
- 0002:00000018       __imp__GetLastError@0      11304018     kernel32:KERNEL32.dll
- 0002:0000001c       __imp__CreateEventA@16     1130401c     kernel32:KERNEL32.dll
- 0002:00000020       __imp__GlobalUnlock@4      11304020     kernel32:KERNEL32.dll
- 0002:00000024       __imp__GlobalHandle@4      11304024     kernel32:KERNEL32.dll
- 0002:00000028       __imp__GlobalFree@4        11304028     kernel32:KERNEL32.dll
- 0002:0000002c       __imp__GlobalLock@4        1130402c     kernel32:KERNEL32.dll
- 0002:00000030       __imp__GlobalAlloc@8       11304030     kernel32:KERNEL32.dll
- 0002:00000034       __imp__WaitCommEvent@12    11304034     kernel32:KERNEL32.dll
- 0002:00000038       __imp__SetCommMask@8       11304038     kernel32:KERNEL32.dll
- 0002:0000003c       __imp__GetCommMask@8       1130403c     kernel32:KERNEL32.dll
- 0002:00000040       __imp__WriteFile@20        11304040     kernel32:KERNEL32.dll
- 0002:00000044       __imp__CreateFileA@28      11304044     kernel32:KERNEL32.dll
- 0002:00000048       __imp__SetCommState@8      11304048     kernel32:KERNEL32.dll
- 0002:0000004c       __imp__DisableThreadLibraryCalls@4 1130404c     kernel32:KERNEL32.dll
- 0002:00000050       __imp__GetCommModemStatus@8 11304050     kernel32:KERNEL32.dll
- 0002:00000054       __imp__SetCommTimeouts@8   11304054     kernel32:KERNEL32.dll
- 0002:00000058       __imp__FormatMessageA@28   11304058     kernel32:KERNEL32.dll
- 0002:0000005c       \177KERNEL32_NULL_THUNK_DATA 1130405c     kernel32:KERNEL32.dll
- 0002:00000060       __imp___initterm           11304060     MSVCRT:MSVCR71.dll
- 0002:00000064       __imp___onexit             11304064     MSVCRT:MSVCR71.dll
- 0002:00000068       __imp__printf              11304068     MSVCRT:MSVCR71.dll
- 0002:0000006c       __imp__fprintf             1130406c     MSVCRT:MSVCR71.dll
- 0002:00000070       __imp___iob                11304070     MSVCRT:MSVCR71.dll
- 0002:00000074       __imp___errno              11304074     MSVCRT:MSVCR71.dll
- 0002:00000078       __imp__sprintf             11304078     MSVCRT:MSVCR71.dll
- 0002:0000007c       __imp__free                1130407c     MSVCRT:MSVCR71.dll
- 0002:00000080       __imp__malloc              11304080     MSVCRT:MSVCR71.dll
- 0002:00000084       __imp___adjust_fdiv        11304084     MSVCRT:MSVCR71.dll
- 0002:00000088       __imp____CppXcptFilter     11304088     MSVCRT:MSVCR71.dll
- 0002:0000008c       __imp___except_handler3    1130408c     MSVCRT:MSVCR71.dll
- 0002:00000090       __imp____dllonexit         11304090     MSVCRT:MSVCR71.dll
- 0002:00000094       \177MSVCR71_NULL_THUNK_DATA 11304094     MSVCRT:MSVCR71.dll
- 0002:00000098       __imp__select@20           11304098     ws2_32:WS2_32.dll
- 0002:0000009c       __imp____WSAFDIsSet@8      1130409c     ws2_32:WS2_32.dll
- 0002:000000a0       \177WS2_32_NULL_THUNK_DATA 113040a0     ws2_32:WS2_32.dll
- 0002:000000cc       ??_C@_0BA@DKOKNLIO@addDeviceToList?$AA@ 113040cc     w32CommDriver.obj
- 0002:000000dc       ??_C@_0CK@PFBBOMIO@?$CILjava?1lang?1String?$DLILjava?1lang?1S@ 113040dc     w32CommDriver.obj
- 0002:00000108       ??_C@_0BB@JPFAMGLG@?6?6?$CFd?5asserted?$CB?6?6?$AA@ 11304108     w32CommDriver.obj
- 0002:0000011c       ??_C@_04CGJBIPHE@COM4?$AA@ 1130411c     w32CommDriver.obj
- 0002:00000124       ??_C@_04GJNABJLD@COM3?$AA@ 11304124     w32CommDriver.obj
- 0002:0000012c       ??_C@_04MCDLDDNG@LPT1?$AA@ 1130412c     w32CommDriver.obj
- 0002:00000134       ??_C@_04HAMLCIPC@COM2?$AA@ 11304134     w32CommDriver.obj
- 0002:0000013c       ??_C@_04FLOGHLDB@COM1?$AA@ 1130413c     w32CommDriver.obj
- 0002:00000144       ??_C@_0M@MACEOJAN@pollingTime?$AA@ 11304144     w32CommPortIdentifier.obj
- 0002:00000150       ??_C@_01JPJNBJEM@I?$AA@    11304150     w32CommPortIdentifier.obj
- 0002:00000154       ??_C@_0BO@CPNLBCEJ@javax?1comm?1CommPortIdentifier?$AA@ 11304154     w32CommPortIdentifier.obj
- 0002:00000174       ??_C@_0O@NBKAIMLM@isInterrupted?$AA@ 11304174     w32CommPortIdentifier.obj
- 0002:00000184       ??_C@_03MMPFGPID@?$CI?$CJZ?$AA@ 11304184     w32CommPortIdentifier.obj
- 0002:00000188       ??_C@_0BB@NOKBFPFO@java?1lang?1Thread?$AA@ 11304188     w32CommPortIdentifier.obj
- 0002:0000019c       ??_C@_04MEMAJGDJ@name?$AA@ 1130419c     w32CommPortIdentifier.obj
- 0002:000001a4       ??_C@_0BD@JFADHEFE@Ljava?1lang?1String?$DL?$AA@ 113041a4     w32CommPortIdentifier.obj
- 0002:000001b8       ??_C@_0BJ@EKOOIJDM@PORT_OWNERSHIP_REQUESTED?$AA@ 113041b8     w32CommPortIdentifier.obj
- 0002:000001d4       ??_C@_0N@GCHANIDN@PORT_UNOWNED?$AA@ 113041d4     w32CommPortIdentifier.obj
- 0002:000001e4       ??_C@_0L@DGJAIDMO@PORT_OWNED?$AA@ 113041e4     w32CommPortIdentifier.obj
- 0002:000001f0       ??_C@_0CF@LEBHMMNO@javax?1comm?1CommPortOwnershipList@ 113041f0     w32CommPortIdentifier.obj
- 0002:00000218       ??_C@_0BD@DJGIFLED@fireOwnershipEvent?$AA@ 11304218     w32CommPortIdentifier.obj
- 0002:0000022c       ??_C@_04PFANPMCN@?$CII?$CJV?$AA@ 1130422c     w32CommPortIdentifier.obj
- 0002:00000234       ??_C@_0BD@GBHBBJKK@Error?5reading?5data?$AA@ 11304234     w32DeviceInputStream.obj
- 0002:00000248       ??_C@_0BP@JHKNIHPB@Error?5creating?5event?5semaphore?$AA@ 11304248     w32DeviceInputStream.obj
- 0002:00000268       ??_C@_02ENHFDPNM@fd?$AA@   11304268     w32DeviceInputStream.obj
- 0002:0000026b       ??_C@_00CNPNBAHC@?$AA@     1130426b     w32DeviceInputStream.obj
- 0002:0000026c       ??_C@_0BE@EBAPEBGJ@java?1io?1IOException?$AA@ 1130426c     w32DeviceInputStream.obj
- 0002:00000280       ??_C@_07DFPBEPEC@tmoDone?$AA@ 11304280     w32DeviceInputStream.obj
- 0002:00000288       ??_C@_01POHCFINO@Z?$AA@    11304288     w32DeviceInputStream.obj
- 0002:0000028c       ??_C@_03JIIMDIDD@tmo?$AA@  1130428c     w32DeviceInputStream.obj
- 0002:00000290       ??_C@_0BD@JJLDMOGH@Error?5writing?5data?$AA@ 11304290     w32DeviceOutputStream.obj
- 0002:000002a4       ??_C@_0BL@GHKGOAFM@Error?5writing?5pending?5data?$AA@ 113042a4     w32DeviceOutputStream.obj
- 0002:000002c0       ??_C@_0BB@BOAIAAB@notifyOnDataFlag?$AA@ 113042c0     w32SerialDataEventThread.obj
- 0002:000002d4       ??_C@_0BC@HPCHKFFH@reportSerialEvent?$AA@ 113042d4     w32SerialDataEventThread.obj
- 0002:000002e8       ??_C@_06LLPILDMP@?$CIIZZ?$CJV?$AA@ 113042e8     w32SerialDataEventThread.obj
- 0002:000002f0       ??_C@_0L@MAAAEFDE@serialPort?$AA@ 113042f0     w32SerialDataEventThread.obj
- 0002:000002fc       ??_C@_0CI@KKHBCPKN@Lorg?1eclipse?1soda?1dk?1comm?1NSSeri@ 113042fc     w32SerialDataEventThread.obj
- 0002:00000324       ??_C@_0P@KBKADJBM@DATA_AVAILABLE?$AA@ 11304324     w32SerialDataEventThread.obj
- 0002:00000334       ??_C@_0BL@ILADHPFC@javax?1comm?1SerialPortEvent?$AA@ 11304334     w32SerialDataEventThread.obj
- 0002:00000350       ??_C@_0BD@OHJNHKHO@Error?5opening?5port?$AA@ 11304350     w32SerialPort.obj
- 0002:00000364       ??_C@_0BC@DLMHNEGO@portName?5is?5NULL?6?$AA@ 11304364     w32SerialPort.obj
- 0002:00000378       ??_C@_0DE@GKAMPLLG@w32SerialPort_setDTRNC?$CI?$CJ?5failed?5@ 11304378     w32SerialPort.obj
- 0002:000003ac       ??_C@_0BG@HPDKJDLF@SetCommState?$CI?$CJ?5failed?$AA@ 113043ac     w32SerialPort.obj
- 0002:000003c4       ??_C@_0BG@IKGMEKPE@GetCommState?$CI?$CJ?5failed?$AA@ 113043c4     w32SerialPort.obj
- 0002:000003dc       ??_C@_0DE@OFFEFAE@w32SerialPort_setDTRNC?$CI?$CJ?5failed?5@ 113043dc     w32SerialPort.obj
- 0002:00000410       ??_C@_0DD@GCHOIIHP@w32SerialPort_isRTSNC?$CI?$CJ?5failed?5t@ 11304410     w32SerialPort.obj
- 0002:00000444       ??_C@_0BJ@BEHBIPCI@SetCommTimeouts?$CI?$CJ?5failed?$AA@ 11304444     w32SerialPort.obj
- 0002:00000460       ??_C@_0ED@DPOFFCNL@w32SerialStatusEventThread_monit@ 11304460     w32SerialStatusEventThread.obj
- 0002:000004a8       ??_C@_0FC@KANLAHLN@w32SerialStatusEventThread_monit@ 113044a8     w32SerialStatusEventThread.obj
- 0002:000004fc       ??_C@_0P@LNBOEMLD@notifyOnRIFlag?$AA@ 113044fc     w32SerialStatusEventThread.obj
- 0002:0000050c       ??_C@_0BA@OEMCCJHB@notifyOnDSRFlag?$AA@ 1130450c     w32SerialStatusEventThread.obj
- 0002:0000051c       ??_C@_0BA@OAPMMNED@notifyOnCTSFlag?$AA@ 1130451c     w32SerialStatusEventThread.obj
- 0002:0000052c       ??_C@_0P@MACJMIBH@notifyOnCDFlag?$AA@ 1130452c     w32SerialStatusEventThread.obj
- 0002:0000053c       ??_C@_02EODNCIHP@RI?$AA@   1130453c     w32SerialStatusEventThread.obj
- 0002:00000540       ??_C@_03CMLKEALG@DSR?$AA@  11304540     w32SerialStatusEventThread.obj
- 0002:00000544       ??_C@_03KNDJFPML@CTS?$AA@  11304544     w32SerialStatusEventThread.obj
- 0002:00000548       ??_C@_02OGHHJPHF@CD?$AA@   11304548     w32SerialStatusEventThread.obj
- 0002:0000054c       ??_C@_0BO@JOOJOFDP@javax?1comm?1PortInUseException?$AA@ 1130454c     NSCommLOG.obj
- 0002:0000056c       ??_C@_0BP@BMFPBIGF@javax?1comm?1NoSuchPortException?$AA@ 1130456c     NSCommLOG.obj
- 0002:0000058c       ??_C@_0BP@KFMBBGE@javax?1comm?1SerialPortException?$AA@ 1130458c     NSCommLOG.obj
- 0002:000005ac       ??_C@_0O@JKHHKLAA@?$CFs?$DL?5rc?$DN?$CFd?0?5?$CFs?$AA@ 113045ac     NSCommLOG.obj
- 0002:000005f0       __load_config_used         113045f0     MSVCRT:loadcfg.obj
- 0002:00000680       ___safe_se_handler_table   11304680     <linker-defined>
- 0002:00000684       ___rtc_iaa                 11304684     MSVCRT:initsect.obj
- 0002:00000688       ___rtc_izz                 11304688     MSVCRT:initsect.obj
- 0002:0000068c       ___rtc_taa                 1130468c     MSVCRT:initsect.obj
- 0002:00000690       ___rtc_tzz                 11304690     MSVCRT:initsect.obj
- 0002:00000694       __IMPORT_DESCRIPTOR_WS2_32 11304694     ws2_32:WS2_32.dll
- 0002:000006a8       __IMPORT_DESCRIPTOR_KERNEL32 113046a8     kernel32:KERNEL32.dll
- 0002:000006bc       __IMPORT_DESCRIPTOR_MSVCR71 113046bc     MSVCRT:MSVCR71.dll
- 0002:000006d0       __NULL_IMPORT_DESCRIPTOR   113046d0     ws2_32:WS2_32.dll
- 0003:00000000       ___xc_a                    11306000     MSVCRT:cinitexe.obj
- 0003:00000004       ___xc_z                    11306004     MSVCRT:cinitexe.obj
- 0003:00000008       ___xi_a                    11306008     MSVCRT:cinitexe.obj
- 0003:0000000c       ___xi_z                    1130600c     MSVCRT:cinitexe.obj
- 0003:00000010       ___security_cookie         11306010     MSVCRT:seccook.obj
- 0003:00000018       __adjust_fdiv              11306018     <common>
- 0003:0000001c       ___onexitend               1130601c     <common>
- 0003:00000020       ___onexitbegin             11306020     <common>
- 0003:00000024       __pRawDllMain              11306024     <common>
-
- entry point at        0001:000023a0
-
- Static symbols
-
- 0001:000004c0       _getPollingTime            113014c0 f   w32CommPortIdentifier.obj
- 0001:00000f20       _getPollingTime            11301f20 f   w32SerialDataEventThread.obj
- 0001:00001c00       _getPollingTime            11302c00 f   w32SerialStatusEventThread.obj
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm22.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm22.h
deleted file mode 100644
index 5a8955d..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm22.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-union semuni {
-  int val;                   /* value for SETVAL             */
-  struct semid_ds *buf;      /* buffer for IPC_STAT, IPC_SET */
-  unsigned short int *array; /* array for GETALL, SETALL     */
-  struct seminfo *__buf;     /* buffer for IPC_INFO          */
-};
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm22.lib b/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm22.lib
deleted file mode 100644
index 5cff58e..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm22.lib
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm22.map b/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm22.map
deleted file mode 100644
index 7f0989d..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/dkcomm22.map
+++ /dev/null
@@ -1,229 +0,0 @@
- dkcomm22
-
- Timestamp is 45a7c2fc (Fri Jan 12 12:18:52 2007)
-
- Preferred load address is 11300000
-
- Start         Length     Name                   Class
- 0001:00000000 000025c8H .text                   CODE
- 0002:00000000 000000a4H .idata$5                DATA
- 0002:000000b0 00000588H .rdata                  DATA
- 0002:00000638 0000004aH .rdata$debug            DATA
- 0002:00000690 00000004H .rdata$sxdata           DATA
- 0002:00000694 00000004H .rtc$IAA                DATA
- 0002:00000698 00000004H .rtc$IZZ                DATA
- 0002:0000069c 00000004H .rtc$TAA                DATA
- 0002:000006a0 00000004H .rtc$TZZ                DATA
- 0002:000006a4 0000003cH .idata$2                DATA
- 0002:000006e0 00000014H .idata$3                DATA
- 0002:000006f4 000000a4H .idata$4                DATA
- 0002:00000798 00000232H .idata$6                DATA
- 0002:000009d0 00000794H .edata                  DATA
- 0003:00000000 00000004H .CRT$XCA                DATA
- 0003:00000004 00000004H .CRT$XCZ                DATA
- 0003:00000008 00000004H .CRT$XIA                DATA
- 0003:0000000c 00000004H .CRT$XIZ                DATA
- 0003:00000010 00000004H .data                   DATA
- 0003:00000014 00000014H .bss                    DATA
-
-  Address         Publics by Value              Rva+Base     Lib:Object
-
- 0000:00000001       ___safe_se_handler_count   00000001     <absolute>
- 0001:00000000       _Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC@12 11301000 f   CommPortIdentifier.obj
- 0001:00000020       _Java_org_eclipse_soda_dk_comm_NSCommDriver_discoverDevicesNC@8 11301020 f   NSCommDriver.obj
- 0001:00000040       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceOneByteNC@8 11301040 f   NSDeviceInputStream.obj
- 0001:00000060       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceNC@20 11301060 f   NSDeviceInputStream.obj
- 0001:00000090       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_getReadCountNC@8 11301090 f   NSDeviceInputStream.obj
- 0001:000000b0       _Java_org_eclipse_soda_dk_comm_NSDeviceOutputStream_writeDeviceNC@20 113010b0 f   NSDeviceOutputStream.obj
- 0001:000000e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_closeDeviceNC@16 113010e0 f   NSSerialPort.obj
- 0001:00000100       _Java_org_eclipse_soda_dk_comm_NSSerialPort_openDeviceNC@16 11301100 f   NSSerialPort.obj
- 0001:00000120       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setFlowControlModeNC@16 11301120 f   NSSerialPort.obj
- 0001:00000140       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getFlowControlModeNC@12 11301140 f   NSSerialPort.obj
- 0001:00000160       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getBaudRateNC@12 11301160 f   NSSerialPort.obj
- 0001:00000180       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getDataBitsNC@12 11301180 f   NSSerialPort.obj
- 0001:000001a0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getStopBitsNC@12 113011a0 f   NSSerialPort.obj
- 0001:000001c0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getParityNC@12 113011c0 f   NSSerialPort.obj
- 0001:000001e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setDTRNC@12 113011e0 f   NSSerialPort.obj
- 0001:00000200       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isDTRNC@8 11301200 f   NSSerialPort.obj
- 0001:00000220       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setRTSNC@12 11301220 f   NSSerialPort.obj
- 0001:00000240       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isRTSNC@8 11301240 f   NSSerialPort.obj
- 0001:00000260       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isCTSNC@8 11301260 f   NSSerialPort.obj
- 0001:00000280       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isDSRNC@8 11301280 f   NSSerialPort.obj
- 0001:000002a0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isRINC@8 113012a0 f   NSSerialPort.obj
- 0001:000002c0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isCDNC@8 113012c0 f   NSSerialPort.obj
- 0001:000002e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_sendBreakNC@16 113012e0 f   NSSerialPort.obj
- 0001:000002f0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setSerialPortParamsNC@28 113012f0 f   NSSerialPort.obj
- 0001:00000320       _Java_org_eclipse_soda_dk_comm_SerialDataEventThread_monitorSerialDataNC@12 11301320 f   SerialDataEventThread.obj
- 0001:00000340       _Java_org_eclipse_soda_dk_comm_SerialStatusEventThread_monitorSerialStatusNC@12 11301340 f   SerialStatusEventThread.obj
- 0001:00000360       _w32CommDriver_discoverDevicesNC 11301360 f   w32CommDriver.obj
- 0001:00000510       _w32CommPortIdentifier_monitorInterJVMDeviceAccessNC 11301510 f   w32CommPortIdentifier.obj
- 0001:00000770       _w32DeviceInputStream_readDeviceOneByteNC 11301770 f   w32DeviceInputStream.obj
- 0001:00000940       _w32DeviceInputStream_readDeviceNC 11301940 f   w32DeviceInputStream.obj
- 0001:00000c10       _w32DeviceInputStream_getReadCountNC 11301c10 f   w32DeviceInputStream.obj
- 0001:00000d30       _w32DeviceOutputStream_writeDeviceNC 11301d30 f   w32DeviceOutputStream.obj
- 0001:00000f70       _w32SerialDataEventThread_monitorSerialDataNC 11301f70 f   w32SerialDataEventThread.obj
- 0001:00001250       _w32getfd                  11302250 f   w32SerialPort.obj
- 0001:000012b0       _w32SerialPort_closeDeviceNC 113022b0 f   w32SerialPort.obj
- 0001:000012c0       _w32SerialPort_openDeviceNC 113022c0 f   w32SerialPort.obj
- 0001:00001350       _w32SerialPort_setFlowControlModeNC 11302350 f   w32SerialPort.obj
- 0001:00001440       _w32SerialPort_getFlowControlModeNC 11302440 f   w32SerialPort.obj
- 0001:00001500       _w32SerialPort_getBaudRateNC 11302500 f   w32SerialPort.obj
- 0001:00001560       _w32SerialPort_getDataBitsNC 11302560 f   w32SerialPort.obj
- 0001:000015c0       _w32SerialPort_getStopBitsNC 113025c0 f   w32SerialPort.obj
- 0001:00001640       _w32SerialPort_getParityNC 11302640 f   w32SerialPort.obj
- 0001:00001700       _w32SerialPort_setDTRNC    11302700 f   w32SerialPort.obj
- 0001:000017b0       _w32SerialPort_isDTRNC     113027b0 f   w32SerialPort.obj
- 0001:00001840       _w32SerialPort_setRTSNC    11302840 f   w32SerialPort.obj
- 0001:00001900       _w32SerialPort_isRTSNC     11302900 f   w32SerialPort.obj
- 0001:00001990       _w32SerialPort_isCTSNC     11302990 f   w32SerialPort.obj
- 0001:000019d0       _w32SerialPort_isDSRNC     113029d0 f   w32SerialPort.obj
- 0001:00001a10       _w32SerialPort_isRINC      11302a10 f   w32SerialPort.obj
- 0001:00001a50       _w32SerialPort_isCDNC      11302a50 f   w32SerialPort.obj
- 0001:00001a90       _w32SerialPort_setSerialPortParamsNC 11302a90 f   w32SerialPort.obj
- 0001:00001c50       _w32SerialStatusEventThread_monitorSerialStatusNC 11302c50 f   w32SerialStatusEventThread.obj
- 0001:000021b0       _iveSerThrow               113031b0 f   NSCommLOG.obj
- 0001:00002200       _iveSerThrowWin            11303200 f   NSCommLOG.obj
- 0001:000022c0       _iveSerClearCommErrors     113032c0 f   NSCommLOG.obj
- 0001:000022dc       ___WSAFDIsSet@8            113032dc f   ws2_32:WS2_32.dll
- 0001:000022e2       __CRT_INIT@12              113032e2 f   MSVCRT:crtdll.obj
- 0001:000023a0       __DllMainCRTStartup@12     113033a0 f   MSVCRT:crtdll.obj
- 0001:00002484       __initterm                 11303484 f   MSVCRT:MSVCR71.dll
- 0001:0000248a       __onexit                   1130348a f   MSVCRT:atonexit.obj
- 0001:000024b0       _atexit                    113034b0 f   MSVCRT:atonexit.obj
- 0001:000024c2       __RTC_Initialize           113034c2 f   MSVCRT:initsect.obj
- 0001:00002506       __RTC_Terminate            11303506 f   MSVCRT:initsect.obj
- 0001:0000254a       ___CppXcptFilter           1130354a f   MSVCRT:MSVCR71.dll
- 0001:00002550       _DllMain@12                11303550 f   MSVCRT:dllmain.obj
- 0001:00002570       __SEH_prolog               11303570 f   MSVCRT:sehprolg.obj
- 0001:000025ab       __SEH_epilog               113035ab f   MSVCRT:sehprolg.obj
- 0001:000025bc       __except_handler3          113035bc f   MSVCRT:MSVCR71.dll
- 0001:000025c2       ___dllonexit               113035c2 f   MSVCRT:MSVCR71.dll
- 0002:00000000       __imp__GetCommState@8      11304000     kernel32:KERNEL32.dll
- 0002:00000004       __imp__ClearCommError@12   11304004     kernel32:KERNEL32.dll
- 0002:00000008       __imp__Sleep@4             11304008     kernel32:KERNEL32.dll
- 0002:0000000c       __imp__GetOverlappedResult@16 1130400c     kernel32:KERNEL32.dll
- 0002:00000010       __imp__CloseHandle@4       11304010     kernel32:KERNEL32.dll
- 0002:00000014       __imp__ReadFile@20         11304014     kernel32:KERNEL32.dll
- 0002:00000018       __imp__GetLastError@0      11304018     kernel32:KERNEL32.dll
- 0002:0000001c       __imp__CreateEventA@16     1130401c     kernel32:KERNEL32.dll
- 0002:00000020       __imp__GlobalUnlock@4      11304020     kernel32:KERNEL32.dll
- 0002:00000024       __imp__GlobalHandle@4      11304024     kernel32:KERNEL32.dll
- 0002:00000028       __imp__GlobalFree@4        11304028     kernel32:KERNEL32.dll
- 0002:0000002c       __imp__GlobalLock@4        1130402c     kernel32:KERNEL32.dll
- 0002:00000030       __imp__GlobalAlloc@8       11304030     kernel32:KERNEL32.dll
- 0002:00000034       __imp__WaitCommEvent@12    11304034     kernel32:KERNEL32.dll
- 0002:00000038       __imp__SetCommMask@8       11304038     kernel32:KERNEL32.dll
- 0002:0000003c       __imp__GetCommMask@8       1130403c     kernel32:KERNEL32.dll
- 0002:00000040       __imp__WriteFile@20        11304040     kernel32:KERNEL32.dll
- 0002:00000044       __imp__CreateFileA@28      11304044     kernel32:KERNEL32.dll
- 0002:00000048       __imp__SetCommState@8      11304048     kernel32:KERNEL32.dll
- 0002:0000004c       __imp__DisableThreadLibraryCalls@4 1130404c     kernel32:KERNEL32.dll
- 0002:00000050       __imp__GetCommModemStatus@8 11304050     kernel32:KERNEL32.dll
- 0002:00000054       __imp__SetCommTimeouts@8   11304054     kernel32:KERNEL32.dll
- 0002:00000058       __imp__FormatMessageA@28   11304058     kernel32:KERNEL32.dll
- 0002:0000005c       \177KERNEL32_NULL_THUNK_DATA 1130405c     kernel32:KERNEL32.dll
- 0002:00000060       __imp___initterm           11304060     MSVCRT:MSVCR71.dll
- 0002:00000064       __imp___onexit             11304064     MSVCRT:MSVCR71.dll
- 0002:00000068       __imp__printf              11304068     MSVCRT:MSVCR71.dll
- 0002:0000006c       __imp__fprintf             1130406c     MSVCRT:MSVCR71.dll
- 0002:00000070       __imp___iob                11304070     MSVCRT:MSVCR71.dll
- 0002:00000074       __imp___errno              11304074     MSVCRT:MSVCR71.dll
- 0002:00000078       __imp__sprintf             11304078     MSVCRT:MSVCR71.dll
- 0002:0000007c       __imp__free                1130407c     MSVCRT:MSVCR71.dll
- 0002:00000080       __imp__malloc              11304080     MSVCRT:MSVCR71.dll
- 0002:00000084       __imp___adjust_fdiv        11304084     MSVCRT:MSVCR71.dll
- 0002:00000088       __imp____CppXcptFilter     11304088     MSVCRT:MSVCR71.dll
- 0002:0000008c       __imp___except_handler3    1130408c     MSVCRT:MSVCR71.dll
- 0002:00000090       __imp____dllonexit         11304090     MSVCRT:MSVCR71.dll
- 0002:00000094       \177MSVCR71_NULL_THUNK_DATA 11304094     MSVCRT:MSVCR71.dll
- 0002:00000098       __imp__select@20           11304098     ws2_32:WS2_32.dll
- 0002:0000009c       __imp____WSAFDIsSet@8      1130409c     ws2_32:WS2_32.dll
- 0002:000000a0       \177WS2_32_NULL_THUNK_DATA 113040a0     ws2_32:WS2_32.dll
- 0002:000000cc       ??_C@_0BA@DKOKNLIO@addDeviceToList?$AA@ 113040cc     w32CommDriver.obj
- 0002:000000dc       ??_C@_0CK@PFBBOMIO@?$CILjava?1lang?1String?$DLILjava?1lang?1S@ 113040dc     w32CommDriver.obj
- 0002:00000108       ??_C@_0BB@JPFAMGLG@?6?6?$CFd?5asserted?$CB?6?6?$AA@ 11304108     w32CommDriver.obj
- 0002:0000011c       ??_C@_04CGJBIPHE@COM4?$AA@ 1130411c     w32CommDriver.obj
- 0002:00000124       ??_C@_04GJNABJLD@COM3?$AA@ 11304124     w32CommDriver.obj
- 0002:0000012c       ??_C@_04MCDLDDNG@LPT1?$AA@ 1130412c     w32CommDriver.obj
- 0002:00000134       ??_C@_04HAMLCIPC@COM2?$AA@ 11304134     w32CommDriver.obj
- 0002:0000013c       ??_C@_04FLOGHLDB@COM1?$AA@ 1130413c     w32CommDriver.obj
- 0002:00000144       ??_C@_0M@MACEOJAN@pollingTime?$AA@ 11304144     w32CommPortIdentifier.obj
- 0002:00000150       ??_C@_01JPJNBJEM@I?$AA@    11304150     w32CommPortIdentifier.obj
- 0002:00000154       ??_C@_0BO@CPNLBCEJ@javax?1comm?1CommPortIdentifier?$AA@ 11304154     w32CommPortIdentifier.obj
- 0002:00000174       ??_C@_0O@NBKAIMLM@isInterrupted?$AA@ 11304174     w32CommPortIdentifier.obj
- 0002:00000184       ??_C@_03MMPFGPID@?$CI?$CJZ?$AA@ 11304184     w32CommPortIdentifier.obj
- 0002:00000188       ??_C@_0BB@NOKBFPFO@java?1lang?1Thread?$AA@ 11304188     w32CommPortIdentifier.obj
- 0002:0000019c       ??_C@_04MEMAJGDJ@name?$AA@ 1130419c     w32CommPortIdentifier.obj
- 0002:000001a4       ??_C@_0BD@JFADHEFE@Ljava?1lang?1String?$DL?$AA@ 113041a4     w32CommPortIdentifier.obj
- 0002:000001b8       ??_C@_0BJ@EKOOIJDM@PORT_OWNERSHIP_REQUESTED?$AA@ 113041b8     w32CommPortIdentifier.obj
- 0002:000001d4       ??_C@_0N@GCHANIDN@PORT_UNOWNED?$AA@ 113041d4     w32CommPortIdentifier.obj
- 0002:000001e4       ??_C@_0L@DGJAIDMO@PORT_OWNED?$AA@ 113041e4     w32CommPortIdentifier.obj
- 0002:000001f0       ??_C@_0CF@LEBHMMNO@javax?1comm?1CommPortOwnershipList@ 113041f0     w32CommPortIdentifier.obj
- 0002:00000218       ??_C@_0BD@DJGIFLED@fireOwnershipEvent?$AA@ 11304218     w32CommPortIdentifier.obj
- 0002:0000022c       ??_C@_04PFANPMCN@?$CII?$CJV?$AA@ 1130422c     w32CommPortIdentifier.obj
- 0002:00000234       ??_C@_0BD@GBHBBJKK@Error?5reading?5data?$AA@ 11304234     w32DeviceInputStream.obj
- 0002:00000248       ??_C@_0BP@JHKNIHPB@Error?5creating?5event?5semaphore?$AA@ 11304248     w32DeviceInputStream.obj
- 0002:00000268       ??_C@_02ENHFDPNM@fd?$AA@   11304268     w32DeviceInputStream.obj
- 0002:0000026b       ??_C@_00CNPNBAHC@?$AA@     1130426b     w32DeviceInputStream.obj
- 0002:0000026c       ??_C@_0BE@EBAPEBGJ@java?1io?1IOException?$AA@ 1130426c     w32DeviceInputStream.obj
- 0002:00000280       ??_C@_07DFPBEPEC@tmoDone?$AA@ 11304280     w32DeviceInputStream.obj
- 0002:00000288       ??_C@_01POHCFINO@Z?$AA@    11304288     w32DeviceInputStream.obj
- 0002:0000028c       ??_C@_03JIIMDIDD@tmo?$AA@  1130428c     w32DeviceInputStream.obj
- 0002:00000290       ??_C@_0BD@JJLDMOGH@Error?5writing?5data?$AA@ 11304290     w32DeviceOutputStream.obj
- 0002:000002a4       ??_C@_0BL@GHKGOAFM@Error?5writing?5pending?5data?$AA@ 113042a4     w32DeviceOutputStream.obj
- 0002:000002c0       ??_C@_0BB@BOAIAAB@notifyOnDataFlag?$AA@ 113042c0     w32SerialDataEventThread.obj
- 0002:000002d4       ??_C@_0BC@HPCHKFFH@reportSerialEvent?$AA@ 113042d4     w32SerialDataEventThread.obj
- 0002:000002e8       ??_C@_06LLPILDMP@?$CIIZZ?$CJV?$AA@ 113042e8     w32SerialDataEventThread.obj
- 0002:000002f0       ??_C@_0L@MAAAEFDE@serialPort?$AA@ 113042f0     w32SerialDataEventThread.obj
- 0002:000002fc       ??_C@_0CI@KKHBCPKN@Lorg?1eclipse?1soda?1dk?1comm?1NSSeri@ 113042fc     w32SerialDataEventThread.obj
- 0002:00000324       ??_C@_0P@KBKADJBM@DATA_AVAILABLE?$AA@ 11304324     w32SerialDataEventThread.obj
- 0002:00000334       ??_C@_0BL@ILADHPFC@javax?1comm?1SerialPortEvent?$AA@ 11304334     w32SerialDataEventThread.obj
- 0002:00000350       ??_C@_0BD@OHJNHKHO@Error?5opening?5port?$AA@ 11304350     w32SerialPort.obj
- 0002:00000364       ??_C@_0BC@DLMHNEGO@portName?5is?5NULL?6?$AA@ 11304364     w32SerialPort.obj
- 0002:00000378       ??_C@_0DE@GKAMPLLG@w32SerialPort_setDTRNC?$CI?$CJ?5failed?5@ 11304378     w32SerialPort.obj
- 0002:000003ac       ??_C@_0BG@HPDKJDLF@SetCommState?$CI?$CJ?5failed?$AA@ 113043ac     w32SerialPort.obj
- 0002:000003c4       ??_C@_0BG@IKGMEKPE@GetCommState?$CI?$CJ?5failed?$AA@ 113043c4     w32SerialPort.obj
- 0002:000003dc       ??_C@_0DE@OFFEFAE@w32SerialPort_setDTRNC?$CI?$CJ?5failed?5@ 113043dc     w32SerialPort.obj
- 0002:00000410       ??_C@_0DD@GCHOIIHP@w32SerialPort_isRTSNC?$CI?$CJ?5failed?5t@ 11304410     w32SerialPort.obj
- 0002:00000444       ??_C@_0BJ@BEHBIPCI@SetCommTimeouts?$CI?$CJ?5failed?$AA@ 11304444     w32SerialPort.obj
- 0002:00000460       ??_C@_0ED@DPOFFCNL@w32SerialStatusEventThread_monit@ 11304460     w32SerialStatusEventThread.obj
- 0002:000004a8       ??_C@_0FC@KANLAHLN@w32SerialStatusEventThread_monit@ 113044a8     w32SerialStatusEventThread.obj
- 0002:000004fc       ??_C@_0P@LNBOEMLD@notifyOnRIFlag?$AA@ 113044fc     w32SerialStatusEventThread.obj
- 0002:0000050c       ??_C@_0BA@OEMCCJHB@notifyOnDSRFlag?$AA@ 1130450c     w32SerialStatusEventThread.obj
- 0002:0000051c       ??_C@_0BA@OAPMMNED@notifyOnCTSFlag?$AA@ 1130451c     w32SerialStatusEventThread.obj
- 0002:0000052c       ??_C@_0P@MACJMIBH@notifyOnCDFlag?$AA@ 1130452c     w32SerialStatusEventThread.obj
- 0002:0000053c       ??_C@_02EODNCIHP@RI?$AA@   1130453c     w32SerialStatusEventThread.obj
- 0002:00000540       ??_C@_03CMLKEALG@DSR?$AA@  11304540     w32SerialStatusEventThread.obj
- 0002:00000544       ??_C@_03KNDJFPML@CTS?$AA@  11304544     w32SerialStatusEventThread.obj
- 0002:00000548       ??_C@_02OGHHJPHF@CD?$AA@   11304548     w32SerialStatusEventThread.obj
- 0002:0000054c       ??_C@_0BO@JOOJOFDP@javax?1comm?1PortInUseException?$AA@ 1130454c     NSCommLOG.obj
- 0002:0000056c       ??_C@_0BP@BMFPBIGF@javax?1comm?1NoSuchPortException?$AA@ 1130456c     NSCommLOG.obj
- 0002:0000058c       ??_C@_0BP@KFMBBGE@javax?1comm?1SerialPortException?$AA@ 1130458c     NSCommLOG.obj
- 0002:000005ac       ??_C@_0O@JKHHKLAA@?$CFs?$DL?5rc?$DN?$CFd?0?5?$CFs?$AA@ 113045ac     NSCommLOG.obj
- 0002:000005f0       __load_config_used         113045f0     MSVCRT:loadcfg.obj
- 0002:00000690       ___safe_se_handler_table   11304690     <linker-defined>
- 0002:00000694       ___rtc_iaa                 11304694     MSVCRT:initsect.obj
- 0002:00000698       ___rtc_izz                 11304698     MSVCRT:initsect.obj
- 0002:0000069c       ___rtc_taa                 1130469c     MSVCRT:initsect.obj
- 0002:000006a0       ___rtc_tzz                 113046a0     MSVCRT:initsect.obj
- 0002:000006a4       __IMPORT_DESCRIPTOR_WS2_32 113046a4     ws2_32:WS2_32.dll
- 0002:000006b8       __IMPORT_DESCRIPTOR_KERNEL32 113046b8     kernel32:KERNEL32.dll
- 0002:000006cc       __IMPORT_DESCRIPTOR_MSVCR71 113046cc     MSVCRT:MSVCR71.dll
- 0002:000006e0       __NULL_IMPORT_DESCRIPTOR   113046e0     ws2_32:WS2_32.dll
- 0003:00000000       ___xc_a                    11306000     MSVCRT:cinitexe.obj
- 0003:00000004       ___xc_z                    11306004     MSVCRT:cinitexe.obj
- 0003:00000008       ___xi_a                    11306008     MSVCRT:cinitexe.obj
- 0003:0000000c       ___xi_z                    1130600c     MSVCRT:cinitexe.obj
- 0003:00000010       ___security_cookie         11306010     MSVCRT:seccook.obj
- 0003:00000018       __adjust_fdiv              11306018     <common>
- 0003:0000001c       ___onexitend               1130601c     <common>
- 0003:00000020       ___onexitbegin             11306020     <common>
- 0003:00000024       __pRawDllMain              11306024     <common>
-
- entry point at        0001:000023a0
-
- Static symbols
-
- 0001:000004c0       _getPollingTime            113014c0 f   w32CommPortIdentifier.obj
- 0001:00000f20       _getPollingTime            11301f20 f   w32SerialDataEventThread.obj
- 0001:00001c00       _getPollingTime            11302c00 f   w32SerialStatusEventThread.obj
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/ibmcomm.lib b/target-platform/org.eclipse.soda.dk.comm/src/main/c/ibmcomm.lib
deleted file mode 100644
index c949ff2..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/ibmcomm.lib
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/ibmcomm.map b/target-platform/org.eclipse.soda.dk.comm/src/main/c/ibmcomm.map
deleted file mode 100644
index e0525ae..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/ibmcomm.map
+++ /dev/null
@@ -1,229 +0,0 @@
- org_eclipse_soda_dk_comm
-
- Timestamp is 45a6583d (Thu Jan 11 10:31:09 2007)
-
- Preferred load address is 11300000
-
- Start         Length     Name                   Class
- 0001:00000000 00002538H .text                   CODE
- 0002:00000000 000000a8H .idata$5                DATA
- 0002:000000b0 000004e0H .rdata                  DATA
- 0002:00000590 00000049H .rdata$debug            DATA
- 0002:000005e0 00000004H .rdata$sxdata           DATA
- 0002:000005e4 00000004H .rtc$IAA                DATA
- 0002:000005e8 00000004H .rtc$IZZ                DATA
- 0002:000005ec 00000004H .rtc$TAA                DATA
- 0002:000005f0 00000004H .rtc$TZZ                DATA
- 0002:000005f4 0000003cH .idata$2                DATA
- 0002:00000630 00000014H .idata$3                DATA
- 0002:00000644 000000a8H .idata$4                DATA
- 0002:000006ec 0000023eH .idata$6                DATA
- 0002:00000930 00000667H .edata                  DATA
- 0003:00000000 00000004H .CRT$XCA                DATA
- 0003:00000004 00000004H .CRT$XCZ                DATA
- 0003:00000008 00000004H .CRT$XIA                DATA
- 0003:0000000c 00000004H .CRT$XIZ                DATA
- 0003:00000010 00000004H .data                   DATA
- 0003:00000014 00000014H .bss                    DATA
-
-  Address         Publics by Value              Rva+Base     Lib:Object
-
- 0000:00000001       ___safe_se_handler_count   00000001     <absolute>
- 0001:00000000       _Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC@12 11301000 f   CommPortIdentifier.obj
- 0001:00000020       _Java_org_eclipse_soda_dk_comm_NSCommDriver_discoverDevicesNC@8 11301020 f   NSCommDriver.obj
- 0001:00000040       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceOneByteNC@8 11301040 f   NSDeviceInputStream.obj
- 0001:00000060       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceNC@20 11301060 f   NSDeviceInputStream.obj
- 0001:00000090       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_getReadCountNC@8 11301090 f   NSDeviceInputStream.obj
- 0001:000000b0       _Java_org_eclipse_soda_dk_comm_NSDeviceOutputStream_writeDeviceNC@20 113010b0 f   NSDeviceOutputStream.obj
- 0001:000000e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_closeDeviceNC@16 113010e0 f   NSSerialPort.obj
- 0001:00000100       _Java_org_eclipse_soda_dk_comm_NSSerialPort_openDeviceNC@16 11301100 f   NSSerialPort.obj
- 0001:00000120       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setFlowControlModeNC@16 11301120 f   NSSerialPort.obj
- 0001:00000140       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getFlowControlModeNC@12 11301140 f   NSSerialPort.obj
- 0001:00000160       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getBaudRateNC@12 11301160 f   NSSerialPort.obj
- 0001:00000180       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getDataBitsNC@12 11301180 f   NSSerialPort.obj
- 0001:000001a0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getStopBitsNC@12 113011a0 f   NSSerialPort.obj
- 0001:000001c0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getParityNC@12 113011c0 f   NSSerialPort.obj
- 0001:000001e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setDTRNC@12 113011e0 f   NSSerialPort.obj
- 0001:00000200       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isDTRNC@8 11301200 f   NSSerialPort.obj
- 0001:00000220       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setRTSNC@12 11301220 f   NSSerialPort.obj
- 0001:00000240       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isRTSNC@8 11301240 f   NSSerialPort.obj
- 0001:00000260       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isCTSNC@8 11301260 f   NSSerialPort.obj
- 0001:00000280       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isDSRNC@8 11301280 f   NSSerialPort.obj
- 0001:000002a0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isRINC@8 113012a0 f   NSSerialPort.obj
- 0001:000002c0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isCDNC@8 113012c0 f   NSSerialPort.obj
- 0001:000002e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_sendBreakNC@16 113012e0 f   NSSerialPort.obj
- 0001:000002f0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setSerialPortParamsNC@28 113012f0 f   NSSerialPort.obj
- 0001:00000320       _Java_org_eclipse_soda_dk_comm_SerialDataEventThread_monitorSerialDataNC@12 11301320 f   SerialDataEventThread.obj
- 0001:00000340       _Java_org_eclipse_soda_dk_comm_SerialStatusEventThread_monitorSerialStatusNC@12 11301340 f   SerialStatusEventThread.obj
- 0001:00000360       _w32CommDriver_discoverDevicesNC 11301360 f   w32CommDriver.obj
- 0001:00000510       _w32CommPortIdentifier_monitorInterJVMDeviceAccessNC 11301510 f   w32CommPortIdentifier.obj
- 0001:00000770       _w32DeviceInputStream_readDeviceOneByteNC 11301770 f   w32DeviceInputStream.obj
- 0001:00000940       _w32DeviceInputStream_readDeviceNC 11301940 f   w32DeviceInputStream.obj
- 0001:00000c10       _w32DeviceInputStream_getReadCountNC 11301c10 f   w32DeviceInputStream.obj
- 0001:00000d30       _w32DeviceOutputStream_writeDeviceNC 11301d30 f   w32DeviceOutputStream.obj
- 0001:00000f70       _w32SerialDataEventThread_monitorSerialDataNC 11301f70 f   w32SerialDataEventThread.obj
- 0001:00001250       _w32getfd                  11302250 f   w32SerialPort.obj
- 0001:000012b0       _w32SerialPort_closeDeviceNC 113022b0 f   w32SerialPort.obj
- 0001:000012c0       _w32SerialPort_openDeviceNC 113022c0 f   w32SerialPort.obj
- 0001:00001350       _w32SerialPort_setFlowControlModeNC 11302350 f   w32SerialPort.obj
- 0001:00001440       _w32SerialPort_getFlowControlModeNC 11302440 f   w32SerialPort.obj
- 0001:00001500       _w32SerialPort_getBaudRateNC 11302500 f   w32SerialPort.obj
- 0001:00001560       _w32SerialPort_getDataBitsNC 11302560 f   w32SerialPort.obj
- 0001:000015c0       _w32SerialPort_getStopBitsNC 113025c0 f   w32SerialPort.obj
- 0001:00001640       _w32SerialPort_getParityNC 11302640 f   w32SerialPort.obj
- 0001:00001700       _w32SerialPort_setDTRNC    11302700 f   w32SerialPort.obj
- 0001:000017b0       _w32SerialPort_isDTRNC     113027b0 f   w32SerialPort.obj
- 0001:00001840       _w32SerialPort_setRTSNC    11302840 f   w32SerialPort.obj
- 0001:00001900       _w32SerialPort_isRTSNC     11302900 f   w32SerialPort.obj
- 0001:00001990       _w32SerialPort_isCTSNC     11302990 f   w32SerialPort.obj
- 0001:000019d0       _w32SerialPort_isDSRNC     113029d0 f   w32SerialPort.obj
- 0001:00001a10       _w32SerialPort_isRINC      11302a10 f   w32SerialPort.obj
- 0001:00001a50       _w32SerialPort_isCDNC      11302a50 f   w32SerialPort.obj
- 0001:00001a90       _w32SerialPort_setSerialPortParamsNC 11302a90 f   w32SerialPort.obj
- 0001:00001c50       _w32SerialStatusEventThread_monitorSerialStatusNC 11302c50 f   w32SerialStatusEventThread.obj
- 0001:00002120       _iveSerThrow               11303120 f   NSCommLOG.obj
- 0001:00002170       _iveSerThrowWin            11303170 f   NSCommLOG.obj
- 0001:00002230       _iveSerClearCommErrors     11303230 f   NSCommLOG.obj
- 0001:0000224c       ___WSAFDIsSet@8            1130324c f   ws2_32:WS2_32.dll
- 0001:00002252       __CRT_INIT@12              11303252 f   MSVCRT:crtdll.obj
- 0001:00002310       __DllMainCRTStartup@12     11303310 f   MSVCRT:crtdll.obj
- 0001:000023f4       __initterm                 113033f4 f   MSVCRT:MSVCR71.dll
- 0001:000023fa       __onexit                   113033fa f   MSVCRT:atonexit.obj
- 0001:00002420       _atexit                    11303420 f   MSVCRT:atonexit.obj
- 0001:00002432       __RTC_Initialize           11303432 f   MSVCRT:initsect.obj
- 0001:00002476       __RTC_Terminate            11303476 f   MSVCRT:initsect.obj
- 0001:000024ba       ___CppXcptFilter           113034ba f   MSVCRT:MSVCR71.dll
- 0001:000024c0       _DllMain@12                113034c0 f   MSVCRT:dllmain.obj
- 0001:000024e0       __SEH_prolog               113034e0 f   MSVCRT:sehprolg.obj
- 0001:0000251b       __SEH_epilog               1130351b f   MSVCRT:sehprolg.obj
- 0001:0000252c       __except_handler3          1130352c f   MSVCRT:MSVCR71.dll
- 0001:00002532       ___dllonexit               11303532 f   MSVCRT:MSVCR71.dll
- 0002:00000000       __imp__GetCommState@8      11304000     kernel32:KERNEL32.dll
- 0002:00000004       __imp__ClearCommError@12   11304004     kernel32:KERNEL32.dll
- 0002:00000008       __imp__Sleep@4             11304008     kernel32:KERNEL32.dll
- 0002:0000000c       __imp__GetOverlappedResult@16 1130400c     kernel32:KERNEL32.dll
- 0002:00000010       __imp__CloseHandle@4       11304010     kernel32:KERNEL32.dll
- 0002:00000014       __imp__ReadFile@20         11304014     kernel32:KERNEL32.dll
- 0002:00000018       __imp__GetLastError@0      11304018     kernel32:KERNEL32.dll
- 0002:0000001c       __imp__CreateEventA@16     1130401c     kernel32:KERNEL32.dll
- 0002:00000020       __imp__GlobalUnlock@4      11304020     kernel32:KERNEL32.dll
- 0002:00000024       __imp__GlobalHandle@4      11304024     kernel32:KERNEL32.dll
- 0002:00000028       __imp__GlobalFree@4        11304028     kernel32:KERNEL32.dll
- 0002:0000002c       __imp__GlobalLock@4        1130402c     kernel32:KERNEL32.dll
- 0002:00000030       __imp__GlobalAlloc@8       11304030     kernel32:KERNEL32.dll
- 0002:00000034       __imp__WaitCommEvent@12    11304034     kernel32:KERNEL32.dll
- 0002:00000038       __imp__SetCommMask@8       11304038     kernel32:KERNEL32.dll
- 0002:0000003c       __imp__GetCommMask@8       1130403c     kernel32:KERNEL32.dll
- 0002:00000040       __imp__WriteFile@20        11304040     kernel32:KERNEL32.dll
- 0002:00000044       __imp__CreateFileA@28      11304044     kernel32:KERNEL32.dll
- 0002:00000048       __imp__lstrcatA@8          11304048     kernel32:KERNEL32.dll
- 0002:0000004c       __imp__SetCommState@8      1130404c     kernel32:KERNEL32.dll
- 0002:00000050       __imp__DisableThreadLibraryCalls@4 11304050     kernel32:KERNEL32.dll
- 0002:00000054       __imp__GetCommModemStatus@8 11304054     kernel32:KERNEL32.dll
- 0002:00000058       __imp__SetCommTimeouts@8   11304058     kernel32:KERNEL32.dll
- 0002:0000005c       __imp__FormatMessageA@28   1130405c     kernel32:KERNEL32.dll
- 0002:00000060       \177KERNEL32_NULL_THUNK_DATA 11304060     kernel32:KERNEL32.dll
- 0002:00000064       __imp___initterm           11304064     MSVCRT:MSVCR71.dll
- 0002:00000068       __imp___onexit             11304068     MSVCRT:MSVCR71.dll
- 0002:0000006c       __imp__printf              1130406c     MSVCRT:MSVCR71.dll
- 0002:00000070       __imp__fprintf             11304070     MSVCRT:MSVCR71.dll
- 0002:00000074       __imp___iob                11304074     MSVCRT:MSVCR71.dll
- 0002:00000078       __imp___errno              11304078     MSVCRT:MSVCR71.dll
- 0002:0000007c       __imp__sprintf             1130407c     MSVCRT:MSVCR71.dll
- 0002:00000080       __imp__free                11304080     MSVCRT:MSVCR71.dll
- 0002:00000084       __imp__malloc              11304084     MSVCRT:MSVCR71.dll
- 0002:00000088       __imp___adjust_fdiv        11304088     MSVCRT:MSVCR71.dll
- 0002:0000008c       __imp____CppXcptFilter     1130408c     MSVCRT:MSVCR71.dll
- 0002:00000090       __imp___except_handler3    11304090     MSVCRT:MSVCR71.dll
- 0002:00000094       __imp____dllonexit         11304094     MSVCRT:MSVCR71.dll
- 0002:00000098       \177MSVCR71_NULL_THUNK_DATA 11304098     MSVCRT:MSVCR71.dll
- 0002:0000009c       __imp__select@20           1130409c     ws2_32:WS2_32.dll
- 0002:000000a0       __imp____WSAFDIsSet@8      113040a0     ws2_32:WS2_32.dll
- 0002:000000a4       \177WS2_32_NULL_THUNK_DATA 113040a4     ws2_32:WS2_32.dll
- 0002:000000cc       ??_C@_0BA@DKOKNLIO@addDeviceToList?$AA@ 113040cc     w32CommDriver.obj
- 0002:000000dc       ??_C@_0CK@PFBBOMIO@?$CILjava?1lang?1String?$DLILjava?1lang?1S@ 113040dc     w32CommDriver.obj
- 0002:00000108       ??_C@_0BB@JPFAMGLG@?6?6?$CFd?5asserted?$CB?6?6?$AA@ 11304108     w32CommDriver.obj
- 0002:0000011c       ??_C@_04CGJBIPHE@COM4?$AA@ 1130411c     w32CommDriver.obj
- 0002:00000124       ??_C@_04GJNABJLD@COM3?$AA@ 11304124     w32CommDriver.obj
- 0002:0000012c       ??_C@_04MCDLDDNG@LPT1?$AA@ 1130412c     w32CommDriver.obj
- 0002:00000134       ??_C@_04HAMLCIPC@COM2?$AA@ 11304134     w32CommDriver.obj
- 0002:0000013c       ??_C@_04FLOGHLDB@COM1?$AA@ 1130413c     w32CommDriver.obj
- 0002:00000144       ??_C@_0M@MACEOJAN@pollingTime?$AA@ 11304144     w32CommPortIdentifier.obj
- 0002:00000150       ??_C@_01JPJNBJEM@I?$AA@    11304150     w32CommPortIdentifier.obj
- 0002:00000154       ??_C@_0BO@CPNLBCEJ@javax?1comm?1CommPortIdentifier?$AA@ 11304154     w32CommPortIdentifier.obj
- 0002:00000174       ??_C@_0O@NBKAIMLM@isInterrupted?$AA@ 11304174     w32CommPortIdentifier.obj
- 0002:00000184       ??_C@_03MMPFGPID@?$CI?$CJZ?$AA@ 11304184     w32CommPortIdentifier.obj
- 0002:00000188       ??_C@_0BB@NOKBFPFO@java?1lang?1Thread?$AA@ 11304188     w32CommPortIdentifier.obj
- 0002:0000019c       ??_C@_04MEMAJGDJ@name?$AA@ 1130419c     w32CommPortIdentifier.obj
- 0002:000001a4       ??_C@_0BD@JFADHEFE@Ljava?1lang?1String?$DL?$AA@ 113041a4     w32CommPortIdentifier.obj
- 0002:000001b8       ??_C@_0BJ@EKOOIJDM@PORT_OWNERSHIP_REQUESTED?$AA@ 113041b8     w32CommPortIdentifier.obj
- 0002:000001d4       ??_C@_0N@GCHANIDN@PORT_UNOWNED?$AA@ 113041d4     w32CommPortIdentifier.obj
- 0002:000001e4       ??_C@_0L@DGJAIDMO@PORT_OWNED?$AA@ 113041e4     w32CommPortIdentifier.obj
- 0002:000001f0       ??_C@_0CF@LEBHMMNO@javax?1comm?1CommPortOwnershipList@ 113041f0     w32CommPortIdentifier.obj
- 0002:00000218       ??_C@_0BD@DJGIFLED@fireOwnershipEvent?$AA@ 11304218     w32CommPortIdentifier.obj
- 0002:0000022c       ??_C@_04PFANPMCN@?$CII?$CJV?$AA@ 1130422c     w32CommPortIdentifier.obj
- 0002:00000234       ??_C@_0BD@GBHBBJKK@Error?5reading?5data?$AA@ 11304234     w32DeviceInputStream.obj
- 0002:00000248       ??_C@_0BP@JHKNIHPB@Error?5creating?5event?5semaphore?$AA@ 11304248     w32DeviceInputStream.obj
- 0002:00000268       ??_C@_02ENHFDPNM@fd?$AA@   11304268     w32DeviceInputStream.obj
- 0002:0000026b       ??_C@_00CNPNBAHC@?$AA@     1130426b     w32DeviceInputStream.obj
- 0002:0000026c       ??_C@_0BE@EBAPEBGJ@java?1io?1IOException?$AA@ 1130426c     w32DeviceInputStream.obj
- 0002:00000280       ??_C@_07DFPBEPEC@tmoDone?$AA@ 11304280     w32DeviceInputStream.obj
- 0002:00000288       ??_C@_01POHCFINO@Z?$AA@    11304288     w32DeviceInputStream.obj
- 0002:0000028c       ??_C@_03JIIMDIDD@tmo?$AA@  1130428c     w32DeviceInputStream.obj
- 0002:00000290       ??_C@_0BD@JJLDMOGH@Error?5writing?5data?$AA@ 11304290     w32DeviceOutputStream.obj
- 0002:000002a4       ??_C@_0BL@GHKGOAFM@Error?5writing?5pending?5data?$AA@ 113042a4     w32DeviceOutputStream.obj
- 0002:000002c0       ??_C@_0BB@BOAIAAB@notifyOnDataFlag?$AA@ 113042c0     w32SerialDataEventThread.obj
- 0002:000002d4       ??_C@_0BC@HPCHKFFH@reportSerialEvent?$AA@ 113042d4     w32SerialDataEventThread.obj
- 0002:000002e8       ??_C@_06LLPILDMP@?$CIIZZ?$CJV?$AA@ 113042e8     w32SerialDataEventThread.obj
- 0002:000002f0       ??_C@_0L@MAAAEFDE@serialPort?$AA@ 113042f0     w32SerialDataEventThread.obj
- 0002:000002fc       ??_C@_0BM@KAHNFPOG@Lcom?1ibm?1comm?1NSSerialPort?$DL?$AA@ 113042fc     w32SerialDataEventThread.obj
- 0002:00000318       ??_C@_0P@KBKADJBM@DATA_AVAILABLE?$AA@ 11304318     w32SerialDataEventThread.obj
- 0002:00000328       ??_C@_0BL@ILADHPFC@javax?1comm?1SerialPortEvent?$AA@ 11304328     w32SerialDataEventThread.obj
- 0002:00000344       ??_C@_0BD@OHJNHKHO@Error?5opening?5port?$AA@ 11304344     w32SerialPort.obj
- 0002:00000358       ??_C@_01JLIPDDHJ@?3?$AA@   11304358     w32SerialPort.obj
- 0002:0000035c       ??_C@_0BC@DLMHNEGO@portName?5is?5NULL?6?$AA@ 1130435c     w32SerialPort.obj
- 0002:00000370       ??_C@_0DE@GKAMPLLG@w32SerialPort_setDTRNC?$CI?$CJ?5failed?5@ 11304370     w32SerialPort.obj
- 0002:000003a4       ??_C@_0BG@HPDKJDLF@SetCommState?$CI?$CJ?5failed?$AA@ 113043a4     w32SerialPort.obj
- 0002:000003bc       ??_C@_0BG@IKGMEKPE@GetCommState?$CI?$CJ?5failed?$AA@ 113043bc     w32SerialPort.obj
- 0002:000003d4       ??_C@_0DE@OFFEFAE@w32SerialPort_setDTRNC?$CI?$CJ?5failed?5@ 113043d4     w32SerialPort.obj
- 0002:00000408       ??_C@_0DD@GCHOIIHP@w32SerialPort_isRTSNC?$CI?$CJ?5failed?5t@ 11304408     w32SerialPort.obj
- 0002:0000043c       ??_C@_0BJ@BEHBIPCI@SetCommTimeouts?$CI?$CJ?5failed?$AA@ 1130443c     w32SerialPort.obj
- 0002:00000458       ??_C@_0P@LNBOEMLD@notifyOnRIFlag?$AA@ 11304458     w32SerialStatusEventThread.obj
- 0002:00000468       ??_C@_0BA@OEMCCJHB@notifyOnDSRFlag?$AA@ 11304468     w32SerialStatusEventThread.obj
- 0002:00000478       ??_C@_0BA@OAPMMNED@notifyOnCTSFlag?$AA@ 11304478     w32SerialStatusEventThread.obj
- 0002:00000488       ??_C@_0P@MACJMIBH@notifyOnCDFlag?$AA@ 11304488     w32SerialStatusEventThread.obj
- 0002:00000498       ??_C@_02EODNCIHP@RI?$AA@   11304498     w32SerialStatusEventThread.obj
- 0002:0000049c       ??_C@_03CMLKEALG@DSR?$AA@  1130449c     w32SerialStatusEventThread.obj
- 0002:000004a0       ??_C@_03KNDJFPML@CTS?$AA@  113044a0     w32SerialStatusEventThread.obj
- 0002:000004a4       ??_C@_02OGHHJPHF@CD?$AA@   113044a4     w32SerialStatusEventThread.obj
- 0002:000004a8       ??_C@_0BO@JOOJOFDP@javax?1comm?1PortInUseException?$AA@ 113044a8     NSCommLOG.obj
- 0002:000004c8       ??_C@_0BP@BMFPBIGF@javax?1comm?1NoSuchPortException?$AA@ 113044c8     NSCommLOG.obj
- 0002:000004e8       ??_C@_0BP@KFMBBGE@javax?1comm?1SerialPortException?$AA@ 113044e8     NSCommLOG.obj
- 0002:00000508       ??_C@_0O@JKHHKLAA@?$CFs?$DL?5rc?$DN?$CFd?0?5?$CFs?$AA@ 11304508     NSCommLOG.obj
- 0002:00000548       __load_config_used         11304548     MSVCRT:loadcfg.obj
- 0002:000005e0       ___safe_se_handler_table   113045e0     <linker-defined>
- 0002:000005e4       ___rtc_iaa                 113045e4     MSVCRT:initsect.obj
- 0002:000005e8       ___rtc_izz                 113045e8     MSVCRT:initsect.obj
- 0002:000005ec       ___rtc_taa                 113045ec     MSVCRT:initsect.obj
- 0002:000005f0       ___rtc_tzz                 113045f0     MSVCRT:initsect.obj
- 0002:000005f4       __IMPORT_DESCRIPTOR_WS2_32 113045f4     ws2_32:WS2_32.dll
- 0002:00000608       __IMPORT_DESCRIPTOR_KERNEL32 11304608     kernel32:KERNEL32.dll
- 0002:0000061c       __IMPORT_DESCRIPTOR_MSVCR71 1130461c     MSVCRT:MSVCR71.dll
- 0002:00000630       __NULL_IMPORT_DESCRIPTOR   11304630     ws2_32:WS2_32.dll
- 0003:00000000       ___xc_a                    11305000     MSVCRT:cinitexe.obj
- 0003:00000004       ___xc_z                    11305004     MSVCRT:cinitexe.obj
- 0003:00000008       ___xi_a                    11305008     MSVCRT:cinitexe.obj
- 0003:0000000c       ___xi_z                    1130500c     MSVCRT:cinitexe.obj
- 0003:00000010       ___security_cookie         11305010     MSVCRT:seccook.obj
- 0003:00000018       __adjust_fdiv              11305018     <common>
- 0003:0000001c       ___onexitend               1130501c     <common>
- 0003:00000020       ___onexitbegin             11305020     <common>
- 0003:00000024       __pRawDllMain              11305024     <common>
-
- entry point at        0001:00002310
-
- Static symbols
-
- 0001:000004c0       _getPollingTime            113014c0 f   w32CommPortIdentifier.obj
- 0001:00000f20       _getPollingTime            11301f20 f   w32SerialDataEventThread.obj
- 0001:00001c00       _getPollingTime            11302c00 f   w32SerialStatusEventThread.obj
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/javax_comm_CommPortIdentifier.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/javax_comm_CommPortIdentifier.h
deleted file mode 100644
index 70aedd6..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/javax_comm_CommPortIdentifier.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <jni.h>
-/* Header for class javax_comm_CommPortIdentifier */
-#ifndef _Included_javax_comm_CommPortIdentifier
-#define _Included_javax_comm_CommPortIdentifier
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef javax_comm_CommPortIdentifier_pollingTime
-#define javax_comm_CommPortIdentifier_pollingTime 1L
-#undef javax_comm_CommPortIdentifier_PORT_SERIAL
-#define javax_comm_CommPortIdentifier_PORT_SERIAL 1L
-#undef javax_comm_CommPortIdentifier_PORT_PARALLEL
-#define javax_comm_CommPortIdentifier_PORT_PARALLEL 2L
-/*
- * Class:     javax_comm_CommPortIdentifier
- * Method:    monitorInterVMDeviceAccessNC
- * Signature: (Ljava/lang/Runnable;)I
- */
-JNIEXPORT jint JNICALL Java_javax_comm_CommPortIdentifier_monitorInterVMDeviceAccessNC
-  (JNIEnv *, jobject, jobject);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile
deleted file mode 100644
index 52a0d12..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-DLLNAME=Release/win32/x86/dkcomm22.dll
-all: 
-	@echo "Usage: make platform"    ;
-	@echo "	Where platform = linux | qnx" ;
-linux:
-	$(MAKE) -f makefile.linux
-qnx:
-	$(MAKE) -f makefile.qnx
-	
-clean:
-	rm -f *.o
-	rm -f *.obj
-	rm -f $(DLLNAME)
-		
-	
-	
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux
deleted file mode 100644
index 73c8da2..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux
+++ /dev/null
@@ -1,183 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-MAKEFILE = makefile.linux
-############################################################################################################
-#       Configure your OS, CPUTYPE and COMPILER 
-############################################################################################################
-OS  = Linux
-##OS=Qnx
-CPUTYPE = i386
-##CPUTYPE = powerpc
-##CPUTYPE = ppc82xx
-##CPUTYPE = ppc440gp
-##CPUTYPE = xscale
-##CPUTYPE = mips
-##CPUTYPE = sh4
-##CPUTYPE = ibm44gp
-LIBTYPE = so                   
-##LIBTYPE = a
-DATATYPE = le
-##DATATYPE = be
-##COMPILER = kenati
-##COMPILER = ydog
-##COMPILER = mvlpee31
-##COMPILER = mvlcee31
-##COMPILER = mvlarm
-##COMPILER = coyote
-##BOARDTYPE = Mainstone
-##BOARDTYPE = Walnut
-##BOARDTYPE = Malta
-##BOARDTYPE = Sandpoint
-##BOARDTYPE = Solution
-############################################################################################################
-#
-#       Release the libdkcomm.so file place
-#
-############################################################################################################
-DLLNAME=Release/$(OS)/$(CPUTYPE)_$(COMPILER)/libdkcomm.$(LIBTYPE)
-BUILDFILES1 = CommPortIdentifier.o NSCommDriver.o NSDeviceInputStream.o NSDeviceOutputStream.o NSSerialPort.o
-BUILDFILES2 = cygCommDriver.o cygDeviceInputStream.o cygDeviceOutputStream.o cygSerialPort.o
-BUILDFILES3 = SerialDataEventThread.o SerialStatusEventThread.o SysVStyleSemaphore.o
-BUILDFILES4 = NSParallelPort.o ParallelErrorEventThread.o cygSerialDataEventThread.o cygSerialStatusEventThread.o
-BUILDFILES5 = cygParallelPort.o cygParallelErrorEventThread.o cygCommPortIdentifier.o
-C_OBJECTS   = $(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4) $(BUILDFILES5)
-# For Linux ARM BE - Coyote 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_coyote"
-TOOL_DIR  = /opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/bin
-CROSSCOMP = xscale_be-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I/opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/include -I. -I/phx4f/team/ravi/JavaCommAPI-J9/j9lnxarmbesf-beta22/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# For Linux i386 
-ifeq "$(CPUTYPE)_$(COMPILER)""i386_"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/usr/include -I. -I/usr/comm/osgimin11/bin/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# Yellow Dog Linux for Power PC
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_ydog"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/usr/include -I.
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-endif
-# Kenati Linux gcc for Power PC 
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_kenati"
-CROSSCOMP = powerpc-uclibc-
-TOOL_DIR  = /opt/kenati/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-AS        = $(TOOL_DIR)/$(CROSSCOMP)as
-ASFLAGS   = -c $(VMASMDEBUG)
-ifeq "$(LIBTYPE)""a"
-CFLAGS   = -D__linux__ -DLINUXPPC -DJ9VM_STATIC_LINKAGE -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include -fno-exceptions
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS = rcv 
-else
-#CFLAGS   = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include  -I. -I/phx4f/team/ravi/j9lnxppc/include
-CFLAGS   = -shared -fPIC -D__linux__ -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include 
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-endif
-# Montavista PEE 3.1 for the ppc82xx Sandpoint Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc82xx_mvlpee31"
-TOOL_DIR  = /opt/montavista_x86_ppc82xx/montavista/pro/devkit/ppc/82xx/bin
-CROSSCOMP = ppc_82xx-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-sandpoint/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the MIPS LE/BE Malta Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""mips_mvlpee31"
-CROSSCOMP = mips_fp_$(DATATYPE)-
-TOOL_DIR  = /opt/montavista/pro/devkit/mips/fp_$(DATATYPE)/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mipsle/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the Hitachi SH-4 Solution Board
-ifeq "$(CPUTYPE)_$(COMPILER)""sh4_mvlpee31"
-TOOL_DIR  = /opt/montavista/pro/devkit/sh/sh4_$(DATATYPE)/bin
-CROSSCOMP = sh_sh4_$(DATATYPE)-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mvl-sh4/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the IBM 440GP Walnut Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc440gp_mvlpee31"
-CROSSCOMP = ppc_440-
-TOOL_DIR  = /opt/montavista_ppc_440gp/montavista/pro/devkit/ppc/440/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__  -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-walnut/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista CEE 3.1 for the xscale Mainstone Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlcee31"
-CROSSCOMP = iwmmxt_le-
-TOOL_DIR  = /opt/montavista/cee/devkit/arm/iwmmxt_le/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx4f/team/ravi/gary/j9lnxarmhhmjit-mpn/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS  = rcv
-endif
-# Montavista Linux gcc for the xscale 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlarm"
-CROSSCOMP = arm_sa_le-
-TOOL_DIR  = /opt/montavista/pro/devkit/arm/sa_le/bin 
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/xscale/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-.SUFFIXES:.cpp
-.cpp.o:
-	$(CC) $(CFLAGS) -I. -fno-exceptions -fno-rtti -c $<
-all:      $(DLLNAME) messages
-BUILDLIB: $(DLLNAME)
-$(DLLNAME): \
-	$(C_OBJECTS)
-	$(LINKER) $(LNKFLAGS) $(DLLNAME) \
-        $(C_OBJECTS)
-messages:         
-	@echo "================================================";
-	@echo " === It is for $(CPUTYPE)($(DATATYPE)) $(COMPILER) $(BOARDTYPE) ===";
-	@echo "================================================";
-        
-clean:
-	rm $(DLLNAME)
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.arm_hf b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.arm_hf
deleted file mode 100644
index c605653..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.arm_hf
+++ /dev/null
@@ -1,198 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-MAKEFILE = makefile.linux
-############################################################################################################
-#       Configure your OS, CPUTYPE and COMPILER 
-############################################################################################################
-OS  = Linux
-##OS=Qnx
-CPUTYPE = arm
-##CPUTYPE = powerpc
-##CPUTYPE = ppc82xx
-##CPUTYPE = ppc440gp
-##CPUTYPE = xscale
-##CPUTYPE = mips
-##CPUTYPE = sh4
-##CPUTYPE = ibm44gp
-LIBTYPE = so                   
-##LIBTYPE = a
-DATATYPE = le
-##DATATYPE = be
-##COMPILER = kenati
-##COMPILER = ydog
-##COMPILER = mvlpee31
-##COMPILER = mvlcee31
-##COMPILER = mvlarm
-##COMPILER = coyote
-##BOARDTYPE = Mainstone
-##BOARDTYPE = Walnut
-##BOARDTYPE = Malta
-##BOARDTYPE = Sandpoint
-##BOARDTYPE = Solution
-############################################################################################################
-#
-#       Release the libdkcomm.so file place
-#
-############################################################################################################
-DLLNAME=Release/$(OS)/$(CPUTYPE)_$(COMPILER)/libdkcomm.$(LIBTYPE)
-BUILDFILES1 = CommPortIdentifier.o NSCommDriver.o NSDeviceInputStream.o NSDeviceOutputStream.o NSSerialPort.o
-BUILDFILES2 = cygCommDriver.o cygDeviceInputStream.o cygDeviceOutputStream.o cygSerialPort.o
-BUILDFILES3 = SerialDataEventThread.o SerialStatusEventThread.o SysVStyleSemaphore.o
-BUILDFILES4 = NSParallelPort.o ParallelErrorEventThread.o cygSerialDataEventThread.o cygSerialStatusEventThread.o
-BUILDFILES5 = cygParallelPort.o cygParallelErrorEventThread.o cygCommPortIdentifier.o
-C_OBJECTS   = $(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4) $(BUILDFILES5)
-# For Linux ARM BE - Coyote 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_coyote"
-TOOL_DIR  = /opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/bin
-CROSSCOMP = xscale_be-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I/opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/include -I. -I/phx4f/team/ravi/JavaCommAPI-J9/j9lnxarmbesf-beta22/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# For Linux ARM  
-ifeq "$(CPUTYPE)_$(COMPILER)""arm_"
-#TOOL_DIR  = /usr/bin
-#CROSSCOMP =
-JAVA_HOME  = /usr/lib/jvm/jdk-7-oracle-armhf
-#CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CC         = arm-linux-gnueabihf-gcc
-CFLAGS    += -O -shared -D__linux__ -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I../include -I.
-#AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-AS	   = $(CC)
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(CC)
-LNKFLAGS = -shared -o
-endif
-# For Linux i386 
-ifeq "$(CPUTYPE)_$(COMPILER)""i386_"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/usr/include -I. -I/usr/comm/osgimin11/bin/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# Yellow Dog Linux for Power PC
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_ydog"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/usr/include -I.
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-endif
-# Kenati Linux gcc for Power PC 
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_kenati"
-CROSSCOMP = powerpc-uclibc-
-TOOL_DIR  = /opt/kenati/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-AS        = $(TOOL_DIR)/$(CROSSCOMP)as
-ASFLAGS   = -c $(VMASMDEBUG)
-ifeq "$(LIBTYPE)""a"
-CFLAGS   = -D__linux__ -DLINUXPPC -DJ9VM_STATIC_LINKAGE -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include -fno-exceptions
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS = rcv 
-else
-#CFLAGS   = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include  -I. -I/phx4f/team/ravi/j9lnxppc/include
-CFLAGS   = -shared -fPIC -D__linux__ -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include 
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-endif
-# Montavista PEE 3.1 for the ppc82xx Sandpoint Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc82xx_mvlpee31"
-TOOL_DIR  = /opt/montavista_x86_ppc82xx/montavista/pro/devkit/ppc/82xx/bin
-CROSSCOMP = ppc_82xx-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-sandpoint/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the MIPS LE/BE Malta Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""mips_mvlpee31"
-CROSSCOMP = mips_fp_$(DATATYPE)-
-TOOL_DIR  = /opt/montavista/pro/devkit/mips/fp_$(DATATYPE)/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mipsle/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the Hitachi SH-4 Solution Board
-ifeq "$(CPUTYPE)_$(COMPILER)""sh4_mvlpee31"
-TOOL_DIR  = /opt/montavista/pro/devkit/sh/sh4_$(DATATYPE)/bin
-CROSSCOMP = sh_sh4_$(DATATYPE)-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mvl-sh4/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the IBM 440GP Walnut Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc440gp_mvlpee31"
-CROSSCOMP = ppc_440-
-TOOL_DIR  = /opt/montavista_ppc_440gp/montavista/pro/devkit/ppc/440/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__  -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-walnut/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista CEE 3.1 for the xscale Mainstone Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlcee31"
-CROSSCOMP = iwmmxt_le-
-TOOL_DIR  = /opt/montavista/cee/devkit/arm/iwmmxt_le/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx4f/team/ravi/gary/j9lnxarmhhmjit-mpn/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS  = rcv
-endif
-# Montavista Linux gcc for the xscale 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlarm"
-CROSSCOMP = arm_sa_le-
-TOOL_DIR  = /opt/montavista/pro/devkit/arm/sa_le/bin 
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/xscale/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-.SUFFIXES:.cpp
-.cpp.o:
-	$(CC) $(CFLAGS) -I. -fno-exceptions -fno-rtti -c $<
-all:      $(DLLNAME) messages
-BUILDLIB: $(DLLNAME)
-$(DLLNAME): \
-	$(C_OBJECTS)
-	mkdir -p `dirname $(DLLNAME)`
-	$(LINKER) $(LNKFLAGS) $(DLLNAME) \
-        $(C_OBJECTS)
-messages:         
-	@echo "================================================";
-	@echo " === It is for $(CPUTYPE)($(DATATYPE)) $(COMPILER) $(BOARDTYPE) ===";
-	@echo "================================================";
-        
-clean:
-	rm $(DLLNAME)
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.poky.arm_sf b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.poky.arm_sf
deleted file mode 100644
index 3c527fd..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.poky.arm_sf
+++ /dev/null
@@ -1,195 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-MAKEFILE = makefile.linux
-############################################################################################################
-#       Configure your OS, CPUTYPE and COMPILER 
-############################################################################################################
-OS  = Linux
-##OS=Qnx
-CPUTYPE = arm
-##CPUTYPE = powerpc
-##CPUTYPE = ppc82xx
-##CPUTYPE = ppc440gp
-##CPUTYPE = xscale
-##CPUTYPE = mips
-##CPUTYPE = sh4
-##CPUTYPE = ibm44gp
-LIBTYPE = so                   
-##LIBTYPE = a
-DATATYPE = le
-##DATATYPE = be
-##COMPILER = kenati
-##COMPILER = ydog
-##COMPILER = mvlpee31
-##COMPILER = mvlcee31
-##COMPILER = mvlarm
-##COMPILER = coyote
-##BOARDTYPE = Mainstone
-##BOARDTYPE = Walnut
-##BOARDTYPE = Malta
-##BOARDTYPE = Sandpoint
-##BOARDTYPE = Solution
-############################################################################################################
-#
-#       Release the libdkcomm.so file place
-#
-############################################################################################################
-DLLNAME=Release/$(OS)/$(CPUTYPE)_$(COMPILER)/libdkcomm.$(LIBTYPE)
-BUILDFILES1 = CommPortIdentifier.o NSCommDriver.o NSDeviceInputStream.o NSDeviceOutputStream.o NSSerialPort.o
-BUILDFILES2 = cygCommDriver.o cygDeviceInputStream.o cygDeviceOutputStream.o cygSerialPort.o
-BUILDFILES3 = SerialDataEventThread.o SerialStatusEventThread.o SysVStyleSemaphore.o
-BUILDFILES4 = NSParallelPort.o ParallelErrorEventThread.o cygSerialDataEventThread.o cygSerialStatusEventThread.o
-BUILDFILES5 = cygParallelPort.o cygParallelErrorEventThread.o cygCommPortIdentifier.o
-C_OBJECTS   = $(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4) $(BUILDFILES5)
-# For Linux ARM BE - Coyote 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_coyote"
-TOOL_DIR  = /opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/bin
-CROSSCOMP = xscale_be-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I/opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/include -I. -I/phx4f/team/ravi/JavaCommAPI-J9/j9lnxarmbesf-beta22/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# For Linux ARM (using poky toolchain) 
-ifeq "$(CPUTYPE)_$(COMPILER)""arm_"
-#TOOL_DIR  = /usr/bin
-#CROSSCOMP =
-#CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    += -msoft-float -shared -D__linux__ -I$(JAVA_HOME)/include -I../include -I.
-#AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(CXX)
-LNKFLAGS = -shared -o
-endif
-# For Linux i386 
-ifeq "$(CPUTYPE)_$(COMPILER)""i386_"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/usr/include -I. -I/usr/comm/osgimin11/bin/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# Yellow Dog Linux for Power PC
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_ydog"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/usr/include -I.
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-endif
-# Kenati Linux gcc for Power PC 
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_kenati"
-CROSSCOMP = powerpc-uclibc-
-TOOL_DIR  = /opt/kenati/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-AS        = $(TOOL_DIR)/$(CROSSCOMP)as
-ASFLAGS   = -c $(VMASMDEBUG)
-ifeq "$(LIBTYPE)""a"
-CFLAGS   = -D__linux__ -DLINUXPPC -DJ9VM_STATIC_LINKAGE -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include -fno-exceptions
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS = rcv 
-else
-#CFLAGS   = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include  -I. -I/phx4f/team/ravi/j9lnxppc/include
-CFLAGS   = -shared -fPIC -D__linux__ -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include 
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-endif
-# Montavista PEE 3.1 for the ppc82xx Sandpoint Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc82xx_mvlpee31"
-TOOL_DIR  = /opt/montavista_x86_ppc82xx/montavista/pro/devkit/ppc/82xx/bin
-CROSSCOMP = ppc_82xx-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-sandpoint/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the MIPS LE/BE Malta Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""mips_mvlpee31"
-CROSSCOMP = mips_fp_$(DATATYPE)-
-TOOL_DIR  = /opt/montavista/pro/devkit/mips/fp_$(DATATYPE)/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mipsle/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the Hitachi SH-4 Solution Board
-ifeq "$(CPUTYPE)_$(COMPILER)""sh4_mvlpee31"
-TOOL_DIR  = /opt/montavista/pro/devkit/sh/sh4_$(DATATYPE)/bin
-CROSSCOMP = sh_sh4_$(DATATYPE)-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mvl-sh4/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the IBM 440GP Walnut Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc440gp_mvlpee31"
-CROSSCOMP = ppc_440-
-TOOL_DIR  = /opt/montavista_ppc_440gp/montavista/pro/devkit/ppc/440/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__  -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-walnut/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista CEE 3.1 for the xscale Mainstone Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlcee31"
-CROSSCOMP = iwmmxt_le-
-TOOL_DIR  = /opt/montavista/cee/devkit/arm/iwmmxt_le/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx4f/team/ravi/gary/j9lnxarmhhmjit-mpn/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS  = rcv
-endif
-# Montavista Linux gcc for the xscale 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlarm"
-CROSSCOMP = arm_sa_le-
-TOOL_DIR  = /opt/montavista/pro/devkit/arm/sa_le/bin 
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/xscale/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-.SUFFIXES:.cpp
-.cpp.o:
-	$(CC) $(CFLAGS) -I. -fno-exceptions -fno-rtti -c $<
-all:      $(DLLNAME) messages
-BUILDLIB: $(DLLNAME)
-$(DLLNAME): \
-	$(C_OBJECTS)
-	mkdir -p `dirname $(DLLNAME)`
-	$(LINKER) $(LNKFLAGS) $(DLLNAME) \
-        $(C_OBJECTS)
-messages:         
-	@echo "================================================";
-	@echo " === It is for $(CPUTYPE)($(DATATYPE)) $(COMPILER) $(BOARDTYPE) ===";
-	@echo "================================================";
-        
-clean:
-	rm $(DLLNAME)
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.poky.i586 b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.poky.i586
deleted file mode 100644
index 00a3026..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.poky.i586
+++ /dev/null
@@ -1,184 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-MAKEFILE = makefile.linux
-############################################################################################################
-#       Configure your OS, CPUTYPE and COMPILER 
-############################################################################################################
-OS  = Linux
-##OS=Qnx
-CPUTYPE = i386
-##CPUTYPE = powerpc
-##CPUTYPE = ppc82xx
-##CPUTYPE = ppc440gp
-##CPUTYPE = xscale
-##CPUTYPE = mips
-##CPUTYPE = sh4
-##CPUTYPE = ibm44gp
-LIBTYPE = so                   
-##LIBTYPE = a
-DATATYPE = le
-##DATATYPE = be
-##COMPILER = kenati
-##COMPILER = ydog
-##COMPILER = mvlpee31
-##COMPILER = mvlcee31
-##COMPILER = mvlarm
-##COMPILER = coyote
-##BOARDTYPE = Mainstone
-##BOARDTYPE = Walnut
-##BOARDTYPE = Malta
-##BOARDTYPE = Sandpoint
-##BOARDTYPE = Solution
-############################################################################################################
-#
-#       Release the libdkcomm.so file place
-#
-############################################################################################################
-DLLNAME=Release/$(OS)/$(CPUTYPE)_$(COMPILER)/libdkcomm.$(LIBTYPE)
-BUILDFILES1 = CommPortIdentifier.o NSCommDriver.o NSDeviceInputStream.o NSDeviceOutputStream.o NSSerialPort.o
-BUILDFILES2 = cygCommDriver.o cygDeviceInputStream.o cygDeviceOutputStream.o cygSerialPort.o
-BUILDFILES3 = SerialDataEventThread.o SerialStatusEventThread.o SysVStyleSemaphore.o
-BUILDFILES4 = NSParallelPort.o ParallelErrorEventThread.o cygSerialDataEventThread.o cygSerialStatusEventThread.o
-BUILDFILES5 = cygParallelPort.o cygParallelErrorEventThread.o cygCommPortIdentifier.o
-C_OBJECTS   = $(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4) $(BUILDFILES5)
-# For Linux ARM BE - Coyote 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_coyote"
-TOOL_DIR  = /opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/bin
-CROSSCOMP = xscale_be-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I/opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/include -I. -I/phx4f/team/ravi/JavaCommAPI-J9/j9lnxarmbesf-beta22/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# For Linux i386 (yocto toolchain)
-ifeq "$(CPUTYPE)_$(COMPILER)""i386_"
-#TOOL_DIR  = /usr/bin
-#CROSSCOMP =
-#CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    += -shared -D__linux__ -I$(JAVA_HOME)/include -I../include -I. 
-#AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(CXX)
-LNKFLAGS = -shared -o
-endif
-# Yellow Dog Linux for Power PC
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_ydog"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/usr/include -I.
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-endif
-# Kenati Linux gcc for Power PC 
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_kenati"
-CROSSCOMP = powerpc-uclibc-
-TOOL_DIR  = /opt/kenati/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-AS        = $(TOOL_DIR)/$(CROSSCOMP)as
-ASFLAGS   = -c $(VMASMDEBUG)
-ifeq "$(LIBTYPE)""a"
-CFLAGS   = -D__linux__ -DLINUXPPC -DJ9VM_STATIC_LINKAGE -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include -fno-exceptions
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS = rcv 
-else
-#CFLAGS   = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include  -I. -I/phx4f/team/ravi/j9lnxppc/include
-CFLAGS   = -shared -fPIC -D__linux__ -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include 
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-endif
-# Montavista PEE 3.1 for the ppc82xx Sandpoint Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc82xx_mvlpee31"
-TOOL_DIR  = /opt/montavista_x86_ppc82xx/montavista/pro/devkit/ppc/82xx/bin
-CROSSCOMP = ppc_82xx-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-sandpoint/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the MIPS LE/BE Malta Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""mips_mvlpee31"
-CROSSCOMP = mips_fp_$(DATATYPE)-
-TOOL_DIR  = /opt/montavista/pro/devkit/mips/fp_$(DATATYPE)/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mipsle/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the Hitachi SH-4 Solution Board
-ifeq "$(CPUTYPE)_$(COMPILER)""sh4_mvlpee31"
-TOOL_DIR  = /opt/montavista/pro/devkit/sh/sh4_$(DATATYPE)/bin
-CROSSCOMP = sh_sh4_$(DATATYPE)-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mvl-sh4/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the IBM 440GP Walnut Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc440gp_mvlpee31"
-CROSSCOMP = ppc_440-
-TOOL_DIR  = /opt/montavista_ppc_440gp/montavista/pro/devkit/ppc/440/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__  -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-walnut/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista CEE 3.1 for the xscale Mainstone Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlcee31"
-CROSSCOMP = iwmmxt_le-
-TOOL_DIR  = /opt/montavista/cee/devkit/arm/iwmmxt_le/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx4f/team/ravi/gary/j9lnxarmhhmjit-mpn/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS  = rcv
-endif
-# Montavista Linux gcc for the xscale 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlarm"
-CROSSCOMP = arm_sa_le-
-TOOL_DIR  = /opt/montavista/pro/devkit/arm/sa_le/bin 
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/xscale/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-.SUFFIXES:.cpp
-.cpp.o:
-	$(CC) $(CFLAGS) -I. -fno-exceptions -fno-rtti -c $<
-all:      $(DLLNAME) messages
-BUILDLIB: $(DLLNAME)
-$(DLLNAME): \
-	$(C_OBJECTS)
-	mkdir -p `dirname $(DLLNAME)`
-	$(LINKER) $(LNKFLAGS) $(DLLNAME) \
-        $(C_OBJECTS)
-messages:         
-	@echo "================================================";
-	@echo " === It is for $(CPUTYPE)($(DATATYPE)) $(COMPILER) $(BOARDTYPE) ===";
-	@echo "================================================";
-        
-clean:
-	rm $(DLLNAME)
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.poky.x86_64 b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.poky.x86_64
deleted file mode 100644
index 2d0276b..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.linux.poky.x86_64
+++ /dev/null
@@ -1,195 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-MAKEFILE = makefile.linux
-############################################################################################################
-#       Configure your OS, CPUTYPE and COMPILER 
-############################################################################################################
-OS  = Linux
-##OS=Qnx
-CPUTYPE = x86-64
-##CPUTYPE = powerpc
-##CPUTYPE = ppc82xx
-##CPUTYPE = ppc440gp
-##CPUTYPE = xscale
-##CPUTYPE = mips
-##CPUTYPE = sh4
-##CPUTYPE = ibm44gp
-LIBTYPE = so                   
-##LIBTYPE = a
-DATATYPE = le
-##DATATYPE = be
-##COMPILER = kenati
-##COMPILER = ydog
-##COMPILER = mvlpee31
-##COMPILER = mvlcee31
-##COMPILER = mvlarm
-##COMPILER = coyote
-##BOARDTYPE = Mainstone
-##BOARDTYPE = Walnut
-##BOARDTYPE = Malta
-##BOARDTYPE = Sandpoint
-##BOARDTYPE = Solution
-############################################################################################################
-#
-#       Release the dkcomm.so file place
-#
-############################################################################################################
-DLLNAME=Release/$(OS)/$(CPUTYPE)_$(COMPILER)/dkcomm.$(LIBTYPE)
-BUILDFILES1 = CommPortIdentifier.o NSCommDriver.o NSDeviceInputStream.o NSDeviceOutputStream.o NSSerialPort.o
-BUILDFILES2 = cygCommDriver.o cygDeviceInputStream.o cygDeviceOutputStream.o cygSerialPort.o
-BUILDFILES3 = SerialDataEventThread.o SerialStatusEventThread.o SysVStyleSemaphore.o
-BUILDFILES4 = NSParallelPort.o ParallelErrorEventThread.o cygSerialDataEventThread.o cygSerialStatusEventThread.o
-BUILDFILES5 = cygParallelPort.o cygParallelErrorEventThread.o cygCommPortIdentifier.o
-C_OBJECTS   = $(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4) $(BUILDFILES5)
-# For Linux ARM BE - Coyote 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_coyote"
-TOOL_DIR  = /opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/bin
-CROSSCOMP = xscale_be-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I/opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/include -I. -I/phx4f/team/ravi/JavaCommAPI-J9/j9lnxarmbesf-beta22/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# For Linux i386 (yocto toolchain)
-ifeq "$(CPUTYPE)_$(COMPILER)""i386_"
-#TOOL_DIR  = /usr/bin
-#CROSSCOMP =
-#CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    += -shared -D__linux__ -I$(JAVA_HOME)/include -I../include -I. 
-#AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(CXX)
-LNKFLAGS = -shared -o
-endif
-# For Linux x86_64 (yocto toolchain)
-ifeq "$(CPUTYPE)_$(COMPILER)""x86-64_"
-#TOOL_DIR  = /usr/bin
-#CROSSCOMP =
-#CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    += -shared -D__linux__ -I$(JAVA_HOME)/include -I../include -I. -fPIC 
-#AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(CXX)
-LNKFLAGS = -shared -o
-endif
-# Yellow Dog Linux for Power PC
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_ydog"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/usr/include -I.
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-endif
-# Kenati Linux gcc for Power PC 
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_kenati"
-CROSSCOMP = powerpc-uclibc-
-TOOL_DIR  = /opt/kenati/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-AS        = $(TOOL_DIR)/$(CROSSCOMP)as
-ASFLAGS   = -c $(VMASMDEBUG)
-ifeq "$(LIBTYPE)""a"
-CFLAGS   = -D__linux__ -DLINUXPPC -DJ9VM_STATIC_LINKAGE -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include -fno-exceptions
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS = rcv 
-else
-#CFLAGS   = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include  -I. -I/phx4f/team/ravi/j9lnxppc/include
-CFLAGS   = -shared -fPIC -D__linux__ -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include 
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-endif
-# Montavista PEE 3.1 for the ppc82xx Sandpoint Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc82xx_mvlpee31"
-TOOL_DIR  = /opt/montavista_x86_ppc82xx/montavista/pro/devkit/ppc/82xx/bin
-CROSSCOMP = ppc_82xx-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-sandpoint/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the MIPS LE/BE Malta Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""mips_mvlpee31"
-CROSSCOMP = mips_fp_$(DATATYPE)-
-TOOL_DIR  = /opt/montavista/pro/devkit/mips/fp_$(DATATYPE)/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mipsle/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the Hitachi SH-4 Solution Board
-ifeq "$(CPUTYPE)_$(COMPILER)""sh4_mvlpee31"
-TOOL_DIR  = /opt/montavista/pro/devkit/sh/sh4_$(DATATYPE)/bin
-CROSSCOMP = sh_sh4_$(DATATYPE)-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mvl-sh4/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the IBM 440GP Walnut Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc440gp_mvlpee31"
-CROSSCOMP = ppc_440-
-TOOL_DIR  = /opt/montavista_ppc_440gp/montavista/pro/devkit/ppc/440/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__  -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-walnut/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista CEE 3.1 for the xscale Mainstone Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlcee31"
-CROSSCOMP = iwmmxt_le-
-TOOL_DIR  = /opt/montavista/cee/devkit/arm/iwmmxt_le/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx4f/team/ravi/gary/j9lnxarmhhmjit-mpn/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS  = rcv
-endif
-# Montavista Linux gcc for the xscale 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlarm"
-CROSSCOMP = arm_sa_le-
-TOOL_DIR  = /opt/montavista/pro/devkit/arm/sa_le/bin 
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/xscale/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-.SUFFIXES:.cpp
-.cpp.o:
-	$(CC) $(CFLAGS) -I. -fno-exceptions -fno-rtti -c $<
-all:      $(DLLNAME) messages
-BUILDLIB: $(DLLNAME)
-$(DLLNAME): \
-	$(C_OBJECTS)
-	mkdir -p `dirname $(DLLNAME)` 
-	$(LINKER) $(LNKFLAGS) $(DLLNAME) \
-        $(C_OBJECTS)
-messages:         
-	@echo "================================================";
-	@echo " === It is for $(CPUTYPE)($(DATATYPE)) $(COMPILER) $(BOARDTYPE) ===";
-	@echo "================================================";
-        
-clean:
-	rm $(DLLNAME)
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.osx b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.osx
deleted file mode 100644
index 3e2d61d..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.osx
+++ /dev/null
@@ -1,198 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-MAKEFILE = makefile.linux
-############################################################################################################
-#       Configure your OS, CPUTYPE and COMPILER 
-############################################################################################################
-##OS  = Linux
-OS  = OSX
-##OS=Qnx
-CPUTYPE = x86
-##CPUTYPE = i386
-##CPUTYPE = powerpc
-##CPUTYPE = ppc82xx
-##CPUTYPE = ppc440gp
-##CPUTYPE = xscale
-##CPUTYPE = mips
-##CPUTYPE = sh4
-##CPUTYPE = ibm44gp
-##LIBTYPE = so                   
-LIBTYPE = jnilib                   
-##LIBTYPE = a
-DATATYPE = le
-##DATATYPE = be
-##COMPILER = kenati
-##COMPILER = ydog
-##COMPILER = mvlpee31
-##COMPILER = mvlcee31
-##COMPILER = mvlarm
-##COMPILER = coyote
-COMPILER = macosx
-##BOARDTYPE = Mainstone
-##BOARDTYPE = Walnut
-##BOARDTYPE = Malta
-##BOARDTYPE = Sandpoint
-##BOARDTYPE = Solution
-############################################################################################################
-#
-#       Release the libdkcomm.so file place
-#
-############################################################################################################
-DLLNAME=Release/$(OS)/$(CPUTYPE)_$(COMPILER)/libdkcomm.$(LIBTYPE)
-BUILDFILES1 = CommPortIdentifier.o NSCommDriver.o NSDeviceInputStream.o NSDeviceOutputStream.o NSSerialPort.o
-BUILDFILES2 = cygCommDriver.o cygDeviceInputStream.o cygDeviceOutputStream.o cygSerialPort.o
-BUILDFILES3 = SerialDataEventThread.o SerialStatusEventThread.o SysVStyleSemaphore.o
-BUILDFILES4 = NSParallelPort.o ParallelErrorEventThread.o cygSerialDataEventThread.o cygSerialStatusEventThread.o
-BUILDFILES5 = cygParallelPort.o cygParallelErrorEventThread.o cygCommPortIdentifier.o
-C_OBJECTS   = $(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4) $(BUILDFILES5)
-# For Linux ARM BE - Coyote 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_coyote"
-TOOL_DIR  = /opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/bin
-CROSSCOMP = xscale_be-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I/opt/montavista_xscale_be/montavista/pro/devkit/arm/xscale_be/include -I. -I/phx4f/team/ravi/JavaCommAPI-J9/j9lnxarmbesf-beta22/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# For Linux i386 
-ifeq "$(CPUTYPE)_$(COMPILER)""i386_"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/usr/include -I. -I/usr/comm/osgimin11/bin/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# For Mac x86 
-ifeq "$(CPUTYPE)_$(COMPILER)""x86_macosx"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__osx__ -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -I../include -I/usr/include -I. -I/usr/comm/osgimin11/bin/include
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-# Yellow Dog Linux for Power PC
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_ydog"
-TOOL_DIR  = /usr/bin
-CROSSCOMP =
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/usr/include -I.
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-endif
-# Kenati Linux gcc for Power PC 
-ifeq "$(CPUTYPE)_$(COMPILER)""powerpc_kenati"
-CROSSCOMP = powerpc-uclibc-
-TOOL_DIR  = /opt/kenati/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-AS        = $(TOOL_DIR)/$(CROSSCOMP)as
-ASFLAGS   = -c $(VMASMDEBUG)
-ifeq "$(LIBTYPE)""a"
-CFLAGS   = -D__linux__ -DLINUXPPC -DJ9VM_STATIC_LINKAGE -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include -fno-exceptions
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS = rcv 
-else
-#CFLAGS   = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include  -I. -I/phx4f/team/ravi/j9lnxppc/include
-CFLAGS   = -shared -fPIC -D__linux__ -mcpu=$(CPUTYPE) -I../include -I. -I/phx4f/team/ravi/j9lnxppc/include 
-LINKER   = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS = -shared -o
-endif
-endif
-# Montavista PEE 3.1 for the ppc82xx Sandpoint Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc82xx_mvlpee31"
-TOOL_DIR  = /opt/montavista_x86_ppc82xx/montavista/pro/devkit/ppc/82xx/bin
-CROSSCOMP = ppc_82xx-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-sandpoint/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the MIPS LE/BE Malta Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""mips_mvlpee31"
-CROSSCOMP = mips_fp_$(DATATYPE)-
-TOOL_DIR  = /opt/montavista/pro/devkit/mips/fp_$(DATATYPE)/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mipsle/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the Hitachi SH-4 Solution Board
-ifeq "$(CPUTYPE)_$(COMPILER)""sh4_mvlpee31"
-TOOL_DIR  = /opt/montavista/pro/devkit/sh/sh4_$(DATATYPE)/bin
-CROSSCOMP = sh_sh4_$(DATATYPE)-
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/mvl-sh4/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista PEE 3.1 for the IBM 440GP Walnut Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""ppc440gp_mvlpee31"
-CROSSCOMP = ppc_440-
-TOOL_DIR  = /opt/montavista_ppc_440gp/montavista/pro/devkit/ppc/440/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__  -I../include -I/phx4f/team/tjfang/runtimes/2005-2.2.1SR1/j9lnxppc-walnut/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-# Montavista CEE 3.1 for the xscale Mainstone Board 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlcee31"
-CROSSCOMP = iwmmxt_le-
-TOOL_DIR  = /opt/montavista/cee/devkit/arm/iwmmxt_le/bin
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx4f/team/ravi/gary/j9lnxarmhhmjit-mpn/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)ar
-LNKFLAGS  = rcv
-endif
-# Montavista Linux gcc for the xscale 
-ifeq "$(CPUTYPE)_$(COMPILER)""xscale_mvlarm"
-CROSSCOMP = arm_sa_le-
-TOOL_DIR  = /opt/montavista/pro/devkit/arm/sa_le/bin 
-CC        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-CFLAGS    = -shared -D__linux__ -mcpu=$(CPUTYPE) -I../include -I/phx5f/projects/TCK/cert22/runtimes/0706/mvl/31/xscale/bin/include -I. -fPIC
-AS        = $(TOOL_DIR)/$(CROSSCOMP)gcc
-ASFLAGS   = -c $(VMASMDEBUG) -shared
-LINKER    = $(TOOL_DIR)/$(CROSSCOMP)gcc
-LNKFLAGS  = -shared -o
-endif
-.SUFFIXES:.cpp
-.cpp.o:
-	$(CC) $(CFLAGS) -I. -fno-exceptions -fno-rtti -c $<
-all:      $(DLLNAME) messages
-BUILDLIB: $(DLLNAME)
-$(DLLNAME): \
-	$(C_OBJECTS)
-	$(LINKER) $(LNKFLAGS) $(DLLNAME) \
-        $(C_OBJECTS)
-messages:         
-	@echo "================================================";
-	@echo " === It is for $(CPUTYPE)($(DATATYPE)) $(COMPILER) $(BOARDTYPE) ===";
-	@echo "================================================";
-        
-clean:
-	rm $(DLLNAME)
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.qnx b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.qnx
deleted file mode 100644
index 6863603..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.qnx
+++ /dev/null
@@ -1,29 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-DLLNAME=../libibmcomm.so# declaration
-BUILDFILES1 = CommPortIdentifier.o NSCommDriver.o NSDeviceInputStream.o NSDeviceOutputStream.o NSSerialPort.o
-BUILDFILES2 = SerialDataEventThread.o SerialStatusEventThread.o SysVStyleSemaphore.o NSParallelPort.o ParallelErrorEventThread.o
-CC=qcc
-CFLAGS=-O -Vgcc_ntox86 -DQNX -DNEUTRINO -shared -DX86 -I../include -I/usr/include -I.
-.SUFFIXES:.cpp
-.cpp.o:
-	$(CC) $(CFLAGS) -I. -fno-exceptions -fno-rtti -c $<
-AS=qcc
-ASFLAGS=-Vgcc_ntox86 -c $(VMASMDEBUG) 
-all:  BUILDLIB
-BUILDLIB: $(DLLNAME)
- 
-$(DLLNAME):\
-	$(BUILDFILES1) $(BUILDFILES2) 
-	 qcc -L. -W l,-s -W l,-x -Vgcc_ntox86 -shared  -o $(DLLNAME) \
-	$(BUILDFILES1) $(BUILDFILES2) -W l,--start-group \
-	-W l,--end-group 
-		 
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.win32 b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.win32
deleted file mode 100644
index 2235e0a..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.win32
+++ /dev/null
@@ -1,54 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-APPVER=4.0
-TARGETOS=WIN95
-SEHMAP = TRUE
-!include <win32.mak>
-DLLFILENAME=dkcomm.dll# declaration
-DLLPATH = Release\win32\x86\
-DLLNAME= $(DLLPATH)\dkcomm.dll# declaration
-LIBNAME=dkcomm# declaration
-LIBPATH=.\# declaration
-.c.obj:
-	$(cc) -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 $(cflags) -D_MT -D_DLL -MD -D_WINSOCKAPI_ -DWIN32 -Ogityb1 -Gs -GF -Zm400 -Zi  /IC:\IBM\osgimin11\bin\include $*.c
-#/IC:\IBM\osgimin11\bin\include
-.cpp.obj:
-	$(cc) -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 $(cflags) -D_MT -D_DLL -MD -D_WINSOCKAPI_ -DWIN32 -Ogityb1 -Gs -GF -Zm400 -Zi  $*.cpp
-.rc.res:
-	rc $<
-BUILDFILES1 = CommPortIdentifier.obj NSCommDriver.obj NSDeviceInputStream.obj NSDeviceOutputStream.obj NSSerialPort.obj
-BUILDFILES2 = SerialDataEventThread.obj SerialStatusEventThread.obj w32CommDriver.obj w32CommPortIdentifier.obj
-BUILDFILES3 = w32DeviceInputStream.obj w32DeviceOutputStream.obj w32SerialDataEventThread.obj
-BUILDFILES4 = w32SerialPort.obj w32SerialStatusEventThread.obj NSCommLOG.obj
-#NSParallelPort.obj ParallelErrorEventThread.obj NSCommLOG.obj
-SYSLIBFILES1 = ws2_32.lib
-MDLLIBFILES1 =
-all: \
-	 $(LIBPATH)$(LIBNAME).lib $(DLLNAME)
-BUILDLIB: $(LIBPATH)$(LIBNAME).lib
-$(LIBPATH)$(LIBNAME).lib:\
-	$(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4) \
-	$(MDLLIBFILES1)
-	$(implib) -subsystem:windows -out:$(LIBPATH)$(LIBNAME).lib -machine:$(CPU) \
-	$(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4) \
-	$(MDLLIBFILES1)
-$(DLLNAME): $(LIBPATH)$(LIBNAME).lib \
-	$(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4) \
-	$(MDLLIBFILES1)
-	link $(VMLINK) /debug /opt:icf /opt:ref /INCREMENTAL:NO /NOLOGO -entry:_DllMainCRTStartup@12 -dll /BASE:0x11300000 -machine:$(CPU) \
-	-subsystem:windows -out:$(DLLNAME) -map:$(LIBNAME).map \
-	$(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4) \
-	$(MDLLIBFILES1) $(SYSLIBFILES1)  \
-	kernel32.lib  ws2_32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib
-static:
-	$(MAKE) -f makefile.static
-quick:
-	$(MAKE)
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.win32_down b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.win32_down
deleted file mode 100644
index d3ec8f8..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.win32_down
+++ /dev/null
@@ -1,29 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-!include <win32.mak>
-DLLNAME=../libibmcomm.dll# declaration
-BUILDFILES1 = CommPortIdentifier.obj NSCommDriver.o NSDeviceInputStream.o NSDeviceOutputStream.o NSSerialPort.o
-BUILDFILES2 = SerialDataEventThread.o SerialStatusEventThread.o SysVStyleSemaphore.o
-BUILDFILES3 = NSParallelPort.o ParallelErrorEventThread.o NSCommLOG.o
-BUILDFILES4 = w32SerialPort.o
-CC=gcc
-CFLAGS=-shared -DWIN32 -DDLL -DDEBUG -I../include -I/usr/include -I.
-.SUFFIXES:.cpp
-.cpp.o:
-	$(CC) $(CFLAGS) -I. -fno-exceptions -fno-rtti -c $<
-AS=gcc
-ASFLAGS=-c $(VMASMDEBUG) -shared
-all: \
-	 $(DLLNAME)
-BUILDLIB: $(DLLNAME)
-$(DLLNAME):\
-	$(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4)
-	 gcc -shared -o $(DLLNAME) $(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4)
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.wince b/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.wince
deleted file mode 100644
index bd47c72..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/makefile.wince
+++ /dev/null
@@ -1,54 +0,0 @@
-#########################################################################
-# Copyright (c) 2001, 2009 IBM.                                         #
-# All rights reserved. This program and the accompanying materials      #
-# are made available under the terms of the Eclipse Public License v1.0 #
-# which accompanies this distribution, and is available at              #
-# http://www.eclipse.org/legal/epl-v10.html                             #
-#                                                                       #
-# Contributors:                                                         #
-#     IBM - initial API and implementation                              #
-#########################################################################
-.SUFFIXES: .s
-CPU=ARM
-CC=clarm
-DLLNAME=Release/Windows/WinCE/libibmcomm.dll# declaration
-LIBNAME=Release/Windows/WinCE/libibmcomm# declaration
-LIBPATH="C:\Program Files\Windows CE Tools\wce420\POCKET PC 2003\Lib\armv4"
-BUILDFILES1 = CommPortIdentifier.obj NSCommDriver.obj          NSDeviceInputStream.obj   NSDeviceOutputStream.obj
-BUILDFILES2 = NSSerialPort.obj       NSCommLOG.obj             SerialDataEventThread.obj SerialStatusEventThread.obj 
-BUILDFILES3 = w32SerialPort.obj      w32DeviceInputStream.obj  w32DeviceOutputStream.obj w32SerialDataEventThread.obj
-BUILDFILES4 = w32CommDriver.obj      w32CommPortIdentifier.obj w32SerialStatusEventThread.obj 
-CFLAGS =-DWINVER=0x0400 -D_WIN32_WINNT=0x0400 /nologo /c -DJ9WINCE -DJ9POCKETPC /W3 -DIPV4_WINCE -D_WIN32_WCE=300 
-CFLAGS+=-D"MS Pocket PC" /DUNDER_CE=300 /D"UNICODE" /D "_MBCS" /Zm400 -DFIXUP_UNALIGNED -D$(CPU) -D_$(CPU)_ -Ogitb1 
-CFLAGS+=-GF -DTR_HOST_32BIT -DTR_TARGET_$(CPU) -DNewFrameShape -DTR_HOST_$(CPU) -DSMALL -DTR_TARGET_32BIT 
-CFLAGS+=-I ../include -I. 
-CFLAGS+=-I "C:\Program Files\IBM\DeviceDeveloper\wsdd5.0\ive-2.2\bin\include"
-CFLAGS+=-I "C:\Program Files\Windows CE Tools\wce420\POCKET PC 2003\Include\armv4"
-##CFLAGS=-shared -DWIN32 -DDLL -DDEBUG -I../include -I/usr/include -I.
-%.obj : %.c
-	$(CC) $(CFLAGS) $< -o $@
-%.obj : %.cpp
-	$(CC) -c $(CFLAGS) $< -o $@
-AS=armasm
-ASFLAGS=$(VMASMDEBUG) -shared
-%.obj : %.s
-	$(AS) -c $(ASFLAGS) $< -o $@
-all: \
-	 $(DLLNAME)
-BUILDLIB: $(DLLNAME)
-$(LIBNAME).lib:\
-	$(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4)
-	lib -subsystem:windowsce,3.0 -out:$(LIBNAME).lib -machine:$(CPU) \
-	$(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4)
-$(DLLNAME):$(LIBNAME).lib\
-	$(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4)
-	link $(VMLINK)  /INCREMENTAL:NO /NOLOGO -machine:$(CPU) \
-	-subsystem:windowsce,3.0 -out:$(DLLNAME) -map:$(LIBNAME).map \
-	$(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4)  \
-        $(LIBPATH)/corelibc.lib $(LIBPATH)/coredll.lib
-	##-subsystem:windowsce,3.0 -out:$(DLLNAME) -map:$(LIBNAME).map /dll \ ##/entry:"_DllMainCRTStartup"  \
-        ##$(LIBPATH)/corelibc.lib 
-	##$(BUILDFILES1) $(BUILDFILES2) $(BUILDFILES3) $(BUILDFILES4)
-	##/dll /entry:"_DllMainCRTStartup" corelibc.lib coredll.lib commctrl.lib aygshell.lib $(LIBPATH)$(LIBNAME).exp
-         
-         
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm.lib b/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm.lib
deleted file mode 100644
index 9ca5157..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm.lib
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm.map b/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm.map
deleted file mode 100644
index 4a0c39f..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm.map
+++ /dev/null
@@ -1,229 +0,0 @@
- org_eclipse_soda_dk_comm
-
- Timestamp is 45a69b5b (Thu Jan 11 15:17:31 2007)
-
- Preferred load address is 11300000
-
- Start         Length     Name                   Class
- 0001:00000000 000025c8H .text                   CODE
- 0002:00000000 000000a4H .idata$5                DATA
- 0002:000000b0 00000580H .rdata                  DATA
- 0002:00000630 0000005aH .rdata$debug            DATA
- 0002:00000690 00000004H .rdata$sxdata           DATA
- 0002:00000694 00000004H .rtc$IAA                DATA
- 0002:00000698 00000004H .rtc$IZZ                DATA
- 0002:0000069c 00000004H .rtc$TAA                DATA
- 0002:000006a0 00000004H .rtc$TZZ                DATA
- 0002:000006a4 0000003cH .idata$2                DATA
- 0002:000006e0 00000014H .idata$3                DATA
- 0002:000006f4 000000a4H .idata$4                DATA
- 0002:00000798 00000232H .idata$6                DATA
- 0002:000009d0 000007a4H .edata                  DATA
- 0003:00000000 00000004H .CRT$XCA                DATA
- 0003:00000004 00000004H .CRT$XCZ                DATA
- 0003:00000008 00000004H .CRT$XIA                DATA
- 0003:0000000c 00000004H .CRT$XIZ                DATA
- 0003:00000010 00000004H .data                   DATA
- 0003:00000014 00000014H .bss                    DATA
-
-  Address         Publics by Value              Rva+Base     Lib:Object
-
- 0000:00000001       ___safe_se_handler_count   00000001     <absolute>
- 0001:00000000       _Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC@12 11301000 f   CommPortIdentifier.obj
- 0001:00000020       _Java_org_eclipse_soda_dk_comm_NSCommDriver_discoverDevicesNC@8 11301020 f   NSCommDriver.obj
- 0001:00000040       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceOneByteNC@8 11301040 f   NSDeviceInputStream.obj
- 0001:00000060       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceNC@20 11301060 f   NSDeviceInputStream.obj
- 0001:00000090       _Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_getReadCountNC@8 11301090 f   NSDeviceInputStream.obj
- 0001:000000b0       _Java_org_eclipse_soda_dk_comm_NSDeviceOutputStream_writeDeviceNC@20 113010b0 f   NSDeviceOutputStream.obj
- 0001:000000e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_closeDeviceNC@16 113010e0 f   NSSerialPort.obj
- 0001:00000100       _Java_org_eclipse_soda_dk_comm_NSSerialPort_openDeviceNC@16 11301100 f   NSSerialPort.obj
- 0001:00000120       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setFlowControlModeNC@16 11301120 f   NSSerialPort.obj
- 0001:00000140       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getFlowControlModeNC@12 11301140 f   NSSerialPort.obj
- 0001:00000160       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getBaudRateNC@12 11301160 f   NSSerialPort.obj
- 0001:00000180       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getDataBitsNC@12 11301180 f   NSSerialPort.obj
- 0001:000001a0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getStopBitsNC@12 113011a0 f   NSSerialPort.obj
- 0001:000001c0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_getParityNC@12 113011c0 f   NSSerialPort.obj
- 0001:000001e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setDTRNC@12 113011e0 f   NSSerialPort.obj
- 0001:00000200       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isDTRNC@8 11301200 f   NSSerialPort.obj
- 0001:00000220       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setRTSNC@12 11301220 f   NSSerialPort.obj
- 0001:00000240       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isRTSNC@8 11301240 f   NSSerialPort.obj
- 0001:00000260       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isCTSNC@8 11301260 f   NSSerialPort.obj
- 0001:00000280       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isDSRNC@8 11301280 f   NSSerialPort.obj
- 0001:000002a0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isRINC@8 113012a0 f   NSSerialPort.obj
- 0001:000002c0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_isCDNC@8 113012c0 f   NSSerialPort.obj
- 0001:000002e0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_sendBreakNC@16 113012e0 f   NSSerialPort.obj
- 0001:000002f0       _Java_org_eclipse_soda_dk_comm_NSSerialPort_setSerialPortParamsNC@28 113012f0 f   NSSerialPort.obj
- 0001:00000320       _Java_org_eclipse_soda_dk_comm_SerialDataEventThread_monitorSerialDataNC@12 11301320 f   SerialDataEventThread.obj
- 0001:00000340       _Java_org_eclipse_soda_dk_comm_SerialStatusEventThread_monitorSerialStatusNC@12 11301340 f   SerialStatusEventThread.obj
- 0001:00000360       _w32CommDriver_discoverDevicesNC 11301360 f   w32CommDriver.obj
- 0001:00000510       _w32CommPortIdentifier_monitorInterJVMDeviceAccessNC 11301510 f   w32CommPortIdentifier.obj
- 0001:00000770       _w32DeviceInputStream_readDeviceOneByteNC 11301770 f   w32DeviceInputStream.obj
- 0001:00000940       _w32DeviceInputStream_readDeviceNC 11301940 f   w32DeviceInputStream.obj
- 0001:00000c10       _w32DeviceInputStream_getReadCountNC 11301c10 f   w32DeviceInputStream.obj
- 0001:00000d30       _w32DeviceOutputStream_writeDeviceNC 11301d30 f   w32DeviceOutputStream.obj
- 0001:00000f70       _w32SerialDataEventThread_monitorSerialDataNC 11301f70 f   w32SerialDataEventThread.obj
- 0001:00001250       _w32getfd                  11302250 f   w32SerialPort.obj
- 0001:000012b0       _w32SerialPort_closeDeviceNC 113022b0 f   w32SerialPort.obj
- 0001:000012c0       _w32SerialPort_openDeviceNC 113022c0 f   w32SerialPort.obj
- 0001:00001350       _w32SerialPort_setFlowControlModeNC 11302350 f   w32SerialPort.obj
- 0001:00001440       _w32SerialPort_getFlowControlModeNC 11302440 f   w32SerialPort.obj
- 0001:00001500       _w32SerialPort_getBaudRateNC 11302500 f   w32SerialPort.obj
- 0001:00001560       _w32SerialPort_getDataBitsNC 11302560 f   w32SerialPort.obj
- 0001:000015c0       _w32SerialPort_getStopBitsNC 113025c0 f   w32SerialPort.obj
- 0001:00001640       _w32SerialPort_getParityNC 11302640 f   w32SerialPort.obj
- 0001:00001700       _w32SerialPort_setDTRNC    11302700 f   w32SerialPort.obj
- 0001:000017b0       _w32SerialPort_isDTRNC     113027b0 f   w32SerialPort.obj
- 0001:00001840       _w32SerialPort_setRTSNC    11302840 f   w32SerialPort.obj
- 0001:00001900       _w32SerialPort_isRTSNC     11302900 f   w32SerialPort.obj
- 0001:00001990       _w32SerialPort_isCTSNC     11302990 f   w32SerialPort.obj
- 0001:000019d0       _w32SerialPort_isDSRNC     113029d0 f   w32SerialPort.obj
- 0001:00001a10       _w32SerialPort_isRINC      11302a10 f   w32SerialPort.obj
- 0001:00001a50       _w32SerialPort_isCDNC      11302a50 f   w32SerialPort.obj
- 0001:00001a90       _w32SerialPort_setSerialPortParamsNC 11302a90 f   w32SerialPort.obj
- 0001:00001c50       _w32SerialStatusEventThread_monitorSerialStatusNC 11302c50 f   w32SerialStatusEventThread.obj
- 0001:000021b0       _iveSerThrow               113031b0 f   NSCommLOG.obj
- 0001:00002200       _iveSerThrowWin            11303200 f   NSCommLOG.obj
- 0001:000022c0       _iveSerClearCommErrors     113032c0 f   NSCommLOG.obj
- 0001:000022dc       ___WSAFDIsSet@8            113032dc f   ws2_32:WS2_32.dll
- 0001:000022e2       __CRT_INIT@12              113032e2 f   MSVCRT:crtdll.obj
- 0001:000023a0       __DllMainCRTStartup@12     113033a0 f   MSVCRT:crtdll.obj
- 0001:00002484       __initterm                 11303484 f   MSVCRT:MSVCR71.dll
- 0001:0000248a       __onexit                   1130348a f   MSVCRT:atonexit.obj
- 0001:000024b0       _atexit                    113034b0 f   MSVCRT:atonexit.obj
- 0001:000024c2       __RTC_Initialize           113034c2 f   MSVCRT:initsect.obj
- 0001:00002506       __RTC_Terminate            11303506 f   MSVCRT:initsect.obj
- 0001:0000254a       ___CppXcptFilter           1130354a f   MSVCRT:MSVCR71.dll
- 0001:00002550       _DllMain@12                11303550 f   MSVCRT:dllmain.obj
- 0001:00002570       __SEH_prolog               11303570 f   MSVCRT:sehprolg.obj
- 0001:000025ab       __SEH_epilog               113035ab f   MSVCRT:sehprolg.obj
- 0001:000025bc       __except_handler3          113035bc f   MSVCRT:MSVCR71.dll
- 0001:000025c2       ___dllonexit               113035c2 f   MSVCRT:MSVCR71.dll
- 0002:00000000       __imp__GetCommState@8      11304000     kernel32:KERNEL32.dll
- 0002:00000004       __imp__ClearCommError@12   11304004     kernel32:KERNEL32.dll
- 0002:00000008       __imp__Sleep@4             11304008     kernel32:KERNEL32.dll
- 0002:0000000c       __imp__GetOverlappedResult@16 1130400c     kernel32:KERNEL32.dll
- 0002:00000010       __imp__CloseHandle@4       11304010     kernel32:KERNEL32.dll
- 0002:00000014       __imp__ReadFile@20         11304014     kernel32:KERNEL32.dll
- 0002:00000018       __imp__GetLastError@0      11304018     kernel32:KERNEL32.dll
- 0002:0000001c       __imp__CreateEventA@16     1130401c     kernel32:KERNEL32.dll
- 0002:00000020       __imp__GlobalUnlock@4      11304020     kernel32:KERNEL32.dll
- 0002:00000024       __imp__GlobalHandle@4      11304024     kernel32:KERNEL32.dll
- 0002:00000028       __imp__GlobalFree@4        11304028     kernel32:KERNEL32.dll
- 0002:0000002c       __imp__GlobalLock@4        1130402c     kernel32:KERNEL32.dll
- 0002:00000030       __imp__GlobalAlloc@8       11304030     kernel32:KERNEL32.dll
- 0002:00000034       __imp__WaitCommEvent@12    11304034     kernel32:KERNEL32.dll
- 0002:00000038       __imp__SetCommMask@8       11304038     kernel32:KERNEL32.dll
- 0002:0000003c       __imp__GetCommMask@8       1130403c     kernel32:KERNEL32.dll
- 0002:00000040       __imp__WriteFile@20        11304040     kernel32:KERNEL32.dll
- 0002:00000044       __imp__CreateFileA@28      11304044     kernel32:KERNEL32.dll
- 0002:00000048       __imp__SetCommState@8      11304048     kernel32:KERNEL32.dll
- 0002:0000004c       __imp__DisableThreadLibraryCalls@4 1130404c     kernel32:KERNEL32.dll
- 0002:00000050       __imp__GetCommModemStatus@8 11304050     kernel32:KERNEL32.dll
- 0002:00000054       __imp__SetCommTimeouts@8   11304054     kernel32:KERNEL32.dll
- 0002:00000058       __imp__FormatMessageA@28   11304058     kernel32:KERNEL32.dll
- 0002:0000005c       \177KERNEL32_NULL_THUNK_DATA 1130405c     kernel32:KERNEL32.dll
- 0002:00000060       __imp___initterm           11304060     MSVCRT:MSVCR71.dll
- 0002:00000064       __imp___onexit             11304064     MSVCRT:MSVCR71.dll
- 0002:00000068       __imp__printf              11304068     MSVCRT:MSVCR71.dll
- 0002:0000006c       __imp__fprintf             1130406c     MSVCRT:MSVCR71.dll
- 0002:00000070       __imp___iob                11304070     MSVCRT:MSVCR71.dll
- 0002:00000074       __imp___errno              11304074     MSVCRT:MSVCR71.dll
- 0002:00000078       __imp__sprintf             11304078     MSVCRT:MSVCR71.dll
- 0002:0000007c       __imp__free                1130407c     MSVCRT:MSVCR71.dll
- 0002:00000080       __imp__malloc              11304080     MSVCRT:MSVCR71.dll
- 0002:00000084       __imp___adjust_fdiv        11304084     MSVCRT:MSVCR71.dll
- 0002:00000088       __imp____CppXcptFilter     11304088     MSVCRT:MSVCR71.dll
- 0002:0000008c       __imp___except_handler3    1130408c     MSVCRT:MSVCR71.dll
- 0002:00000090       __imp____dllonexit         11304090     MSVCRT:MSVCR71.dll
- 0002:00000094       \177MSVCR71_NULL_THUNK_DATA 11304094     MSVCRT:MSVCR71.dll
- 0002:00000098       __imp__select@20           11304098     ws2_32:WS2_32.dll
- 0002:0000009c       __imp____WSAFDIsSet@8      1130409c     ws2_32:WS2_32.dll
- 0002:000000a0       \177WS2_32_NULL_THUNK_DATA 113040a0     ws2_32:WS2_32.dll
- 0002:000000cc       ??_C@_0BA@DKOKNLIO@addDeviceToList?$AA@ 113040cc     w32CommDriver.obj
- 0002:000000dc       ??_C@_0CK@PFBBOMIO@?$CILjava?1lang?1String?$DLILjava?1lang?1S@ 113040dc     w32CommDriver.obj
- 0002:00000108       ??_C@_0BB@JPFAMGLG@?6?6?$CFd?5asserted?$CB?6?6?$AA@ 11304108     w32CommDriver.obj
- 0002:0000011c       ??_C@_04CGJBIPHE@COM4?$AA@ 1130411c     w32CommDriver.obj
- 0002:00000124       ??_C@_04GJNABJLD@COM3?$AA@ 11304124     w32CommDriver.obj
- 0002:0000012c       ??_C@_04MCDLDDNG@LPT1?$AA@ 1130412c     w32CommDriver.obj
- 0002:00000134       ??_C@_04HAMLCIPC@COM2?$AA@ 11304134     w32CommDriver.obj
- 0002:0000013c       ??_C@_04FLOGHLDB@COM1?$AA@ 1130413c     w32CommDriver.obj
- 0002:00000144       ??_C@_0M@MACEOJAN@pollingTime?$AA@ 11304144     w32CommPortIdentifier.obj
- 0002:00000150       ??_C@_01JPJNBJEM@I?$AA@    11304150     w32CommPortIdentifier.obj
- 0002:00000154       ??_C@_0BO@CPNLBCEJ@javax?1comm?1CommPortIdentifier?$AA@ 11304154     w32CommPortIdentifier.obj
- 0002:00000174       ??_C@_0O@NBKAIMLM@isInterrupted?$AA@ 11304174     w32CommPortIdentifier.obj
- 0002:00000184       ??_C@_03MMPFGPID@?$CI?$CJZ?$AA@ 11304184     w32CommPortIdentifier.obj
- 0002:00000188       ??_C@_0BB@NOKBFPFO@java?1lang?1Thread?$AA@ 11304188     w32CommPortIdentifier.obj
- 0002:0000019c       ??_C@_04MEMAJGDJ@name?$AA@ 1130419c     w32CommPortIdentifier.obj
- 0002:000001a4       ??_C@_0BD@JFADHEFE@Ljava?1lang?1String?$DL?$AA@ 113041a4     w32CommPortIdentifier.obj
- 0002:000001b8       ??_C@_0BJ@EKOOIJDM@PORT_OWNERSHIP_REQUESTED?$AA@ 113041b8     w32CommPortIdentifier.obj
- 0002:000001d4       ??_C@_0N@GCHANIDN@PORT_UNOWNED?$AA@ 113041d4     w32CommPortIdentifier.obj
- 0002:000001e4       ??_C@_0L@DGJAIDMO@PORT_OWNED?$AA@ 113041e4     w32CommPortIdentifier.obj
- 0002:000001f0       ??_C@_0CF@LEBHMMNO@javax?1comm?1CommPortOwnershipList@ 113041f0     w32CommPortIdentifier.obj
- 0002:00000218       ??_C@_0BD@DJGIFLED@fireOwnershipEvent?$AA@ 11304218     w32CommPortIdentifier.obj
- 0002:0000022c       ??_C@_04PFANPMCN@?$CII?$CJV?$AA@ 1130422c     w32CommPortIdentifier.obj
- 0002:00000234       ??_C@_0BD@GBHBBJKK@Error?5reading?5data?$AA@ 11304234     w32DeviceInputStream.obj
- 0002:00000248       ??_C@_0BP@JHKNIHPB@Error?5creating?5event?5semaphore?$AA@ 11304248     w32DeviceInputStream.obj
- 0002:00000268       ??_C@_02ENHFDPNM@fd?$AA@   11304268     w32DeviceInputStream.obj
- 0002:0000026b       ??_C@_00CNPNBAHC@?$AA@     1130426b     w32DeviceInputStream.obj
- 0002:0000026c       ??_C@_0BE@EBAPEBGJ@java?1io?1IOException?$AA@ 1130426c     w32DeviceInputStream.obj
- 0002:00000280       ??_C@_07DFPBEPEC@tmoDone?$AA@ 11304280     w32DeviceInputStream.obj
- 0002:00000288       ??_C@_01POHCFINO@Z?$AA@    11304288     w32DeviceInputStream.obj
- 0002:0000028c       ??_C@_03JIIMDIDD@tmo?$AA@  1130428c     w32DeviceInputStream.obj
- 0002:00000290       ??_C@_0BD@JJLDMOGH@Error?5writing?5data?$AA@ 11304290     w32DeviceOutputStream.obj
- 0002:000002a4       ??_C@_0BL@GHKGOAFM@Error?5writing?5pending?5data?$AA@ 113042a4     w32DeviceOutputStream.obj
- 0002:000002c0       ??_C@_0BB@BOAIAAB@notifyOnDataFlag?$AA@ 113042c0     w32SerialDataEventThread.obj
- 0002:000002d4       ??_C@_0BC@HPCHKFFH@reportSerialEvent?$AA@ 113042d4     w32SerialDataEventThread.obj
- 0002:000002e8       ??_C@_06LLPILDMP@?$CIIZZ?$CJV?$AA@ 113042e8     w32SerialDataEventThread.obj
- 0002:000002f0       ??_C@_0L@MAAAEFDE@serialPort?$AA@ 113042f0     w32SerialDataEventThread.obj
- 0002:000002fc       ??_C@_0BM@KAHNFPOG@Lcom?1ibm?1comm?1NSSerialPort?$DL?$AA@ 113042fc     w32SerialDataEventThread.obj
- 0002:00000318       ??_C@_0P@KBKADJBM@DATA_AVAILABLE?$AA@ 11304318     w32SerialDataEventThread.obj
- 0002:00000328       ??_C@_0BL@ILADHPFC@javax?1comm?1SerialPortEvent?$AA@ 11304328     w32SerialDataEventThread.obj
- 0002:00000344       ??_C@_0BD@OHJNHKHO@Error?5opening?5port?$AA@ 11304344     w32SerialPort.obj
- 0002:00000358       ??_C@_0BC@DLMHNEGO@portName?5is?5NULL?6?$AA@ 11304358     w32SerialPort.obj
- 0002:0000036c       ??_C@_0DE@GKAMPLLG@w32SerialPort_setDTRNC?$CI?$CJ?5failed?5@ 1130436c     w32SerialPort.obj
- 0002:000003a0       ??_C@_0BG@HPDKJDLF@SetCommState?$CI?$CJ?5failed?$AA@ 113043a0     w32SerialPort.obj
- 0002:000003b8       ??_C@_0BG@IKGMEKPE@GetCommState?$CI?$CJ?5failed?$AA@ 113043b8     w32SerialPort.obj
- 0002:000003d0       ??_C@_0DE@OFFEFAE@w32SerialPort_setDTRNC?$CI?$CJ?5failed?5@ 113043d0     w32SerialPort.obj
- 0002:00000404       ??_C@_0DD@GCHOIIHP@w32SerialPort_isRTSNC?$CI?$CJ?5failed?5t@ 11304404     w32SerialPort.obj
- 0002:00000438       ??_C@_0BJ@BEHBIPCI@SetCommTimeouts?$CI?$CJ?5failed?$AA@ 11304438     w32SerialPort.obj
- 0002:00000458       ??_C@_0ED@DPOFFCNL@w32SerialStatusEventThread_monit@ 11304458     w32SerialStatusEventThread.obj
- 0002:000004a0       ??_C@_0FC@KANLAHLN@w32SerialStatusEventThread_monit@ 113044a0     w32SerialStatusEventThread.obj
- 0002:000004f4       ??_C@_0P@LNBOEMLD@notifyOnRIFlag?$AA@ 113044f4     w32SerialStatusEventThread.obj
- 0002:00000504       ??_C@_0BA@OEMCCJHB@notifyOnDSRFlag?$AA@ 11304504     w32SerialStatusEventThread.obj
- 0002:00000514       ??_C@_0BA@OAPMMNED@notifyOnCTSFlag?$AA@ 11304514     w32SerialStatusEventThread.obj
- 0002:00000524       ??_C@_0P@MACJMIBH@notifyOnCDFlag?$AA@ 11304524     w32SerialStatusEventThread.obj
- 0002:00000534       ??_C@_02EODNCIHP@RI?$AA@   11304534     w32SerialStatusEventThread.obj
- 0002:00000538       ??_C@_03CMLKEALG@DSR?$AA@  11304538     w32SerialStatusEventThread.obj
- 0002:0000053c       ??_C@_03KNDJFPML@CTS?$AA@  1130453c     w32SerialStatusEventThread.obj
- 0002:00000540       ??_C@_02OGHHJPHF@CD?$AA@   11304540     w32SerialStatusEventThread.obj
- 0002:00000544       ??_C@_0BO@JOOJOFDP@javax?1comm?1PortInUseException?$AA@ 11304544     NSCommLOG.obj
- 0002:00000564       ??_C@_0BP@BMFPBIGF@javax?1comm?1NoSuchPortException?$AA@ 11304564     NSCommLOG.obj
- 0002:00000584       ??_C@_0BP@KFMBBGE@javax?1comm?1SerialPortException?$AA@ 11304584     NSCommLOG.obj
- 0002:000005a4       ??_C@_0O@JKHHKLAA@?$CFs?$DL?5rc?$DN?$CFd?0?5?$CFs?$AA@ 113045a4     NSCommLOG.obj
- 0002:000005e8       __load_config_used         113045e8     MSVCRT:loadcfg.obj
- 0002:00000690       ___safe_se_handler_table   11304690     <linker-defined>
- 0002:00000694       ___rtc_iaa                 11304694     MSVCRT:initsect.obj
- 0002:00000698       ___rtc_izz                 11304698     MSVCRT:initsect.obj
- 0002:0000069c       ___rtc_taa                 1130469c     MSVCRT:initsect.obj
- 0002:000006a0       ___rtc_tzz                 113046a0     MSVCRT:initsect.obj
- 0002:000006a4       __IMPORT_DESCRIPTOR_WS2_32 113046a4     ws2_32:WS2_32.dll
- 0002:000006b8       __IMPORT_DESCRIPTOR_KERNEL32 113046b8     kernel32:KERNEL32.dll
- 0002:000006cc       __IMPORT_DESCRIPTOR_MSVCR71 113046cc     MSVCRT:MSVCR71.dll
- 0002:000006e0       __NULL_IMPORT_DESCRIPTOR   113046e0     ws2_32:WS2_32.dll
- 0003:00000000       ___xc_a                    11306000     MSVCRT:cinitexe.obj
- 0003:00000004       ___xc_z                    11306004     MSVCRT:cinitexe.obj
- 0003:00000008       ___xi_a                    11306008     MSVCRT:cinitexe.obj
- 0003:0000000c       ___xi_z                    1130600c     MSVCRT:cinitexe.obj
- 0003:00000010       ___security_cookie         11306010     MSVCRT:seccook.obj
- 0003:00000018       __adjust_fdiv              11306018     <common>
- 0003:0000001c       ___onexitend               1130601c     <common>
- 0003:00000020       ___onexitbegin             11306020     <common>
- 0003:00000024       __pRawDllMain              11306024     <common>
-
- entry point at        0001:000023a0
-
- Static symbols
-
- 0001:000004c0       _getPollingTime            113014c0 f   w32CommPortIdentifier.obj
- 0001:00000f20       _getPollingTime            11301f20 f   w32SerialDataEventThread.obj
- 0001:00001c00       _getPollingTime            11302c00 f   w32SerialStatusEventThread.obj
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSCommDriver.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSCommDriver.h
deleted file mode 100644
index 5bfe97e..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSCommDriver.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <jni.h>
-/* Header for class org_eclipse_soda_dk_comm_NSCommDriver */
-#ifndef _Included_org_eclipse_soda_dk_comm_NSCommDriver
-#define _Included_org_eclipse_soda_dk_comm_NSCommDriver
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_NSCommDriver
- * Method:    discoverDevicesNC
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_NSCommDriver_discoverDevicesNC
-  (JNIEnv *, jobject);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSDeviceInputStream.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSDeviceInputStream.h
deleted file mode 100644
index 9f466f2..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSDeviceInputStream.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <jni.h>
-/* Header for class org_eclipse_soda_dk_comm_NSDeviceInputStream */
-#ifndef _Included_org_eclipse_soda_dk_comm_NSDeviceInputStream
-#define _Included_org_eclipse_soda_dk_comm_NSDeviceInputStream
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_NSDeviceInputStream
- * Method:    readDeviceOneByteNC
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceOneByteNC
-  (JNIEnv *, jobject);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSDeviceInputStream
- * Method:    readDeviceNC
- * Signature: ([BII)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_readDeviceNC
-  (JNIEnv *, jobject, jbyteArray, jint, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSDeviceInputStream
- * Method:    getReadCountNC
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSDeviceInputStream_getReadCountNC
-  (JNIEnv *, jobject);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSDeviceOutputStream.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSDeviceOutputStream.h
deleted file mode 100644
index c79e279..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSDeviceOutputStream.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <jni.h>
-/* Header for class org_eclipse_soda_dk_comm_NSDeviceOutputStream */
-#ifndef _Included_org_eclipse_soda_dk_comm_NSDeviceOutputStream
-#define _Included_org_eclipse_soda_dk_comm_NSDeviceOutputStream
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     org_eclipse_soda_dk_comm_NSDeviceOutputStream
- * Method:    writeDeviceNC
- * Signature: ([BII)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSDeviceOutputStream_writeDeviceNC
-  (JNIEnv *, jobject, jbyteArray, jint, jint);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSParallelPort.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSParallelPort.h
deleted file mode 100644
index 93b0db7..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSParallelPort.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <jni.h>
-/* Header for class org_eclipse_soda_dk_comm_NSParallelPort */
-#ifndef _Included_org_eclipse_soda_dk_comm_NSParallelPort
-#define _Included_org_eclipse_soda_dk_comm_NSParallelPort
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_ANY
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_ANY 0L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_SPP
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_SPP 1L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_PS2
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_PS2 2L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_EPP
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_EPP 3L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_ECP
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_ECP 4L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_NIBBLE
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_NIBBLE 5L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_ANY
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_ANY 0L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_SPP
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_SPP 1L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_PS2
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_PS2 2L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_EPP
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_EPP 3L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_ECP
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_ECP 4L
-#undef org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_NIBBLE
-#define org_eclipse_soda_dk_comm_NSParallelPort_LPT_MODE_NIBBLE 5L
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    openDeviceNC
- * Signature: (Ljava/lang/String;I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_openDeviceNC
-  (JNIEnv *, jobject, jstring, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    closeDeviceNC
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_closeDeviceNC
-  (JNIEnv *, jobject, jint, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPaperOutNC
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_isPaperOutNC
-  (JNIEnv *, jobject, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterBusyNC
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterBusyNC
-  (JNIEnv *, jobject, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterSelectedNC
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterSelectedNC
-  (JNIEnv *, jobject, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterTimedOutNC
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterTimedOutNC
-  (JNIEnv *, jobject, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterErrorNC
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSParallelPort_isPrinterErrorNC
-  (JNIEnv *, jobject, jint);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSSerialPort.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSSerialPort.h
deleted file mode 100644
index 3d76d55..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_NSSerialPort.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <jni.h>
-/* Header for class org_eclipse_soda_dk_comm_NSSerialPort */
-#ifndef _Included_org_eclipse_soda_dk_comm_NSSerialPort
-#define _Included_org_eclipse_soda_dk_comm_NSSerialPort
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_5
-#define org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_5 5L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_6
-#define org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_6 6L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_7
-#define org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_7 7L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_8
-#define org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_8 8L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_1
-#define org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_1 1L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_2
-#define org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_2 2L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_1_5
-#define org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_1_5 3L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_PARITY_NONE
-#define org_eclipse_soda_dk_comm_NSSerialPort_PARITY_NONE 0L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_PARITY_ODD
-#define org_eclipse_soda_dk_comm_NSSerialPort_PARITY_ODD 1L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_PARITY_EVEN
-#define org_eclipse_soda_dk_comm_NSSerialPort_PARITY_EVEN 2L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_PARITY_MARK
-#define org_eclipse_soda_dk_comm_NSSerialPort_PARITY_MARK 3L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_PARITY_SPACE
-#define org_eclipse_soda_dk_comm_NSSerialPort_PARITY_SPACE 4L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_NONE
-#define org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_NONE 0L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_RTSCTS_IN
-#define org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_RTSCTS_IN 1L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_RTSCTS_OUT
-#define org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_RTSCTS_OUT 2L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_XONXOFF_IN
-#define org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_XONXOFF_IN 4L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_XONXOFF_OUT
-#define org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_XONXOFF_OUT 8L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_5
-#define org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_5 5L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_6
-#define org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_6 6L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_7
-#define org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_7 7L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_8
-#define org_eclipse_soda_dk_comm_NSSerialPort_DATABITS_8 8L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_1
-#define org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_1 1L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_2
-#define org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_2 2L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_1_5
-#define org_eclipse_soda_dk_comm_NSSerialPort_STOPBITS_1_5 3L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_PARITY_NONE
-#define org_eclipse_soda_dk_comm_NSSerialPort_PARITY_NONE 0L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_PARITY_ODD
-#define org_eclipse_soda_dk_comm_NSSerialPort_PARITY_ODD 1L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_PARITY_EVEN
-#define org_eclipse_soda_dk_comm_NSSerialPort_PARITY_EVEN 2L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_PARITY_MARK
-#define org_eclipse_soda_dk_comm_NSSerialPort_PARITY_MARK 3L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_PARITY_SPACE
-#define org_eclipse_soda_dk_comm_NSSerialPort_PARITY_SPACE 4L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_NONE
-#define org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_NONE 0L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_RTSCTS_IN
-#define org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_RTSCTS_IN 1L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_RTSCTS_OUT
-#define org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_RTSCTS_OUT 2L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_XONXOFF_IN
-#define org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_XONXOFF_IN 4L
-#undef org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_XONXOFF_OUT
-#define org_eclipse_soda_dk_comm_NSSerialPort_FLOWCONTROL_XONXOFF_OUT 8L
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    openDeviceNC
- * Signature: (Ljava/lang/String;I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_openDeviceNC
-  (JNIEnv *, jobject, jstring, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    closeDeviceNC
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_closeDeviceNC
-  (JNIEnv *, jobject, jint, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setFlowControlModeNC
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_setFlowControlModeNC
-  (JNIEnv *, jobject, jint, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getFlowControlModeNC
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_getFlowControlModeNC
-  (JNIEnv *, jobject, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    sendBreakNC
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_sendBreakNC
-  (JNIEnv *, jobject, jint, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getBaudRateNC
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_getBaudRateNC
-  (JNIEnv *, jobject, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getDataBitsNC
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_getDataBitsNC
-  (JNIEnv *, jobject, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getStopBitsNC
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_getStopBitsNC
-  (JNIEnv *, jobject, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    getParityNC
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_getParityNC
-  (JNIEnv *, jobject, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setDTRNC
- * Signature: (Z)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_setDTRNC
-  (JNIEnv *, jobject, jboolean);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setRTSNC
- * Signature: (Z)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_setRTSNC
-  (JNIEnv *, jobject, jboolean);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    setSerialPortParamsNC
- * Signature: (IIIII)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_setSerialPortParamsNC
-  (JNIEnv *, jobject, jint, jint, jint, jint, jint);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isDTRNC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isDTRNC
-  (JNIEnv *, jobject);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isRTSNC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isRTSNC
-  (JNIEnv *, jobject);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isCTSNC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isCTSNC
-  (JNIEnv *, jobject);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isDSRNC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isDSRNC
-  (JNIEnv *, jobject);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isRINC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isRINC
-  (JNIEnv *, jobject);
-/*
- * Class:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    isCDNC
- * Signature: ()Z
- */
-JNIEXPORT jboolean JNICALL Java_org_eclipse_soda_dk_comm_NSSerialPort_isCDNC
-  (JNIEnv *, jobject);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_ParallelErrorEventThread.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_ParallelErrorEventThread.h
deleted file mode 100644
index f726a9e..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_ParallelErrorEventThread.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <jni.h>
-/* Header for class org_eclipse_soda_dk_comm_ParallelErrorEventThread */
-#ifndef _Included_org_eclipse_soda_dk_comm_ParallelErrorEventThread
-#define _Included_org_eclipse_soda_dk_comm_ParallelErrorEventThread
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef org_eclipse_soda_dk_comm_ParallelErrorEventThread_MAX_PRIORITY
-#define org_eclipse_soda_dk_comm_ParallelErrorEventThread_MAX_PRIORITY 10L
-#undef org_eclipse_soda_dk_comm_ParallelErrorEventThread_MIN_PRIORITY
-#define org_eclipse_soda_dk_comm_ParallelErrorEventThread_MIN_PRIORITY 1L
-#undef org_eclipse_soda_dk_comm_ParallelErrorEventThread_NORM_PRIORITY
-#define org_eclipse_soda_dk_comm_ParallelErrorEventThread_NORM_PRIORITY 5L
-#undef org_eclipse_soda_dk_comm_ParallelErrorEventThread_NANOS_MAX
-#define org_eclipse_soda_dk_comm_ParallelErrorEventThread_NANOS_MAX 999999L
-#undef org_eclipse_soda_dk_comm_ParallelErrorEventThread_INITIAL_LOCAL_STORAGE_CAPACITY
-#define org_eclipse_soda_dk_comm_ParallelErrorEventThread_INITIAL_LOCAL_STORAGE_CAPACITY 5L
-#undef org_eclipse_soda_dk_comm_ParallelErrorEventThread_NO_REF
-#define org_eclipse_soda_dk_comm_ParallelErrorEventThread_NO_REF 0L
-/*
- * Class:     org_eclipse_soda_dk_comm_ParallelErrorEventThread
- * Method:    monitorParallelErrorNC
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_ParallelErrorEventThread_monitorParallelErrorNC
-  (JNIEnv *, jobject, jint);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_SerialDataEventThread.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_SerialDataEventThread.h
deleted file mode 100644
index 0267bc3..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_SerialDataEventThread.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <jni.h>
-/* Header for class org_eclipse_soda_dk_comm_SerialDataEventThread */
-#ifndef _Included_org_eclipse_soda_dk_comm_SerialDataEventThread
-#define _Included_org_eclipse_soda_dk_comm_SerialDataEventThread
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef org_eclipse_soda_dk_comm_SerialDataEventThread_MAX_PRIORITY
-#define org_eclipse_soda_dk_comm_SerialDataEventThread_MAX_PRIORITY 10L
-#undef org_eclipse_soda_dk_comm_SerialDataEventThread_MIN_PRIORITY
-#define org_eclipse_soda_dk_comm_SerialDataEventThread_MIN_PRIORITY 1L
-#undef org_eclipse_soda_dk_comm_SerialDataEventThread_NORM_PRIORITY
-#define org_eclipse_soda_dk_comm_SerialDataEventThread_NORM_PRIORITY 5L
-#undef org_eclipse_soda_dk_comm_SerialDataEventThread_NANOS_MAX
-#define org_eclipse_soda_dk_comm_SerialDataEventThread_NANOS_MAX 999999L
-#undef org_eclipse_soda_dk_comm_SerialDataEventThread_INITIAL_LOCAL_STORAGE_CAPACITY
-#define org_eclipse_soda_dk_comm_SerialDataEventThread_INITIAL_LOCAL_STORAGE_CAPACITY 5L
-#undef org_eclipse_soda_dk_comm_SerialDataEventThread_NO_REF
-#define org_eclipse_soda_dk_comm_SerialDataEventThread_NO_REF 0L
-/*
- * Class:     org_eclipse_soda_dk_comm_SerialDataEventThread
- * Method:    monitorSerialDataNC
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_SerialDataEventThread_monitorSerialDataNC
-  (JNIEnv *, jobject, jint);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_SerialStatusEventThread.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_SerialStatusEventThread.h
deleted file mode 100644
index 2531ac1..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/org_eclipse_soda_dk_comm_SerialStatusEventThread.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <jni.h>
-/* Header for class org_eclipse_soda_dk_comm_SerialStatusEventThread */
-#ifndef _Included_org_eclipse_soda_dk_comm_SerialStatusEventThread
-#define _Included_org_eclipse_soda_dk_comm_SerialStatusEventThread
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef org_eclipse_soda_dk_comm_SerialStatusEventThread_MAX_PRIORITY
-#define org_eclipse_soda_dk_comm_SerialStatusEventThread_MAX_PRIORITY 10L
-#undef org_eclipse_soda_dk_comm_SerialStatusEventThread_MIN_PRIORITY
-#define org_eclipse_soda_dk_comm_SerialStatusEventThread_MIN_PRIORITY 1L
-#undef org_eclipse_soda_dk_comm_SerialStatusEventThread_NORM_PRIORITY
-#define org_eclipse_soda_dk_comm_SerialStatusEventThread_NORM_PRIORITY 5L
-#undef org_eclipse_soda_dk_comm_SerialStatusEventThread_NANOS_MAX
-#define org_eclipse_soda_dk_comm_SerialStatusEventThread_NANOS_MAX 999999L
-#undef org_eclipse_soda_dk_comm_SerialStatusEventThread_INITIAL_LOCAL_STORAGE_CAPACITY
-#define org_eclipse_soda_dk_comm_SerialStatusEventThread_INITIAL_LOCAL_STORAGE_CAPACITY 5L
-#undef org_eclipse_soda_dk_comm_SerialStatusEventThread_NO_REF
-#define org_eclipse_soda_dk_comm_SerialStatusEventThread_NO_REF 0L
-/*
- * Class:     org_eclipse_soda_dk_comm_SerialStatusEventThread
- * Method:    monitorSerialStatusNC
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_SerialStatusEventThread_monitorSerialStatusNC
-  (JNIEnv *, jobject, jint);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/vc60.pdb b/target-platform/org.eclipse.soda.dk.comm/src/main/c/vc60.pdb
deleted file mode 100644
index 74e5bdc..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/vc60.pdb
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/vc70.pdb b/target-platform/org.eclipse.soda.dk.comm/src/main/c/vc70.pdb
deleted file mode 100644
index 46ed4ed..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/vc70.pdb
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32CommDriver.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32CommDriver.c
deleted file mode 100644
index 0e4bf8a..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32CommDriver.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-#ifndef _WIN32_WCE
-#include <sys/stat.h>
-#include <sys/types.h>
-#endif
-#include "org_eclipse_soda_dk_comm_NSCommDriver.h"
-#include "NSCommLOG.h"
-#if 0 //t.j
-#include <unistd.h>
-#ifdef _POSIX_SEMAPHORES
-#include <semaphore.h>
-#include "SysVStyleSemaphore.h"
-#else 
-#include <sys/ipc.h> 
-#include <sys/sem.h> 
-#endif 
-#endif //t.j
-#define assert(s)       if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-				 return;}
-#define CREAT_PERMS	(0666)
-typedef struct port_s {
-	char	*portName;
-	int		portType;
-	char	*deviceName;
-	int		semKey;
-} port_t;
-void w32CommDriver_discoverDevicesNC(JNIEnv *jenv, jobject jobj) {
-	jclass	jc;
-	jmethodID	jm;
-	const int	PORT_SERIAL   = 1;	// should match with CommPortIdentifier
-	const int	PORT_PARALLEL = 2;	// should match with CommPortIdentifier
-//	struct stat	sbuf;
-	jstring		pName, dName=NULL;
-	jthrowable	jt;
-	int			semID=0x11223344;
-  port_t	port_tbl[] =
-		{
-			{ "LPT1", PORT_PARALLEL, "LPT1", 0x11223344 },
-			{ "COM1", PORT_SERIAL  , "COM1", 0x11223345 },
-			{ "COM2", PORT_SERIAL  , "COM2", 0x11223347 },
-			{ "COM3", PORT_SERIAL  , "COM3", 0x11223348 },
-			{ "COM4", PORT_SERIAL  , "COM4", 0x11223349 },
-			{ "COM5", PORT_SERIAL  , "COM5", 0x11223350 },
-			{ "COM6", PORT_SERIAL  , "COM6", 0x11223351 },
-			{ "COM7", PORT_SERIAL  , "COM7", 0x11223352 },
-			{ "COM8", PORT_SERIAL  , "COM8", 0x11223353 },
-			{ "COM9", PORT_SERIAL  , "COM9", 0x11223354 },
-			{ "COM10", PORT_SERIAL  , "\\\\.\\COM10", 0x11223355 },
-			{ "COM11", PORT_SERIAL  , "\\\\.\\COM11", 0x11223356 },
-			{ "COM12", PORT_SERIAL  , "\\\\.\\COM12", 0x11223357 },
-			{ "COM13", PORT_SERIAL  , "\\\\.\\COM13", 0x11223358 },
-			{ "COM14", PORT_SERIAL  , "\\\\.\\COM14", 0x11223359 },
-			{ "COM15", PORT_SERIAL  , "\\\\.\\COM15", 0x11223360 },
-			{ "COM16", PORT_SERIAL  , "\\\\.\\COM16", 0x11223361 },
-			{ "COM17", PORT_SERIAL  , "\\\\.\\COM17", 0x11223362 },
-			{ "COM18", PORT_SERIAL  , "\\\\.\\COM18", 0x11223363 },
-			{ "COM19", PORT_SERIAL  , "\\\\.\\COM19", 0x11223364 },
-			{ "COM20", PORT_SERIAL  , "\\\\.\\COM20", 0x11223365 },
-		};
-  port_t	*pp;
-  // Get access to the method to add a port.
-  jc = (*jenv)->GetObjectClass(jenv, jobj);
-  assert(jc);
-  jm = (*jenv)->GetMethodID(jenv, jc, "addDeviceToList",
-			    "(Ljava/lang/String;ILjava/lang/String;I)V");
-  assert(jm);
-  // For all the pre-defined ports, check to see which ones exist, and add
-  // them selectively.
-  for (pp = port_tbl; pp < port_tbl+(sizeof(port_tbl)/sizeof(port_tbl[0])); ++pp) {
-	pName = (*jenv)->NewStringUTF(jenv, pp->portName);
-	if (!pName) continue;
-    
-	dName = (*jenv)->NewStringUTF(jenv, pp->deviceName);
-	if (!dName) continue;
-#if 0 //t.j
-		/* Obtain/create a semaphore for the device in consideration.
-		   If it fails, don't lock/unlock it later on. */
-#ifdef _POSIX_SEMAPHORES
-		semID = sem_create(pp->semKey, 1);
-#else
-		semID = semget((key_t)pp->semKey, 1, IPC_CREAT | CREAT_PERMS);
-#endif
-#endif
-#ifdef DEBUG
-//       LOG( ("pName: %s, %s, dName: %s, semID %d\n", pName,pp->portName, dName, semID) );
-       printf( "pName: %s %s, dNama: %s semID %d\n", pName, pp->portName, dName, semID );
-       fflush( stdout );
-#endif
-		
-	 (*jenv)->CallVoidMethod(jenv, jobj, jm,
-					pName, pp->portType, dName, semID);
-	 jt = (*jenv)->ExceptionOccurred(jenv);
-	 if (jt) {
-	   	(*jenv)->ExceptionDescribe(jenv);
-	   	(*jenv)->ExceptionClear(jenv);
-	 }
-  }
-  return;
-}	/* Java_org_eclipse_soda_dk_comm_NSCommDriver_discoverDevicesNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32CommPortIdentifier.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32CommPortIdentifier.c
deleted file mode 100644
index d5d0a15..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32CommPortIdentifier.c
+++ /dev/null
@@ -1,223 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-#include <windows.h>
-#include <winbase.h>
-#ifndef _WIN32_WCE
-#include <sys/types.h>
-#endif
-#include "javax_comm_CommPortIdentifier.h"
-#define assertexc(s)  if (!s) {fprintf(stderr, "\n\n%d asserted!\n\n", __LINE__); \
-				 return(-1);}
-#define NOOF_ELEMS(s)	((sizeof(s))/(sizeof(s[0])))
-typedef struct port_s {
-	char	*portName;
-	int		semKey;
-} port_t;
-//#ifndef _POSIX_SEMAPHORES
-//static struct sembuf	dev_wait[] = {
-//		{ 0, 0, 0 }	/* wait until it is free */
-//};
-//#endif
-static int	getPollingTime(JNIEnv *jenv) {
-  int		ptime = 5;
-  jclass	cic;
-  jfieldID	ptID;
-  jint		pt;
-  do {
-	cic = (*jenv)->FindClass(jenv, "javax/comm/CommPortIdentifier");
-	if (!cic) break;
-	ptID = (*jenv)->GetStaticFieldID(jenv, cic, "pollingTime", "I");
-	if (!ptID) break;
-	pt = (*jenv)->GetStaticIntField(jenv, cic, ptID);
-	if (pt > 0)
-		ptime = pt;
-  } while (0);
-  return ptime;
-}	/* getPollingTime() */
-#if 0 //t.j
-static int GetSemID(const char *pnm) {
-  int		semID = -1;
-  port_t	port_tbl[] =  
-	  {
-			{ "LPT1", 0x11223344 },
-			{ "COM1", 0x11223345 },
-			{ "COM2", 0x11223347 },
-			{ "COM3", 0x11223348 },
-			{ "COM4", 0x11223349 },
-			{ "COM5", 0x11223350 },
-			{ "COM6", 0x11223351 },
-			{ "COM7", 0x11223352 },
-			{ "COM8", 0x11223353 },
-			{ "COM9", 0x11223354 },
-			{ "COM10", 0x11223355 },
-			{ "COM11", 0x11223356 },
-			{ "COM12", 0x11223357 },
-			{ "COM13", 0x11223358 },
-			{ "COM14", 0x11223359 },
-			{ "COM15", 0x11223360 },
-			{ "COM16", 0x11223361 },
-			{ "COM17", 0x11223362 },
-			{ "COM18", 0x11223363 },
-			{ "COM19", 0x11223364 },
-			{ "COM20", 0x11223365 },
-		};
-  port_t	*pp;
-  int		keyFound = 0;
-  /* Find the semaphore key for the corresponding port name. */
-  for (pp = port_tbl;
-       pp < port_tbl+NOOF_ELEMS(port_tbl);
-       ++pp) {
-      if (!strcmp(pp->portName, pnm)) {
-	  keyFound++;
-	  break;
-      }
-  }
-  if (!keyFound)
-      return semID;
-#ifndef _POSIX_SEMAPHORES
-  /* Get the semaphore ID for the key obtained. */
-  semID = semget((key_t)pp->semKey, 1, 0);
-#else
-	/* don't worry about return value for right now */
-  semID = sem_create(pp->semKey, 1);
-#endif /* _POSIX_SEMAPHORES */
-  return semID;
-}	/* GetSemID() */
-#endif //t.j
-/*
- * Class:     javax_comm_CommPortIdentifier
- * Method:    monitorInterJVMDeviceAccessNC
- * Signature: (Ljava/lang/Thread;)I
- *
- * Currenty not Supported on Posix Devices
- */
-int w32CommPortIdentifier_monitorInterJVMDeviceAccessNC
-		(JNIEnv *jenv, jobject jobj, jobject jtho) {
-	int		pollingTime;	/* seconds */
-	int		oldVal, newVal;
-	jclass		jc;
-	jmethodID	jm;
-	jfieldID	pnameID;
-	jstring		pname;
-	const char	*pnamec;
-	jboolean	isInterruptedReturn;
-	jclass		jcpoc;		/* CommPortOwnershipListener interf */
-	jfieldID	cpoPOID;	/* PORT_OWNED ID */
-	jfieldID	cpoPUID;	/* PORT_UNOWNED ID */
-	jfieldID	cpoPRID;	/* PORT_OWNERSHIP_REQUESTED ID */
-	jint		cpoPO;		/* PORT_OWNED value */
-	jint		cpoPU;		/* PORT_UNOWNED value */
-	jint		cpoPR;		/* PORT_OWNERSHIP_REQUESTED value */
-	jmethodID	jintMethod;
-	jclass		jthreadClass;
-//t.j	int		semID;
-//t.j	union semuni	scarg;
-//	int		mypid = getpid();
-//	int		scpid;
-	pollingTime = getPollingTime(jenv);
-	/* Get the class ID of the CommPortIdentifier object.*/
-	jc = (*jenv)->GetObjectClass(jenv, jobj);
-	assertexc(jc);
-	/* Get the id of the method to report a change-ownership event. */
-	jm = (*jenv)->GetMethodID(jenv, jc, "fireOwnershipEvent", "(I)V");
-	assertexc(jm);
-	/* Get the const values for the CommPortOwnershipListener events.*/
-	jcpoc = (*jenv)->FindClass(jenv, "javax/comm/CommPortOwnershipListener");
-	assertexc(jcpoc);
-	cpoPOID = (*jenv)->GetStaticFieldID(jenv, jcpoc, "PORT_OWNED", "I");
-	assertexc(cpoPOID);
-	cpoPO = (*jenv)->GetStaticIntField(jenv, jcpoc, cpoPOID);
-	cpoPUID = (*jenv)->GetStaticFieldID(jenv, jcpoc, "PORT_UNOWNED", "I");
-	assertexc(cpoPUID);
-	cpoPU = (*jenv)->GetStaticIntField(jenv, jcpoc, cpoPUID);
-	cpoPRID = (*jenv)->GetStaticFieldID(jenv, jcpoc, "PORT_OWNERSHIP_REQUESTED", "I");
-	assertexc(cpoPRID);
-	cpoPR = (*jenv)->GetStaticIntField(jenv, jcpoc, cpoPRID);
-	/* Get the port name. */
-	pnameID = (*jenv)->GetFieldID(jenv, jc, "name", "Ljava/lang/String;");
-	assertexc(pnameID);
-	pname = (*jenv)->GetObjectField(jenv, jobj, pnameID);
-	assertexc(pname);
-  	pnamec = (*jenv)->GetStringUTFChars(jenv, pname, 0);
-	/* Get the corresponding semaphore ID for the port name. */
-//t.j	semID = GetSemID(pnamec);
-//	if (semID == -1)
-//t.j		return -1;
-	(*jenv)->ReleaseStringUTFChars(jenv, pname, pnamec);
-	/* Get access to the interrupted method. */
-	jthreadClass = (*jenv)->FindClass(jenv, "java/lang/Thread");
-	assertexc(jthreadClass);
-	jintMethod = (*jenv)->GetMethodID(jenv, jthreadClass, "isInterrupted", "()Z");
-	assertexc(jintMethod);
-#if 0 //t.j
-	(void)memset(&scarg, 0, sizeof(scarg));
-/* what is this for? */
-	/* Get the current value of the semaphore. */
-#ifdef  _POSIX_SEMAPHORES
-	if ((sem_getvalue(sem_lookup(semID), &oldVal)) < 0) {
-#else
-	if ((oldVal = semctl(semID, 0, GETVAL, scarg)) < 0) {
-#endif	
-		(void)fprintf(stderr, "Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC: semctl error %d!\n", errno);
-		return -1;
-	}
-#endif //t.j		
-/* !!!!!!!!!!!!!! */
-	while(1)
-	{
-		/* Check to see if this thread has been interrupted. */
-		isInterruptedReturn = (*jenv)->CallBooleanMethod(jenv, jtho, jintMethod);
-		if(isInterruptedReturn == JNI_TRUE)
-			break;
-		/* If the semaphore was locked the last time, wait until it
-		   gets unlocked.  Else, catch some breath.
-		 */
-		Sleep(pollingTime);
-		/* Get the new value of the semaphore. */
-			/* Get the current value of the semaphore. */
-#if 0 //t.j
-#ifdef  _POSIX_SEMAPHORES
-		if ((sem_getvalue(sem_lookup(semID), &oldVal)) < 0) {
-#else
-		if ((oldVal = semctl(semID, 0, GETVAL, scarg)) < 0) {
-#endif		
-			(void)fprintf(stderr, "Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC: semctl error %d!\n", errno);
-			return -1;
-		}
-		if (newVal == oldVal)
-			continue;
-		/* Get PID of the last process that changed the semaphore.
-		   If it is the same JVM, ignore this change.
-		 */
-			/* Get the current value of the semaphore. */
-#ifndef  _POSIX_SEMAPHORES
-   /* DLS HACK needs to be changed */
-		if ((scpid = semctl(semID, 0, GETPID, scarg)) < 0) {
-			(void)fprintf(stderr, "Java_javax_comm_CommPortIdentifier_monitorInterJVMDeviceAccessNC: semctl error %d!\n", errno);
-			return -1;
-		}
-		if (scpid != mypid) {
-			/* If locked, send a PORT_OWNED event.
-			   Else, send a PORT_UNOWNED event.
-			 */
-			(*jenv)->CallVoidMethod(jenv, jobj, jm,
-						newVal ? cpoPO : cpoPU);
-		}
-#endif
-#endif //t.j		
-		oldVal = newVal;
-	}	/* end of while() */
-	return 0;
-} /* w32CommPortIdentifier_monitorInterJVMDeviceAccessNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32DeviceInputStream.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32DeviceInputStream.c
deleted file mode 100644
index 67f1e7c..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32DeviceInputStream.c
+++ /dev/null
@@ -1,254 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-#include <windows.h>
-#ifndef _WIN32_WCE
-#include <sys/types.h>
-#endif
-#include "org_eclipse_soda_dk_comm_NSDeviceInputStream.h"
-#include "NSCommLOG.h"
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE 1
-#endif
-#define READ_TIMEOUT 500		/* milliseconds */
-#define assert(s)  if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-				 return(-1);}
-#define assertexc(s)    if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-				 (*jenv)->ThrowNew(jenv, ec, "");}
-/*
- * Function:   w32DeviceInputStream_readDeviceOneByteNC
- * Purpose:    Read one byte from serial port device 
- * Signature: ()I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32DeviceInputStream_readDeviceOneByteNC(JNIEnv *jenv, jobject jobj) {
-    HANDLE      osHandle;
-    BOOL        success;
-    OVERLAPPED  overlap; 
-    DWORD       lastRc;
-    DWORD       actualBytes = 0;
-	jclass		jc;
-	jclass		ec;
-	jfieldID	jf;
-	jint 		fd = -1;
-	char		buf[1];
-	
-#ifdef DEBUG
-    printf("w32DeviceOutputStream_writeDeviceNC() entered\n");
-#endif /* DEBUG */
-	/* Get the exception class. */
-	ec = (*jenv)->FindClass(jenv, "java/io/IOException");
-	assert(ec);
-	/* Get the file descriptor. */
-	jc = (*jenv)->GetObjectClass(jenv, jobj);
-	assertexc(jc);
-	jf = (*jenv)->GetFieldID(jenv, jc, "fd", "I");
-	assertexc(jf);
-	fd = (*jenv)->GetIntField(jenv, jobj, jf);
-	if (fd == -1) return -1;                    
-    osHandle = (HANDLE) fd;
-    iveSerClearCommErrors(osHandle);
-    memset(&overlap,0,sizeof(overlap));
-    overlap.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL);
-    if (NULL == overlap.hEvent) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"Error creating event semaphore",lastRc);
-        return 0;
-    }
-	success = ReadFile(osHandle, buf, 1, &actualBytes, &overlap);
-	if(success) {
-		CloseHandle(overlap.hEvent);
-		return (int)(unsigned char)buf[0];
-	} else {
-		lastRc = GetLastError();
-		if (ERROR_IO_PENDING != lastRc) {
-			CloseHandle(overlap.hEvent);
-			iveSerThrowWin(jenv,"Error reading data",lastRc);
-			return 0;
-		}
-	}
-	buf[0] = 0;
-	actualBytes = 0;
-#ifndef _WIN32_WCE
-	success = GetOverlappedResult(osHandle,&overlap,&actualBytes,TRUE);
-#endif
-	if ( success && actualBytes ) {
-		lastRc = (int)(unsigned char)(buf[0]);
-	} else {
-		lastRc = GetLastError();
-	}
-	CloseHandle(overlap.hEvent);
-	return lastRc;
-}	/* w32DeviceInputStream_readDeviceOneByteNC */
-/*
- * Function:   w32DeviceInputStream_readDeviceNC
- * Purpose:    Read Serial Port Device
- * Signature: ([BII)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32DeviceInputStream_readDeviceNC
-  (JNIEnv *jenv, jobject jobj, jbyteArray jba, jint off, jint len) {
-    HANDLE      osHandle;
-    BOOL        success;
-    OVERLAPPED  overlap; 
-    DWORD       lastRc;
-    DWORD       actualBytes = 0;
-	jclass		jc;
-	jfieldID	jf;
-	jint 		fd = -1;
-	jbyte		*cbuf;
-    jboolean	isCopy;
-    jfieldID	tmof;
-    int		    tmo;
-    jfieldID	tmoDonef;
-	DWORD eventMask;
-    HGLOBAL     hglob;
-    hglob = GlobalAlloc(GMEM_MOVEABLE, len);
-    if (!hglob)
-    {
-        return (void *) 0;
-    }
-    cbuf = GlobalLock(hglob);
-    if (!cbuf) {
-        GlobalFree(hglob);
-    }
-#ifdef DEBUG
-    printf("w32DeviceInputStream_readDeviceNC() entered\n");
-#endif /* DEBUG */
-	/* Get the file descriptor. */
-	jc = (*jenv)->GetObjectClass(jenv, jobj);
-	assert(jc);
-	jf = (*jenv)->GetFieldID(jenv, jc, "fd", "I");
-	assert(jf);
-	fd = (*jenv)->GetIntField(jenv, jobj, jf);
-	if (fd == -1) return -1;
-	osHandle = (HANDLE) fd;
-    tmof = (*jenv)->GetFieldID(jenv, jc, "tmo", "I");
-    assert(tmof);
-    tmoDonef = (*jenv)->GetFieldID(jenv, jc, "tmoDone", "Z");
-    assert(tmoDonef);
-    tmo = (*jenv)->GetIntField(jenv, jobj, tmof);
-    iveSerClearCommErrors(osHandle);
-    memset(&overlap,0,sizeof(overlap));
-    overlap.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL);
-    if (NULL == overlap.hEvent) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"Error creating event semaphore",lastRc);
-        
-        // Free the bufffer memory
-        hglob = GlobalHandle( cbuf );
-        if (hglob) {
-            GlobalUnlock( hglob );
-            GlobalFree( hglob );
-        }   	
-        return lastRc;
-    }
-    success = ReadFile(osHandle, cbuf, len, &actualBytes, &overlap);
-	if(success) {
-	  // Copy back the data into the java buffer.
-	  if (actualBytes > 0)
-		(*jenv)->SetByteArrayRegion(jenv, jba, off, actualBytes, (jbyte*)cbuf);
-        // Free the bufffer memory
-        hglob = GlobalHandle( cbuf );
-        if (hglob) {
-            GlobalUnlock( hglob );
-            GlobalFree( hglob );
-        }   	
-		CloseHandle(overlap.hEvent);
-		return actualBytes;
-	} else {
-		lastRc = GetLastError();
-		if (ERROR_IO_PENDING != lastRc) {
-			CloseHandle(overlap.hEvent);
-			iveSerThrowWin(jenv,"Error reading data",lastRc);
-			(*jenv)->SetBooleanField(jenv, jobj, tmoDonef, (jboolean)JNI_TRUE);
-	
-        // Free the bufffer memory
-	        hglob = GlobalHandle( cbuf );
-	        if (hglob) {
-	            GlobalUnlock( hglob );
-	            GlobalFree( hglob );
-	        } 
-				
-			return lastRc;
-		}
-	}
-	
-	actualBytes = 0;
-#ifndef _WIN32_WCE
-	success = GetOverlappedResult(osHandle,&overlap,&actualBytes,TRUE);
-#endif
-	if (success) {
-	  // Copy back the data into the java buffer.
-	  if (actualBytes > 0)
-		(*jenv)->SetByteArrayRegion(jenv, jba, off, actualBytes, (jbyte*)cbuf);
-		
-		lastRc = actualBytes;
-	} else {
-		lastRc = GetLastError();
-	}
-	//Free the bufffer memory
-    hglob = GlobalHandle( cbuf );
-    if (hglob) {
-        GlobalUnlock( hglob );
-        GlobalFree( hglob );
-    }   
-    CloseHandle(overlap.hEvent);
-	return lastRc;
-}  /* w32DeviceInputStream_readDeviceNC() */
-/*
- * Function:   w32DeviceInputStream_getReadCountNC
- * Purpose:    Check serial port device event 
- * Signature: ()I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32DeviceInputStream_getReadCountNC(JNIEnv *jenv, jobject jobj)
-{
-    DWORD	dwCommEvent = 0;
-	HANDLE  osHandle;
-	
-	jclass		jc;
-	jclass		ec;
-	jfieldID	jf;
-	jint 		fd = -1;
-	int			dc = 0;
-	// Get the exception class.
-	ec = (*jenv)->FindClass(jenv, "java/io/IOException");
-	assert(ec);
-	// Get the file descriptor.
-	jc = (*jenv)->GetObjectClass(jenv, jobj);
-	assertexc(jc);
-	jf = (*jenv)->GetFieldID(jenv, jc, "fd", "I");
-	assertexc(jf);
-	fd = (*jenv)->GetIntField(jenv, jobj, jf);
-	if (fd == -1) {
-		(*jenv)->ThrowNew(jenv, ec, "");
-	}
-	osHandle = (HANDLE)fd;
-	if(!GetCommMask( osHandle, &dwCommEvent ))
-		return GetLastError();
-	
-	dwCommEvent |= EV_RXCHAR;
-	if( !SetCommMask( osHandle, dwCommEvent ))
-		return GetLastError();
-	if( !WaitCommEvent( osHandle, &dwCommEvent, NULL ))
-		return GetLastError();
-	return (dwCommEvent&EV_RXCHAR);
-}  /* w32DeviceInputStream_getReadCountNC() */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32DeviceOutputStream.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32DeviceOutputStream.c
deleted file mode 100644
index 7e4e916..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32DeviceOutputStream.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-#include <windows.h>
-#ifndef _WIN32_WCE
-#include <sys/types.h>
-#endif
-#include "org_eclipse_soda_dk_comm_NSDeviceOutputStream.h"
-#include "NSCommLOG.h"
-#define assert(s) if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-				     return(-1);}
-/*
- * Class:     org_eclipse_soda_dk_comm_NSDeviceOutputStream
- * Method:    writeDeviceNC
- * Signature: ([BII)I
- */
-int w32DeviceOutputStream_writeDeviceNC
-  (JNIEnv *jenv, jobject jobj, jbyteArray jbuf, jint offset, jint length) {
-    HANDLE      osHandle;
-    BOOL        success;
-#ifndef _WIN32_WCE
-    OVERLAPPED  overlap; 
-#endif
-#if _WIN32_WCE>=400
-	HANDLE		event;
-#endif
-    DWORD       lastRc;
-    DWORD       actualBytes = 0;
-    jclass	    jc;
-    jfieldID	jf;
-    jint 		fd = -1;
-    jbyte		*cbuf;
-    jboolean	isCopy;
-    int		    writecnt = 0;
-    jbyte		*cb;
-#ifdef DEBUG
-    printf("w32DeviceOutputStream_writeDeviceNC() entered\n");
-#endif /* DEBUG */
-    if (!length) return writecnt;
-    /* Get the file descriptor. */
-    jc = (*jenv)->GetObjectClass(jenv, jobj);
-    assert(jc);
-    jf = (*jenv)->GetFieldID(jenv, jc, "fd", "I");
-    assert(jf);
-    fd = (*jenv)->GetIntField(jenv, jobj, jf);
-    if (fd == -1) return -1;                    
-    osHandle = (HANDLE) fd;
-    iveSerClearCommErrors(osHandle);
-#if _WIN32_WCE>=400
-    memset(&event,0,sizeof(event));
-    event = CreateEvent(NULL,TRUE,FALSE,NULL);
-    if (event == NULL) {
-        lastRc = GetLastError();
-        LOG(("iveSerWrite: error creating event semaphore: %d",lastRc));
-        iveSerThrowWin(jenv,"Error creating event semaphore",lastRc);
-        return 0;
-    }
-#else
-    memset(&overlap,0,sizeof(overlap));
-    overlap.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL);
-    if (NULL == overlap.hEvent) {
-        lastRc = GetLastError();
-        LOG(("iveSerWrite: error creating event semaphore: %d",lastRc));
-        iveSerThrowWin(jenv,"Error creating event semaphore",lastRc);
-        return 0;
-    }
-#endif //_WIN32_WCE>=400
-    /* Convert the java byte array buffer into c byte buffer. */
-    cbuf =  (*jenv)->GetByteArrayElements(jenv, jbuf, &isCopy);
-    /* Write the data out to the device. */
-    for ( cb = cbuf+offset; length; length -= actualBytes, writecnt += actualBytes, cb += actualBytes ) {
-#if _WIN32_WCE>=400
-        success = WriteFile(osHandle, cb, length, &actualBytes, 0);
-#else
-        success = WriteFile(osHandle, cb, length, &actualBytes, &overlap);
-#endif //_WIN32_WCE
-        if (success) {
-#ifdef DEBUG
-            printf("w32DeviceOutputStream_writeDeviceNC(): write completed successfully without blocking\n");
-#endif /* DEBUG */
-#if _WIN32_WCE>=400
-            CloseHandle(event);
-#else
-            CloseHandle(overlap.hEvent);
-#endif //_WIN32_WCE
-            return actualBytes;
-        }
-        lastRc = GetLastError();
-        if (ERROR_IO_PENDING != lastRc) {
-#ifdef DEBUG
-            printf("w32DeviceOutputStream_writeDeviceNC(): write failed: %d\n", lastRc);
-#endif /* DEBUG */
-#if _WIN32_WCE>=400
-            CloseHandle(event);
-#else
-            CloseHandle(overlap.hEvent);
-#endif //_WIN32_WCE
-            iveSerThrowWin(jenv,"Error writing data",lastRc);
-            return 0;
-        }
-        actualBytes = 0;
-#ifndef _WIN32_WCE
-        success = GetOverlappedResult(osHandle,&overlap,&actualBytes,TRUE);
-#endif //_WIN32_WCE
-        if (success) {
-#ifdef DEBUG
-            printf("w32DeviceOutputStream_writeDeviceNC(): getOverlappedResult completed successfully\n");
-#endif /* DEBUG */
-#if _WIN32_WCE>=400
-            CloseHandle(event);
-#else
-            CloseHandle(overlap.hEvent);
-#endif //_WIN32_WCE
-            return actualBytes;
-        }
-        lastRc = GetLastError();
-#ifdef DEBUG
-        printf("w32DeviceOutputStream_writeDeviceNC(): getOverlappedResult failed: %d\n",lastRc);
-#endif /* DEBUG */
-#if _WIN32_WCE>=400
-            CloseHandle(event);
-#else
-            CloseHandle(overlap.hEvent);
-#endif //_WIN32_WCE
-        iveSerThrowWin(jenv,"Error writing pending data",lastRc);
-    }
-    /* Should we throw some exception in the event of a write error ???? */
-    /* Free the c byte buffer. */
-    (*jenv)->ReleaseByteArrayElements(jenv, jbuf, cbuf, JNI_ABORT);
-    return writecnt;
-}	/* w32DeviceOutputStream_writeDeviceNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32ParallePort.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32ParallePort.h
deleted file mode 100644
index 6cf8320..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32ParallePort.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-int w32ParallelPort_closeDeviceNC( JNIEnv *, jobject, jint, jint );
-int w32ParallelPort_openDeviceNC( JNIEnv *, jobject, jstring, jint );
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32ParallelErrorEventThread.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32ParallelErrorEventThread.c
deleted file mode 100644
index 5a761ec..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32ParallelErrorEventThread.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-#ifdef NCI
-#include <dev/ic/lptioctl.h>
-#include <dev/ic/lptreg.h>
-#endif	/* NCI */
-#ifdef __linux__
-#define __KERNEL__  /* For printer error definitions */
-#include <linux/lp.h>
-#endif	/* __linux__ */
-#include <org_eclipse_soda_dk_comm_ParallelErrorEventThread.h>
-#define assertexc(s)       if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-				 return;}
-static int	getPollingTime(JNIEnv *jenv) {
-  int		ptime = 5;
-  jclass	cic;
-  jfieldID	ptID;
-  jint		pt;
-  do {
-	cic = (*jenv)->FindClass(jenv, "javax/comm/CommPortIdentifier");
-	if (!cic) break;
-	ptID = (*jenv)->GetStaticFieldID(jenv, cic, "pollingTime", "I");
-	if (!ptID) break;
-	pt = (*jenv)->GetStaticIntField(jenv, cic, ptID);
-	if (pt > 0)
-		ptime = pt;
-  } while (0);
-  return ptime;
-}	// getPollingTime()
-/*
- * Class:     org_eclipse_soda_dk_comm_ParallelErrorEventThread
- * Method:    monitorParallelErrorNC
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_org_eclipse_soda_dk_comm_ParallelErrorEventThread_monitorParallelErrorNC
-(JNIEnv *jenv, jobject jobj, jint jfd) {
-	int		pollingTime;	/* seconds */
-	int		oldStatus, newStatus;
-	jfieldID	notifyOnErrorID;
-	jboolean	notifyOnErrorFlag = JNI_TRUE;
-	jclass		jc;
-	jmethodID	jm;
-	jclass		jppc;
-	jfieldID	ppID;
-	jobject		jpp;
-	jboolean	isInterruptedReturn;
-	jclass		jppec;		/* parallel port event class */
-	jfieldID	ppeErrorID;	/* field ID */
-	jint		ppeError;	/* field value */
-	jmethodID	jintMethod;
-	jclass		jthreadClass;
-	pollingTime = getPollingTime(jenv);
-	/* Get the const value for the parallel port error event type.*/
-	jppec = (*jenv)->FindClass(jenv, "javax/comm/ParallelPortEvent");
-	assertexc(jppec);
-	ppeErrorID = (*jenv)->GetStaticFieldID(jenv, jppec, "PAR_EV_ERROR", "I");
-	assertexc(ppeErrorID);
-	ppeError = (*jenv)->GetStaticIntField(jenv, jppec, ppeErrorID);
-	/* Get the parallel port object.*/
-	jc = (*jenv)->GetObjectClass(jenv, jobj);
-	assertexc(jc);
-	ppID = (*jenv)->GetFieldID(jenv, jc, "pp", "Lorg/eclipse/soda/dk/comm/NSParallelPort;");
-	assertexc(ppID);
-	jpp = (*jenv)->GetObjectField(jenv, jobj, ppID);
-	assertexc(jpp);
-	/* Get the class ID of the parallel port object.*/
-	jppc = (*jenv)->GetObjectClass(jenv, jpp);
-	assertexc(jppc);
-	/* Get the notify flag field ID of the parallel port object. */
-	notifyOnErrorID = (*jenv)->GetFieldID(jenv, jppc, "notifyOnErrorFlag", "Z");
-	assertexc(notifyOnErrorID);
-	/* Get access to the method to report a parallel event.*/
-	jm = (*jenv)->GetMethodID(jenv, jppc, "reportParallelEvent", "(IZZ)V");
-	assertexc(jm);
-	/* Get access to the interrupted method.*/
-	jthreadClass = (*jenv)->FindClass(jenv, "java/lang/Thread");
-	assertexc(jthreadClass);
-	jintMethod = (*jenv)->GetMethodID(jenv, jthreadClass, "isInterrupted", "()Z");
-	assertexc(jintMethod);
-#ifdef NCI
-	if (ioctl(jfd, PIOCSTATUS, &oldStatus) < 0) {
-#endif	/* NCI */
-#ifdef __linux__
-	if (ioctl(jfd, LPGETSTATUS, &oldStatus) < 0) {
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-        oldStatus = 0;
-	if (0) {
-#endif	/* QNX */
-		(void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_ParallelErrorEventThread_monitorParallelErrorNC: ioctl error %d!\n", errno);
-		return;
-	}
-	while(1)
-	{
-		sleep(pollingTime);
-		/* check to see if this thread has been interrupted */
-		isInterruptedReturn = (*jenv)->CallBooleanMethod(jenv, jobj, jintMethod);
-		if(isInterruptedReturn == JNI_TRUE)
-			break;
-		/* Get the notify error flag. If not set, skip error checks. */
-		notifyOnErrorFlag = (*jenv)->GetBooleanField(jenv, jpp, notifyOnErrorID);
-		if (notifyOnErrorFlag != JNI_TRUE)
-			continue;
-#ifdef NCI
-		if (ioctl(jfd, PIOCSTATUS, &newStatus) < 0) {
-#endif	/* NCI */
-#ifdef __linux__
-		if (ioctl(jfd, LPGETSTATUS, &newStatus) < 0) {
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-                newStatus = 0;
-	        if (0) {
-#endif	/* QNX */
-			(void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_ParallelErrorEventThread_monitorParallelErrorNC: ioctl error %d!\n", errno);
-			return;
-		}
-		if (newStatus == oldStatus)
-			continue;
-#ifdef NCI
-		if((newStatus & LPS_NERR) != (oldStatus & LPS_NERR))
-#endif	/* NCI */
-#ifdef __linux__
-		if((newStatus & LP_PERRORP) != (oldStatus & LP_PERRORP))
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	        if (0)
-#endif	/* QNX */
-		{
-			(*jenv)->CallVoidMethod(jenv, jpp, jm, ppeError,
-#ifdef NCI
-				    (oldStatus & LPS_NERR)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LPS_NERR)? JNI_TRUE:JNI_FALSE);
-#endif	/* NCI */
-#ifdef __linux__
-				    (oldStatus & LP_PERRORP)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LP_PERRORP)? JNI_TRUE:JNI_FALSE);
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* QNX */
-			oldStatus = newStatus;
-			continue;
-		}
-#ifdef NCI
-		if((newStatus & LPS_SELECT) != (oldStatus & LPS_SELECT))
-#endif	/* NCI */
-#ifdef __linux__
-		if((newStatus & LP_PSELECD) != (oldStatus & LP_PSELECD))
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	        if (0)
-#endif	/* QNX */
-		{
-			(*jenv)->CallVoidMethod(jenv, jpp, jm, ppeError,
-#ifdef NCI
-				    (oldStatus & LPS_SELECT)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LPS_SELECT)? JNI_TRUE:JNI_FALSE);
-#endif	/* NCI */
-#ifdef __linux__
-				    (oldStatus & LP_PSELECD)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LP_PSELECD)? JNI_TRUE:JNI_FALSE);
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* QNX */
-			oldStatus = newStatus;
-			continue;
-		}
-#ifdef NCI
-		if((newStatus & LPS_NOPAPER) != (oldStatus & LPS_NOPAPER))
-#endif	/* NCI */
-#ifdef __linux__
-		if((newStatus & LP_POUTPA) != (oldStatus & LP_POUTPA))
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	        if (0)
-#endif	/* QNX */
-		{
-			(*jenv)->CallVoidMethod(jenv, jpp, jm, ppeError,
-#ifdef NCI
-				    (oldStatus & LPS_NOPAPER)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LPS_NOPAPER)? JNI_TRUE:JNI_FALSE);
-#endif	/* NCI */
-#ifdef __linux__
-				    (oldStatus & LP_POUTPA)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LP_POUTPA)? JNI_TRUE:JNI_FALSE);
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* QNX */
-			oldStatus = newStatus;
-			continue;
-		}
-#ifdef NCI
-		if((newStatus & LPS_NACK) != (oldStatus & LPS_NACK))
-#endif	/* NCI */
-#ifdef __linux__
-		if((newStatus & LP_PACK) != (oldStatus & LP_PACK))
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	        if (0)
-#endif	/* QNX */
-		{
-			(*jenv)->CallVoidMethod(jenv, jpp, jm, ppeError,
-#ifdef NCI
-				    (oldStatus & LPS_NACK)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LPS_NACK)? JNI_TRUE:JNI_FALSE);
-#endif	/* NCI */
-#ifdef __linux__
-				    (oldStatus & LP_PACK)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LP_PACK)? JNI_TRUE:JNI_FALSE);
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* QNX */
-			oldStatus = newStatus;
-			continue;
-		}
-#ifdef NCI
-		if((newStatus & LPS_NBSY) != (oldStatus & LPS_NBSY))
-#endif	/* NCI */
-#ifdef __linux__
-		if((newStatus & LP_PBUSY) != (oldStatus & LP_PBUSY))
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	        if (0)
-#endif	/* QNX */
-		{
-			(*jenv)->CallVoidMethod(jenv, jpp, jm, ppeError,
-#ifdef NCI
-				    (oldStatus & LPS_NBSY)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LPS_NBSY)? JNI_TRUE:JNI_FALSE);
-#endif	/* NCI */
-#ifdef __linux__
-				    (oldStatus & LP_PBUSY)? JNI_TRUE:JNI_FALSE,
-				    (newStatus & LP_PBUSY)? JNI_TRUE:JNI_FALSE);
-#endif	/* __linux__ */
-#ifdef QNX      /* ToDo: implement */
-	                            JNI_FALSE, JNI_FALSE);
-#endif	/* QNX */
-			oldStatus = newStatus;
-			continue;
-		}
-		oldStatus = newStatus;
-	}	/* end of while() */
-} /* Java_org_eclipse_soda_dk_comm_ParallelErrorEventThread_monitorParallelErrorNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32ParallelPort.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32ParallelPort.c
deleted file mode 100644
index ff63e65..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32ParallelPort.c
+++ /dev/null
@@ -1,331 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-#include <windows.h>
-#include <winbase.h>
-#include <winspool.h>
-#include <sys/types.h>
-#include "org_eclipse_soda_dk_comm_NSParallelPort.h"
-#include "NSCommLOG.h"
-#define NOOF_ELEMS(s)	((sizeof(s))/(sizeof(s[0])))
-#define _PRINTER_
-BOOL w32ParallelPort_GetJobs( HANDLE, JOB_INFO_2 **, int *, DWORD * );
-/*
- * Function:   w32ParallelPort_closeDeviceNC
- * Purpose:    Close a parallel I/O Device
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds
- */
-int w32ParallelPort_closeDeviceNC
-  (JNIEnv *jenv, jobject jobj, jint fd, jint semId)
-{
-	HANDLE osHandle = (HANDLE) fd;
-	jenv;
-#ifdef _PRINTER_
-	return ClosePrinter(osHandle);
-#else
-	return CloseHandle(osHandle);
-#endif
-}	/* w32ParallelPort_closeDeviceNC */
-/*
- * Function:   w32ParallelPort_openDeviceNC
- * Purpose:    Open a parallel I/O Device
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - device handle
- */
-int w32ParallelPort_openDeviceNC(JNIEnv *jenv, jobject jobj, jstring name, jint semId)
-{
-	char	* portName = NULL;
-	int		  fd = -1;
-	HANDLE	  osHandle = (HANDLE)fd;
-	portName = (CHAR *)(*jenv)->GetStringUTFChars(jenv, name, 0);
-	if( portName == NULL )  {
-#ifdef DEBUG
-		printf( "Can not open port because get NULL name\n" );
-#endif
-		return (int)osHandle;
-	}
-#ifdef _PRINTER_
-	fd = OpenPrinter( portName,				/* printer or server name	*/
-					  &osHandle,			/* printer or server handle	*/
-					  NULL );				/* printer defaults			*/
-	if(fd == -1) {
-		fd = GetLastError();
-        iveSerThrowWin(jenv,"parallel port exception: the port isn't valid.\n",fd);
-		return 0;
-	}
-#else
-	osHandle =	CreateFile( portName,
-							GENERIC_WRITE,
-							0,
-							0,
-							OPEN_EXISTING,
-							FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
-							0);
-	if (INVALID_HANDLE_VALUE == osHandle) {
-		fd = GetLastError();
-		iveSerThrowWin(jenv,"Error opening file",fd);
-		return 0;
-	}
-#endif
-	
-	(*jenv)->ReleaseStringUTFChars(jenv, name, portName);
-	
-	return (int)osHandle;
-}  /* w32ParallelPort_openDeviceNC */
-/*
- * Function:   w32ParallelPort_isPaperOutNC
- * Purpose:    Check the print paper out status
- * Signature:  (I)Z
- * Return:     TRUE, FALSE
- */
-BOOL w32ParallelPort_isPaperOutNC(JNIEnv *jenv, jobject jobj, jint jfd)
-{
-#ifdef _PRINTER_
-	HANDLE		 osHandle = (HANDLE)jfd;
-	JOB_INFO_2  *pJobs;
-	int			 cJobs;
-	DWORD		 dwPrinterStatus;
-    /*
-     *  Get the state information for the Printer Queue and
-     *  the jobs in the Printer Queue.
-     */ 
-    if (!w32ParallelPort_GetJobs(osHandle, &pJobs, &cJobs, &dwPrinterStatus))
-		return FALSE;
-    if (dwPrinterStatus & (PRINTER_STATUS_ERROR     |
-						   PRINTER_STATUS_PAPER_JAM | 
-						   PRINTER_STATUS_PAPER_OUT |
-						   PRINTER_STATUS_PAPER_PROBLEM )) {
-		free( pJobs );
-		return TRUE;
-	} else
-	return FALSE;
-#else
-	return FALSE;
-#endif
-}	/* w32ParallelPort_isPaperOutNC */
-/*
- * Function:   w32ParallelPort_isPrinterBusyNC
- * Purpose:    Check the print busy status
- * Signature:  (I)Z
- * Return:     TRUE, FALSE
- */
-BOOL w32ParallelPort_isPrinterBusyNC(JNIEnv *jenv, jobject jobj, jint jfd)
-{
-#ifdef _PRINTER_
-	HANDLE		 osHandle = (HANDLE)jfd;
-	JOB_INFO_2  *pJobs;
-	int			 cJobs;
-	DWORD		 dwPrinterStatus;
-    /*
-     *  Get the state information for the Printer Queue and
-     *  the jobs in the Printer Queue.
-     */ 
-    if (!w32ParallelPort_GetJobs(osHandle, &pJobs, &cJobs, &dwPrinterStatus))
-		return FALSE;
-    if (dwPrinterStatus & (PRINTER_STATUS_ERROR | 
-		PRINTER_STATUS_BUSY )) {
-		free( pJobs );
-		return TRUE;
-	} else
-		return FALSE;
-#else
-	return TFALSE;
-#endif
-}	/* w32ParallelPort_isPrinterBusyNC */
-/*
- * Function:   w32ParallelPort_isPrinterBusyNC
- * Purpose:    Check the print select status
- * Signature:  (I)Z
- * Return:     TRUE, FALSE
- */
-BOOL w32ParallelPort_isPrinterSelectedNC(JNIEnv *jenv, jobject jobj, jint jfd)
-{
-#ifdef _PRINTER_
-	HANDLE		 osHandle = (HANDLE)jfd;
-	JOB_INFO_2  *pJobs;
-	int			 cJobs;
-	DWORD		 dwPrinterStatus;
-    /*
-     *  Get the state information for the Printer Queue and
-     *  the jobs in the Printer Queue.
-     */ 
-    if (!w32ParallelPort_GetJobs(osHandle, &pJobs, &cJobs, &dwPrinterStatus))
-		return FALSE;
-    if (dwPrinterStatus & PRINTER_STATUS_PROCESSING ) {
-		free( pJobs );
-		return TRUE;
-	} else
-		return FALSE;
-#else
-	return TFALSE;
-#endif
-}	/* w32ParallelPort_isPrinterSelectedNC */
-	
-/*
- * Function:   w32ParallelPort_isPrinterBusyNC
- * Purpose:    Check the printer out status
- * Signature:  (I)Z
- * Return:     TRUE, FALSE
- */
-BOOL w32ParallelPort_isPrinterTimedOutNC(JNIEnv *jenv, jobject jobj, jint jfd)
-{
-#ifdef _PRINTER_
-	HANDLE		 osHandle = (HANDLE)jfd;
-	JOB_INFO_2  *pJobs;
-	int			 cJobs;
-	DWORD		 dwPrinterStatus;
-    /*
-     *  Get the state information for the Printer Queue and
-     *  the jobs in the Printer Queue.
-     */ 
-    if (!w32ParallelPort_GetJobs(osHandle, &pJobs, &cJobs, &dwPrinterStatus))
-		return FALSE;
-    if (dwPrinterStatus & PRINTER_STATUS_PENDING_DELETION ) {
-		free( pJobs );
-		return TRUE;
-	} else
-		return FALSE;
-#else
-	return TFALSE;
-#endif
-}	/* w32ParallelPort_isPrinterTimedOutNC */
-/*
- * Class:     org_eclipse_soda_dk_comm_NSParallelPort
- * Method:    isPrinterErrorNC
- * Signature: (I)Z
- * Return:     TRUE, FALSE
- */
-BOOL w32ParallelPort_isPrinterErrorNC(JNIEnv *jenv, jobject jobj, jint jfd)
-{
-#ifdef _PRINTER_
-	HANDLE		osHandle = (HANDLE)jfd;
-    DWORD       dwPrinterStatus;
-    JOB_INFO_2  *pJobs;
-    int         cJobs, i;
-    /*
-     *  Get the state information for the Printer Queue and
-     *  the jobs in the Printer Queue.
-     */ 
-    if (!w32ParallelPort_GetJobs(osHandle, &pJobs, &cJobs, &dwPrinterStatus))
-		return FALSE;
-    if (dwPrinterStatus & (PRINTER_STATUS_ERROR |
-						   PRINTER_STATUS_PAPER_JAM |
-						   PRINTER_STATUS_PAPER_OUT |
-						   PRINTER_STATUS_PAPER_PROBLEM |
-						   PRINTER_STATUS_OUTPUT_BIN_FULL |
-						   PRINTER_STATUS_NOT_AVAILABLE |
-						   PRINTER_STATUS_NO_TONER |
-						   PRINTER_STATUS_OUT_OF_MEMORY |
-						   PRINTER_STATUS_OFFLINE |
-						   PRINTER_STATUS_DOOR_OPEN)) {
-          free( pJobs );
-          return TRUE;
-     }
-     for (i=0; i < cJobs; i++)
-     {
-        if (pJobs[i].Status & JOB_STATUS_PRINTING)
-        {
-            if (pJobs[i].Status & (JOB_STATUS_ERROR |
-								   JOB_STATUS_OFFLINE |
-								   JOB_STATUS_PAPEROUT |
-								   JOB_STATUS_BLOCKED_DEVQ)) {
-                free( pJobs );
-                return TRUE;
-            }
-        }
-     }
-    free( pJobs );
-    return FALSE;
-#endif
-}	/* w32ParallelPort_isPrinterErrorNC */
-/*
- * Class:      w32ParallelPort_GetJobs
- * Method:     reading the printer / printer job status
- * Signature:  (I)Z
- * Return:     TRUE, FALSE
- */
-BOOL w32ParallelPort_GetJobs( HANDLE osHandle, JOB_INFO_2 **ppJobInfo,
-							  int *pcJobs, DWORD *pStatus)
-{
-    DWORD           cByteNeeded,
-                    nReturned,
-                    cByteUsed;
-    JOB_INFO_2      *pJobStorage  = NULL;
-    PRINTER_INFO_2  *pPrinterInfo = NULL;
-   /* Get the buffer size needed. */ 
-    if (!GetPrinter(osHandle, 2, NULL, 0, &cByteNeeded))
-    {
-        if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
-           return FALSE;
-    }
-    pPrinterInfo = (PRINTER_INFO_2 *)malloc(cByteNeeded);
-    if (!(pPrinterInfo)) return FALSE;
-    if (!GetPrinter(osHandle,
-				    2,
-	 			    (LPSTR)pPrinterInfo,
-					cByteNeeded,
-					&cByteUsed))
-    {
-        free(pPrinterInfo);
-        pPrinterInfo = NULL;
-        return FALSE;
-    }
-    if (!EnumJobs(osHandle,
-				  0,
-				  pPrinterInfo->cJobs,
-				  2,
-				  NULL,
-				  0,
-				  (LPDWORD)&cByteNeeded,
-				  (LPDWORD)&nReturned))
-    {
-        if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
-        {
-            free(pPrinterInfo);
-            pPrinterInfo = NULL;
-            return FALSE;
-        }
-    }
-    pJobStorage = (JOB_INFO_2 *)malloc(cByteNeeded);
-    if (!pJobStorage)
-    {
-        free(pPrinterInfo);
-        pPrinterInfo = NULL;
-        return FALSE;
-    }
-    ZeroMemory(pJobStorage, cByteNeeded);
-    if (!EnumJobs(osHandle,
-				  0,
-				  pPrinterInfo->cJobs,
-				  2,
-				  (LPBYTE)pJobStorage,
-				  cByteNeeded,
-				  (LPDWORD)&cByteUsed,
-				  (LPDWORD)&nReturned))
-    {
-         free(pPrinterInfo);
-         free(pJobStorage);
-         pJobStorage = NULL;
-         pPrinterInfo = NULL;
-         return FALSE;
-    }
-    *pcJobs = nReturned;
-    *pStatus = pPrinterInfo->Status;
-    *ppJobInfo = pJobStorage;
-    free(pPrinterInfo);
-    return TRUE;
-} /* w32ParallelPort_GetJobs() */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialDataEventThread.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialDataEventThread.c
deleted file mode 100644
index 0c3038a..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialDataEventThread.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <windows.h>
-#include <winsock2.h>
-#ifndef _WIN32_WCE
-#include <errno.h>
-#else
-#include <winsock2.h>
-#endif
-#include "org_eclipse_soda_dk_comm_SerialDataEventThread.h"
-#define assertexc(s)       if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-				 return;}
-static int	getPollingTime(JNIEnv *jenv) {
-  int		ptime = 5;
-  jclass	cic;
-  jfieldID	ptID;
-  jint		pt;
-  do {
-	cic = (*jenv)->FindClass(jenv, "javax/comm/CommPortIdentifier");
-	if (!cic) break;
-	ptID = (*jenv)->GetStaticFieldID(jenv, cic, "pollingTime", "I");
-	if (!ptID) break;
-	pt = (*jenv)->GetStaticIntField(jenv, cic, ptID);
-	if (pt > 0)
-		ptime = pt;
-  } while (0);
-  return ptime;
-}	/* getPollingTime() */
-#if _WIN32_WCE>=400
-static int getStopThreadFlag(JNIEnv *jenv, jobject jobj)
-{
-	jclass cls;
-	jfieldID fid;
-	jint stopThreadFlag;
-	
-	cls = (*jenv)->GetObjectClass(jenv, jobj);
-	if (!cls) (*jenv)->FatalError(jenv, "Missing class");
-	
-	fid = (*jenv)->GetFieldID(jenv, cls, "stopThreadFlag", "I");
-	if (fid == NULL) (*jenv)->FatalError(jenv, "Missing field");
-	
-	stopThreadFlag = (*jenv)->GetIntField(jenv, jobj, fid);
-	
-	return stopThreadFlag;	
-}
-#endif //_WIN32_WCE>=400
-/*
- * Class:     org_eclipse_soda_dk_comm_SerialDataEventThread
- * Method:    monitorSerialDataNC
- * Signature: (I)V
- */
-void w32SerialDataEventThread_monitorSerialDataNC
-  (JNIEnv *jenv, jobject jobj, jint jfd) {
-    jclass		jspec;					/* serial port event class */
-    fd_set		r_mask;
-    jfieldID	data_available_id;      /* field ID */
-    jint		data_available_event;	/* field value */
-    jclass      jc;
-    jmethodID   jm;
-    jfieldID    spID;
-    jobject		jsp;
-    jclass		jspc;
-    jfieldID	notifyOnDataAvailableID;
-    jboolean	notifyOnDataAvailableFlag = JNI_FALSE;
-    int			result;
-	int			pollingTime;			/* seconds */
-	struct		timeval	tv;
-	jboolean	isInterruptedReturn;
-	jclass		jthreadClass;
-	jmethodID	jintMethod;
-#if _WIN32_WCE>=400
-	jint 		stopThreadFlag;
-#endif
-	pollingTime = getPollingTime(jenv);
-    jspec = (*jenv)->FindClass(jenv, "javax/comm/SerialPortEvent");
-    assertexc(jspec);
-    data_available_id = (*jenv)->GetStaticFieldID(jenv, jspec, "DATA_AVAILABLE", "I");
-    assertexc(data_available_id);
-    data_available_event = (*jenv)->GetStaticIntField(jenv, jspec, data_available_id);
-    /* Get the serial port object.*/
-    jc = (*jenv)->GetObjectClass(jenv, jobj);
-    assertexc(jc);
-    spID = (*jenv)->GetFieldID(jenv, jc, "serialPort", "Lorg/eclipse/soda/dk/comm/NSSerialPort;");
-    assertexc(spID);
-    jsp = (*jenv)->GetObjectField(jenv, jobj, spID);
-    assertexc(jsp);
-    /* Get the class ID of the serial port object.*/
-    jspc = (*jenv)->GetObjectClass(jenv, jsp);
-    assertexc(jspc);
-    /* Get access to the method to add a port.*/
-    jm = (*jenv)->GetMethodID(jenv, jspc, "reportSerialEvent", "(IZZ)V");
-    assertexc(jm);
-    notifyOnDataAvailableID = (*jenv)->GetFieldID(jenv, jspc, "notifyOnDataFlag", "Z");
-    assertexc(notifyOnDataAvailableID);
-	/* Get access to the interrupted method.*/
-	jthreadClass = (*jenv)->FindClass(jenv, "java/lang/Thread");
-	assertexc(jthreadClass);
-	jintMethod = (*jenv)->GetMethodID(jenv, jthreadClass, "isInterrupted", "()Z");
-	assertexc(jintMethod);
-	while(1)
-	{
-#if _WIN32_WCE>=400
-		stopThreadFlag = getStopThreadFlag(jenv, jobj);
-		if (stopThreadFlag)
-			break;	 	
-#endif
-		/* check to see if this thread has been interrupted */
-		isInterruptedReturn = (*jenv)->CallBooleanMethod(jenv,jobj,jintMethod);
-		if(isInterruptedReturn == JNI_TRUE)
-			break;
-		memset(&tv, 0, sizeof(tv));
-		tv.tv_sec = pollingTime;
-		FD_ZERO(&r_mask);
-		FD_SET(jfd, &r_mask);
-		result = select(jfd + 1, &r_mask, NULL, NULL, &tv);
-#ifndef _WIN32_WCE
-		if (result == -1 && errno != EINTR) break;
-#endif
-		if (!result)  continue;
-		if (FD_ISSET(jfd, &r_mask))
-		{
-			notifyOnDataAvailableFlag = (*jenv)->GetBooleanField(jenv, jsp, notifyOnDataAvailableID);
-			if(notifyOnDataAvailableFlag)
-				(*jenv)->CallVoidMethod(jenv, jsp, jm, data_available_event, JNI_TRUE, JNI_TRUE);
-        }
-    }
-} /* w32SerialDataEventThread_monitorSerialDataNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialPort.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialPort.c
deleted file mode 100644
index d91519e..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialPort.c
+++ /dev/null
@@ -1,642 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-#include <windows.h>
-#include <winbase.h>
-#ifndef _WIN32_WCE
-#include <sys/types.h>
-#endif //_WIN32_WCE
-#include "org_eclipse_soda_dk_comm_NSSerialPort.h"
-#include "NSCommLOG.h"
-#if 0 //t.j
-#ifdef _POSIX_SEMAPHORES
-#include <semaphore.h>
-#include "SysVStyleSemaphore.h"
-#else 
-#include <sys/ipc.h> 
-#include <sys/sem.h> 
-#endif
-#define NOOF_ELEMS(s)	((sizeof(s))/(sizeof(s[0])))
-#ifndef _POSIX_SEMAPHORES
-static struct sembuf	dev_test[] = {
-		{ 0, 0, IPC_NOWAIT }	/* test to see if it is free */
-};
-static struct sembuf	dev_lock[] = {
-		{ 0, 0, 0 },	/* wait for the semaphore to be free */
-		{ 0, 1, SEM_UNDO }	/* lock it */
-};
-static struct sembuf	dev_unlock[] = {
-		// { 0, -1, (IPC_NOWAIT | SEM_UNDO) }	/* unlock it */
-		{ 0, -1,  0  }   	/* wait til unlock it */
-};
-#endif
-#endif //t.j
-#define assert(s)  if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-				 return(-1);}
-/*------------------------------------------------------------------
- * constants
- *------------------------------------------------------------------*/
-#define W32COMM_PARITY_NONE       0
-#define W32COMM_PARITY_ODD        1
-#define W32COMM_PARITY_EVEN       2
-#define W32COMM_PARITY_MARK       3
-#define W32COMM_PARITY_SPACE      4
-#define W32COMM_STOPBITS_1_5      0
-#define W32COMM_STOPBITS_1        1
-#define W32COMM_STOPBITS_2        2
-#define W32COMM_DATABITS_5        5
-#define W32COMM_DATABITS_6        6
-#define W32COMM_DATABITS_7        7
-#define W32COMM_DATABITS_8        8
-#define assertexc(s) if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); \
-                            return(-1);}
-jint w32getfd(JNIEnv *jenv, jobject jobj)
-{
-    jclass        jc;
-    jfieldID      jf;
-    jint          fd = -1;
-    // Get the file descriptor.
-    jc = (*jenv)->GetObjectClass(jenv, jobj);
-    assertexc(jc);
-    jf = (*jenv)->GetFieldID(jenv, jc, "fd", "I");
-    assertexc(jf);
-    return (*jenv)->GetIntField(jenv, jobj, jf);
-}  /* w32getfd() */
-/*
- * Function:   w32SerialPort_closeDeviceNC
- * Purpose:    Close a I/O Device
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds
- */
-int w32SerialPort_closeDeviceNC
-  (JNIEnv *env, jobject jobj, jint fd, jint semId)
-{
-	HANDLE osHandle = (HANDLE) fd;
-	env;
-	return CloseHandle(osHandle);
-}	/* w32SerialPort_closeDeviceNC */
-/*
- * Function:   w32SerialPort_openDeviceNC
- * Purpose:    open a I/O Device
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32SerialPort_openDeviceNC
-  (JNIEnv *jenv, jobject jobj, jstring name, jint semId)
-{
-#if _WIN32_WCE>=400
-	//TCHAR		appends[2] = L":";
-	//const unsigned short *portName = NULL;
-	//const unsigned short *portName_wince = NULL;
-	LPTSTR	portName = NULL;
-	LPTSTR	portName_wince = NULL;
-	LPTSTR	appends = TEXT(":");
-#else
-	const char *portName = NULL;
-#endif
-	int			fd = -1;
-	HANDLE      osHandle;
-#ifdef WINCE
-	portName = (*jenv)->GetStringChars(jenv, name, 0);
-#else
-	portName = (*jenv)->GetStringUTFChars(jenv, name, 0);
-#endif //_WIN32_WCE
-	if( portName == NULL )
-	{
-#ifdef DEBUG
-//		LOG(("Can not open port because get NULL name\n"));
-		printf( "Can not open port because get NULL name\n" );
-	    fflush( stdout );
-#endif
-		printf("portName is NULL\n");
-		return fd;
-	}
-#if _WIN32_WCE>=400
-	lstrcat(portName, appends);
-	// TEXT("COM1:")
-	
-	osHandle =	CreateFile(
-				portName,
-				GENERIC_READ | GENERIC_WRITE,
-				0,
-				NULL,
-				OPEN_EXISTING,
-				0,
-				NULL);
-#else
-	osHandle =	CreateFile(
-				portName,
-				GENERIC_READ | GENERIC_WRITE,
-				0,
-				0,
-				OPEN_EXISTING,
-				FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
-				0);
-#endif //_WIN32_WCE
-	
-	if (INVALID_HANDLE_VALUE == osHandle) {
-		fd = GetLastError();
-		iveSerThrowWin(jenv,"Error opening port", fd);
-		return 0;
-	}
-#if _WIN32_WCE>=400
-	(*jenv)->ReleaseStringChars(jenv, name, portName);
-#else
-	(*jenv)->ReleaseStringUTFChars(jenv, name, portName);
-#endif //_WIN32_WCE
-#ifdef DEBUG
-//		LOG(("w32SerialPort_openDeviceNC(%s)",portName));
-		printf( "w32SerialPort_openDeviceNC(%s) osHandle: %d\n", portName, osHandle );
-	    fflush( stdout );
-#endif
-	return (jint) osHandle;
-}  /* w32SerialPort_openDeviceNC */
-/*
- * Function:   w32SerialPort_setFlowControlModeNC
- * Purpose:    setup the comm port flow control
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32SerialPort_setFlowControlModeNC(JNIEnv *jenv, jobject jobj, jint fd, jint fc )
-{
-    HANDLE  osHandle = (HANDLE) fd;
-    DWORD   lastRc;
-    DCB     dcb;
-    BOOL    success;
-	(void)memset(&dcb, 0, sizeof(DCB));
-    success = GetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-        return success;
-    }
-	if (fc == 0) {			// None for both hardware and software
-		 /* Do nothing, as all the flow control modes are already turned off now. */
-		dcb.fOutxCtsFlow      = FALSE; //(config->hardwareFlowControl != 0);
-	    dcb.fOutxDsrFlow      = FALSE; 
-		dcb.fTXContinueOnXoff = FALSE;
-	    dcb.fOutX             = FALSE; //(config->softwareFlowControl != 0);
-		dcb.fInX              = FALSE; //(config->softwareFlowControl != 0);
-	} else {
-		if (fc & 1) {		/* hardware flow control RTSCTS_IN */
-			dcb.fOutxCtsFlow  = TRUE; 
-			dcb.fRtsControl   = RTS_CONTROL_ENABLE;
-		 }
-		 if (fc & 2) {		/* hardware flow control RTSCTS_OUT */
-			dcb.fOutxCtsFlow  = TRUE; 
-			dcb.fRtsControl   = RTS_CONTROL_ENABLE;
-		 }
-		 if (fc & 4) {		/* software flow control XONXOFF_IN */
-			dcb.fInX = TRUE;
-		 }
-		 if (fc & 8) {		/* software flow control XONXOFF_OUT */
-			dcb.fOutX  = TRUE;
-		 } 
-	}
-	success = SetCommState(osHandle,&dcb);
-	if (!success) {
-		lastRc = GetLastError();
-		iveSerThrowWin(jenv,"SetCommState() failed",lastRc);
-		printf("w32SerialPort_setDTRNC() failed to set the DCB: %d\n", success);
-	}
-	return success;
-}  /* w32SerialPort_setFlowControlModeNC */
-/*
- * Function:   w32SerialPort_getFlowControlModeNC
- * Purpose:    get the current comm port flow control settings
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32SerialPort_getFlowControlModeNC(JNIEnv *jenv, jobject jobj, jint fd )
-{
-    HANDLE  osHandle = (HANDLE) fd;
-    DWORD   lastRc;
-    DCB     dcb;
-    int     ret = -1;
-	(void)memset(&dcb, 0, sizeof(DCB));
-    ret = GetCommState(osHandle,&dcb);
-    if (!ret) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-        return ret;
-    }
-  // Determine the flow control.
-  if ( !dcb.fOutxCtsFlow && !dcb.fOutxDsrFlow && !dcb.fTXContinueOnXoff && !dcb.fOutX && !dcb.fInX )
-     ret = 0;				/* None for both hardware and software flow control */
-  else {
-     ret = 0;
-     if ( dcb.fOutxCtsFlow && (dcb.fRtsControl==RTS_CONTROL_ENABLE) )	/* hardware flow control RTSCTS_IN */
-        ret |= 1;
-     if ( dcb.fOutxCtsFlow && (dcb.fRtsControl==RTS_CONTROL_ENABLE) )	/* hardware flow control RTSCTS_IN */
-        ret |= 2;
-     if (dcb.fInX  & TRUE)		/* software flow control XONXOFF_IN */
-        ret |= 4;
-     if (dcb.fOutX & TRUE)		/* software flow control XONXOFF_OUT */
-        ret |= 8;
-  }
-  
-  return ret;
-} /* w32SerialPort_getFlowControlModeNC */
-/*
- * Function:   w32SerialPort_getBaudRateNC
- * Purpose:    get the current comm port baud rate settings
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32SerialPort_getBaudRateNC(JNIEnv *jenv, jobject jobj, jint fd)
-{
-    HANDLE  osHandle = (HANDLE) fd;
-    DWORD   lastRc;
-    DCB     dcb;
-    BOOL    success;
-	(void)memset(&dcb, 0, sizeof(DCB));
-    success = GetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-        return success;
-    }
-#ifdef DEBUG
-	printf( "win32SerialPort_getBaudRateNC(), baud rate: %d\n", dcb.BaudRate );
-	fflush( stdout ); 
-#endif
-	return dcb.BaudRate;
-}  /* w32SerialPort_getBaudRateNC() */
-/*
- * Function:   w32SerialPort_getDataBitsNC
- * Purpose:    get the current comm port data bits settings
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32SerialPort_getDataBitsNC(JNIEnv *jenv, jobject jobj, jint fd)
-{
-    HANDLE  osHandle = (HANDLE) fd;
-    DWORD   lastRc;
-    DCB     dcb;
-    BOOL    success;
-	(void)memset(&dcb, 0, sizeof(DCB));
-    success = GetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-        return success;
-    }
-#ifdef DEBUG
-	printf( "w32SerialPort_getDataBitsNC(), baud rate: %d\n", dcb.ByteSize );
-	fflush( stdout ); 
-#endif
-	return dcb.ByteSize;
-}  /* w32SerialPort_getDataBitsNC() */
-   
-/*
- * Function:   w32SerialPort_getStopBitsNC
- * Purpose:    get the current comm port stop bits settings
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32SerialPort_getStopBitsNC(JNIEnv *jenv, jobject jobj, jint fd)
-{
-    HANDLE  osHandle = (HANDLE) fd;
-    DCB     dcb;
-    DWORD   lastRc;
-    BOOL    success;
-    BYTE    stopBits;
-	(void)memset(&dcb, 0, sizeof(DCB));
-    success = GetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-        return success;
-    }
-	
-    switch (dcb.StopBits) {
-		case ONE5STOPBITS:	stopBits = W32COMM_STOPBITS_1_5; break;
-        case TWOSTOPBITS:	stopBits = W32COMM_STOPBITS_2;   break;
-        case ONESTOPBIT:   
-        default:            stopBits = W32COMM_STOPBITS_1;   break;
-    }
-	return (jint) stopBits;
-}  /* w32SerialPort_getStopBitsNC() */
-/*
- * Function:   w32SerialPort_getParityNC
- * Purpose:    get the current comm port parity bits settings
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32SerialPort_getParityNC(JNIEnv *jenv, jobject jobj, jint fd)
-{
-    HANDLE  osHandle = (HANDLE) fd;
-    DCB     dcb;
-    DWORD   lastRc;
-    BOOL    success;
-    BYTE    parity;
-	(void)memset(&dcb, 0, sizeof(DCB));
-    success = GetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-        return success;
-    }
-	
-	if ( dcb.fParity == TRUE )
-	{
-	    switch (dcb.Parity) {
-			case EVENPARITY:   parity = W32COMM_PARITY_EVEN;  break;
-			case ODDPARITY:    parity = W32COMM_PARITY_ODD;   break;
-			case MARKPARITY:   parity = W32COMM_PARITY_MARK;  break;
-			case SPACEPARITY:  parity = W32COMM_PARITY_SPACE; break;
-			case NOPARITY:	   
-			default:           parity = W32COMM_PARITY_NONE;  break;
-    
-		}
-	}
-#ifdef DEBUG
-	printf( "win32SerialPort_getParityNC():  parity = %d\n", parity); 
-#endif /* DEBUG */
-  
-	return (jint) parity;
-} /* w32SerialPort_getParityNC() */
-/*
- * Function:   w32SerialPort_setDTRNC
- * Purpose:    setup the comm port DTR bit settings
- * Signature: (Ljava/lang/String;I)I
- * Return:     none	
- */
-void w32SerialPort_setDTRNC(JNIEnv *jenv, jobject jobj, jboolean bool)
-{
-    DCB     dcb;
-    DWORD   lastRc;
-    BOOL    success;
-    HANDLE  osHandle = (HANDLE) w32getfd(jenv, jobj);
-	(void)memset(&dcb, 0, sizeof(DCB));
-    success = GetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-		printf("w32SerialPort_setDTRNC() failed to get the DCB: %d\n", success);
-    }
-	dcb.fDtrControl = DTR_CONTROL_ENABLE;
-    success = SetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"SetCommState() failed",lastRc);
-		printf("w32SerialPort_setDTRNC() failed to set the DCB: %d\n", success);
-    }
-}  /* w32SerialPort_setDTRNC() */
-/*
- * Function:   w32SerialPort_isDTRNC
- * Purpose:    checking the current comm port DTR bit settings
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-BOOL w32SerialPort_isDTRNC(JNIEnv *jenv, jobject jobj)
-{
-    DCB     dcb;
-    DWORD   lastRc;
-    BOOL    success;
-    HANDLE  osHandle = (HANDLE) w32getfd(jenv, jobj);
-	if (osHandle == (HANDLE)-1) return -1;                    
-	(void)memset(&dcb, 0, sizeof(DCB));
-    success = GetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-		printf("w32SerialPort_setDTRNC() failed to get the DCB: %d\n", success);
-    }
-	return (dcb.fDtrControl & DTR_CONTROL_ENABLE);
-}  /* w32SerialPort_isDTRNC() */
-/*
- * Function:   w32SerialPort_setRTSNC
- * Purpose:    setup the comm port RTS bit
- * Signature: (Ljava/lang/String;I)I
- * Return:     none	
- */
-void w32SerialPort_setRTSNC(JNIEnv *jenv, jobject jobj, jboolean bool)
-{
-    DCB     dcb;
-    DWORD   lastRc;
-    BOOL    success;
-    HANDLE  osHandle = (HANDLE) w32getfd(jenv, jobj);
-	(void)memset(&dcb, 0, sizeof(DCB));
-    success = GetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-		printf("w32SerialPort_setDTRNC() failed to get the DCB: %d\n", success);
-    }
-	dcb.fRtsControl = RTS_CONTROL_ENABLE;
-    success = SetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"SetCommState() failed",lastRc);
-		printf("w32SerialPort_setDTRNC() failed to set the DCB: %d\n", success);
-    }
-}  /* w32SerialPort_setRTSNC() */
-/*
- * Function:   w32SerialPort_isRTSNC
- * Purpose:    checking the current comm port RTS bit settings
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-BOOL w32SerialPort_isRTSNC( JNIEnv *jenv, jobject jobj )
-{
-    DCB     dcb;
-    DWORD   lastRc;
-    BOOL    success;
-    HANDLE  osHandle = (HANDLE) w32getfd(jenv, jobj);
-	if (osHandle == (HANDLE)-1) return -1;                    
-	(void)memset(&dcb, 0, sizeof(DCB));
-    success = GetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-		printf("w32SerialPort_isRTSNC() failed to get the DCB: %d\n", success);
-    }
-	return (dcb.fRtsControl&RTS_CONTROL_ENABLE);
-}  /* w32SerialPort_isRTSNC() */
-/*
- * Function:   w32SerialPort_isCTSNC
- * Purpose:    checking the current comm port CTS bit
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-BOOL w32SerialPort_isCTSNC( JNIEnv *jenv, jobject jobj )
-{
-    DWORD	dwCommFlags = 0;
-	HANDLE  osHandle = (HANDLE) w32getfd(jenv, jobj);
-	if (osHandle == (HANDLE)-1) return -1;                    
-	
-	GetCommModemStatus( osHandle, &dwCommFlags );
-	return  (dwCommFlags&MS_CTS_ON);
-}  /* w32SerialPort_isCTSNC */
-/*
- * Function:   w32SerialPort_isDSRNC
- * Purpose:    checking the current comm port DSR bit
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-BOOL w32SerialPort_isDSRNC( JNIEnv *jenv, jobject jobj )
-{
-    DWORD	dwCommFlags = 0;
-	HANDLE  osHandle = (HANDLE) w32getfd(jenv, jobj);
-	if (osHandle == (HANDLE)-1) return -1;                    
-	
-	GetCommModemStatus( osHandle, &dwCommFlags );
-	return  (dwCommFlags&MS_DSR_ON);
-} /* w32SerialPort_isDSRNC() */
-/*
- * Function:   w32SerialPort_isRINC
- * Purpose:    checking the current comm port RIN bit
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-BOOL w32SerialPort_isRINC( JNIEnv *jenv, jobject jobj )
-{
-    DWORD	dwCommFlags = 0;
-	HANDLE  osHandle = (HANDLE) w32getfd(jenv, jobj);
-	if (osHandle == (HANDLE)-1) return -1;                    
-	
-	GetCommModemStatus( osHandle, &dwCommFlags );
-	return  (dwCommFlags&MS_RING_ON);
-}  /* w32SerialPort_isRINC() */
-/*
- * Function:   w32SerialPort_isCDNC
- * Purpose:    checking the current comm port CD bit
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-BOOL w32SerialPort_isCDNC(JNIEnv *jenv, jobject jobj)
-{
-    DWORD	dwCommFlags = 0;
-	HANDLE  osHandle = (HANDLE) w32getfd(jenv, jobj);
-	if (osHandle == (HANDLE)-1) return -1;                    
-	
-	GetCommModemStatus( osHandle, &dwCommFlags );
-	return  (dwCommFlags&MS_RLSD_ON);
-}  /* w32SerialPort_isCDNC() */
-#if 0 //t.j
-/*
- * Function:     org_eclipse_soda_dk_comm_NSSerialPort
- * Method:    sendBreakNC
- * Signature: (II)I
- */
-int w32SerialPort_sendBreakNC(JNIEnv *jenv, jobject jobj, jint jfd, jint jmillis) {
-   (void)tcsendbreak(jfd, jmillis);
-} /* w32SerialPort_sendBreakNC() */
-#endif //t.j
-/*
- * Function:   w32SerialPort_setSerialPortParamsNC
- * Purpose:    config the comm port
- * Signature: (Ljava/lang/String;I)I
- * Return:     0 - Fail
- *			   none zero - succeeds	
- */
-int w32SerialPort_setSerialPortParamsNC
-  (JNIEnv *jenv, jobject jobj, jint fd, jint jbaudrate, jint jdatabits, jint jstopbits, jint jparity ) {
-    HANDLE       osHandle = (HANDLE) fd;
-    DCB          dcb;
-    COMMTIMEOUTS commTimeouts;
-    BOOL         success;
-    DWORD        lastRc;
-    BYTE         parity;
-    BYTE         stopBits;
-//t.j    int          rts;
-    switch (jparity) {
-        case W32COMM_PARITY_EVEN:  parity = EVENPARITY;  break;
-        case W32COMM_PARITY_ODD:   parity = ODDPARITY;   break;
-        case W32COMM_PARITY_MARK:  parity = MARKPARITY;  break;
-        case W32COMM_PARITY_SPACE: parity = SPACEPARITY; break;
-        case W32COMM_PARITY_NONE:  
-        default:                   parity = NOPARITY;    break;
-    }
-    switch (jstopbits) {
-        case W32COMM_STOPBITS_1_5: stopBits = ONE5STOPBITS; break;
-        case W32COMM_STOPBITS_2:   stopBits = TWOSTOPBITS;  break;
-        case W32COMM_STOPBITS_1:   
-        default:                   stopBits = ONESTOPBIT;   break;
-    }
-//t.j    if (config->hardwareFlowControl) {
-//        rts = RTS_CONTROL_HANDSHAKE;
-//    }
-//    else {
-//        rts = RTS_CONTROL_ENABLE;
-//t.j    }
-    memset(&dcb, 0, sizeof(DCB));
-	success = GetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"GetCommState() failed",lastRc);
-        return success;
-    }
-#ifdef DEBUG
-//       LOG( ("pName: %s, %s, dName: %s, semID %d\n", pName,pp->portName, dName, semID) );
-       printf( "before==> baudrate: %d, databits %d, stopbits: %d parity %d\n", dcb.BaudRate, dcb.ByteSize, dcb.StopBits, dcb.Parity );
-       fflush( stdout );
-#endif
-	dcb.BaudRate          = jbaudrate;
-    dcb.fBinary           = TRUE;
-    dcb.fParity           = TRUE;
-    dcb.fTXContinueOnXoff = FALSE;
-    dcb.fErrorChar        = FALSE;
-    dcb.fNull             = FALSE;
-    dcb.fAbortOnError     = FALSE;
-    dcb.ByteSize          = jdatabits;
-    dcb.Parity            = parity;
-    dcb.StopBits          = stopBits;
-	dcb.fOutxCtsFlow      = FALSE; //(config->hardwareFlowControl != 0);
-    dcb.fOutxDsrFlow      = FALSE; 
-	dcb.fTXContinueOnXoff = FALSE;
-    dcb.fOutX             = FALSE; //(config->softwareFlowControl != 0);
-	dcb.fInX              = FALSE; //(config->softwareFlowControl != 0);
-	dcb.XonChar           = 0;
-	dcb.XoffChar		  = 0;
-    success = SetCommState(osHandle,&dcb);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"SetCommState() failed",lastRc);
-        return success;
-    }
-    memset(&commTimeouts,0,sizeof(commTimeouts));
-    commTimeouts.ReadIntervalTimeout		 = MAXDWORD;
-    commTimeouts.ReadTotalTimeoutConstant	 = 0;
-    commTimeouts.ReadTotalTimeoutMultiplier	 = 0;
-    commTimeouts.WriteTotalTimeoutConstant	 = 0;
-    commTimeouts.WriteTotalTimeoutMultiplier = 0;
-    success = SetCommTimeouts(osHandle,&commTimeouts);
-    if (!success) {
-        lastRc = GetLastError();
-        iveSerThrowWin(jenv,"SetCommTimeouts() failed",lastRc);
-        return success;
-    }
-#ifdef DEBUG
-//       LOG( ("pName: %s, %s, dName: %s, semID %d\n", pName,pp->portName, dName, semID) );
-       printf( "after==> baudrate: %d, databits %d, stopbits: %d parity %d\n", dcb.BaudRate, dcb.ByteSize, dcb.StopBits, dcb.Parity );
-       fflush( stdout );
-#endif
-    return success;
-} /* w32SerialPort_setSerialPortParamsNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialPort.h b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialPort.h
deleted file mode 100644
index 25759f8..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialPort.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <windows.h>
-int  w32SerialPort_closeDeviceNC( JNIEnv *, jobject, jint, jint );
-int  w32SerialPort_openDeviceNC( JNIEnv *, jobject, jstring, jint );
-int  w32SerialPort_getBaudRateNC( JNIEnv *, jobject, jint );
-int  w32SerialPort_getDataBitsNC( JNIEnv *, jobject, jint );
-int  w32SerialPort_getStopBitsNC( JNIEnv *, jobject, jint );
-int  w32SerialPort_getParityNC( JNIEnv *, jobject, jint );
-void w32SerialPort_setDTRNC( JNIEnv *, jobject, jboolean );
-void w32SerialPort_setRTSNC( JNIEnv *, jobject, jboolean );
-BOOL w32SerialPort_isDTRNC( JNIEnv *, jobject );
-BOOL w32SerialPort_isRTSNC( JNIEnv *, jobject );
-BOOL w32SerialPort_isCTSNC( JNIEnv *, jobject );
-BOOL w32SerialPort_isDSRNC( JNIEnv *, jobject );
-BOOL w32SerialPort_isRINC(  JNIEnv *, jobject );
-BOOL w32SerialPort_isCDNC(  JNIEnv *, jobject );
-int  w32SerialPort_setFlowControlModeNC( JNIEnv *, jobject, jint, jint );
-int  w32SerialPort_getFlowControlModeNC(JNIEnv *, jobject, jint );
-int  w32SerialPort_setSerialPortParamsNC( JNIEnv *, jobject, jint, jint, jint, jint, jint );
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialStatusEventThread.c b/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialStatusEventThread.c
deleted file mode 100644
index 92dba32..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/c/w32SerialStatusEventThread.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-#include <windows.h>
-#include <winbase.h>
-#ifndef _WIN32_WCE
-#include <sys/types.h>
-#endif
-#include "org_eclipse_soda_dk_comm_SerialStatusEventThread.h"
-#define assertexc(s) if (!s) {printf("\n\n%d asserted!\n\n", __LINE__); return;}
-static int	getPollingTime(JNIEnv *jenv) {
-  int		ptime = 5;
-  jclass	cic;
-  jfieldID	ptID;
-  jint		pt;
-  do {
-	cic = (*jenv)->FindClass(jenv, "javax/comm/CommPortIdentifier");
-	if (!cic) break;
-	ptID = (*jenv)->GetStaticFieldID(jenv, cic, "pollingTime", "I");
-	if (!ptID) break;
-	pt = (*jenv)->GetStaticIntField(jenv, cic, ptID);
-	if (pt > 0)
-		ptime = pt;
-  } while (0);
-  return ptime;
-}	/* getPollingTime() */
-/*
- * Class:     org_eclipse_soda_dk_comm_SerialStatusEventThread
- * Method:    monitorSerialStatusNC
- * Signature: (I)V
- */
-void w32SerialStatusEventThread_monitorSerialStatusNC
-		(JNIEnv *jenv, jobject jobj, jint jfd) {
-	int		 pollingTime;								/* seconds */
-	HANDLE   osHandle = (HANDLE)jfd;
-	DWORD	 oldStatus, newStatus;
-	jfieldID notifyOnCDID, notifyOnCTSID;
-	jfieldID notifyOnDSRID, notifyOnRIID;
-	jboolean notifyOnCDFlag = JNI_FALSE;
-	jboolean notifyOnCTSFlag = JNI_FALSE;
-	jboolean notifyOnDSRFlag = JNI_FALSE;
-	jboolean notifyOnRIFlag = JNI_FALSE;
-	jclass      jc;
-	jmethodID   jm;
-	jclass		jspc;
-	jfieldID 	spID;
-	jobject		jsp;
-	jboolean	isInterruptedReturn;
-	jclass		jspec;									/* serial port event class */
-	jfieldID	speCDID,speCTSID, speDSRID, speRIID ;	/* field ID		*/
-	jint		speCD, speCTS, speDSR, speRI;			/* field value	*/
-	jmethodID	jintMethod;
-	jclass		jthreadClass;
-	pollingTime = getPollingTime(jenv);
-	/* Get the const values for all the serial port event types.*/
-	jspec = (*jenv)->FindClass(jenv, "javax/comm/SerialPortEvent");
-	assertexc(jspec);
-	speCDID = (*jenv)->GetStaticFieldID(jenv, jspec, "CD", "I");
-	assertexc(speCDID);
-	speCD = (*jenv)->GetStaticIntField(jenv, jspec, speCDID);
-	speCTSID = (*jenv)->GetStaticFieldID(jenv, jspec, "CTS", "I");
-	assertexc(speCTSID);
-	speCTS = (*jenv)->GetStaticIntField(jenv, jspec, speCTSID);
-	speDSRID = (*jenv)->GetStaticFieldID(jenv, jspec, "DSR", "I");
-	assertexc(speDSRID);
-	speDSR = (*jenv)->GetStaticIntField(jenv, jspec, speDSRID);
-	speRIID = (*jenv)->GetStaticFieldID(jenv, jspec, "RI", "I");
-	assertexc(speRIID);
-	speRI = (*jenv)->GetStaticIntField(jenv, jspec, speRIID);
-	/* Get the serial port object.*/
-	jc = (*jenv)->GetObjectClass(jenv, jobj);
-	assertexc(jc);
-	spID = (*jenv)->GetFieldID(jenv, jc, "serialPort", "Lorg/eclipse/soda/dk/comm/NSSerialPort;");
-	assertexc(spID);
-	jsp = (*jenv)->GetObjectField(jenv, jobj, spID);
-	assertexc(jsp);
-	/* Get the class ID of the serial port object.*/
-	jspc = (*jenv)->GetObjectClass(jenv, jsp);
-	assertexc(jspc);
-	notifyOnCDID = (*jenv)->GetFieldID(jenv, jspc, "notifyOnCDFlag", "Z");
-	assertexc(notifyOnCDID);
-	notifyOnCTSID = (*jenv)->GetFieldID(jenv, jspc, "notifyOnCTSFlag", "Z");
-	assertexc(notifyOnCTSID);
-	notifyOnDSRID = (*jenv)->GetFieldID(jenv, jspc, "notifyOnDSRFlag", "Z");
-	assertexc(notifyOnDSRID);
-	notifyOnRIID = (*jenv)->GetFieldID(jenv, jspc, "notifyOnRIFlag", "Z");
-	assertexc(notifyOnRIID);
-	/* Get access to the method to add a port.*/
-	jm = (*jenv)->GetMethodID(jenv, jspc, "reportSerialEvent", "(IZZ)V");
-	assertexc(jm);
-	/* Get access to the interrupted method.*/
-	jthreadClass = (*jenv)->FindClass(jenv, "java/lang/Thread");
-	assertexc(jthreadClass);
-	jintMethod = (*jenv)->GetMethodID(jenv, jthreadClass, "isInterrupted", "()Z");
-	assertexc(jintMethod);
-//	if (ioctl(jfd, TIOCMGET, &oldStatus) < 0) {
-//		(void)fprintf(stderr, "Java_org_eclipse_soda_dk_comm_SerialStatusEventThread_monitorSerialStatusNC: ioctl error %d!\n", errno);
-//		return;
-//t.j	}
-#ifndef _WIN32_WCE
-	if (GetCommModemStatus(osHandle, &oldStatus) < 0) {
-		errno = GetLastError();
-		(void)fprintf(stderr, "w32SerialStatusEventThread_monitorSerialStatusNC: GetCommModemStatus() error %d!\n", errno);
-		return;
-	}
-#endif //_WIN32_WCE
-	while(1)
-	{
-		Sleep(pollingTime);
-		/* check to see if this thread has been interrupted */
-		isInterruptedReturn = (*jenv)->CallBooleanMethod(jenv,jobj,jintMethod);
-		if(isInterruptedReturn == JNI_TRUE)
-			break;
-		notifyOnCDFlag  = (*jenv)->GetBooleanField(jenv, jsp, notifyOnCDID);
-		notifyOnCTSFlag = (*jenv)->GetBooleanField(jenv, jsp, notifyOnCTSID);
-		notifyOnDSRFlag = (*jenv)->GetBooleanField(jenv, jsp, notifyOnDSRID);
-		notifyOnRIFlag  = (*jenv)->GetBooleanField(jenv, jsp, notifyOnRIID);
-#ifndef _WIN32_WCE
-		if (GetCommModemStatus(osHandle, &newStatus) < 0) {
-			errno = GetLastError();
-			(void)fprintf(stderr, "w32SerialStatusEventThread_monitorSerialStatusNC: ioctl error %d!\n", errno);
-			return;
-		}
-#endif //_WIN32_WCE
-		if (newStatus == oldStatus)
-			continue;
-		if((newStatus & MS_RLSD_ON) != (oldStatus & MS_RLSD_ON))
-		{
-			if(notifyOnCDFlag)        /* need to use jsp to access this field */
-				(*jenv)->CallVoidMethod(jenv, jsp, jm, speCD,
-				    (oldStatus & MS_RLSD_ON)? JNI_TRUE:JNI_FALSE,(newStatus & MS_RLSD_ON)? JNI_TRUE:JNI_FALSE);
-		}
-		if((newStatus & MS_CTS_ON) != (oldStatus & MS_CTS_ON))
-		{
-			if(notifyOnCTSFlag)
-				(*jenv)->CallVoidMethod(jenv, jsp, jm, speCTS,
-				    (oldStatus & MS_CTS_ON)? JNI_TRUE:JNI_FALSE,(newStatus & MS_CTS_ON)? JNI_TRUE:JNI_FALSE);
-		}
-		if((newStatus & MS_DSR_ON) != (oldStatus & MS_DSR_ON))
-		{
-			if(notifyOnDSRFlag)
-				(*jenv)->CallVoidMethod(jenv, jsp, jm, speDSR,
-				    (oldStatus & MS_DSR_ON)? JNI_TRUE:JNI_FALSE,(newStatus & MS_DSR_ON)? JNI_TRUE:JNI_FALSE);
-		}
-		if((newStatus & MS_RING_ON) != (oldStatus & MS_RING_ON))
-		{
-			if(notifyOnRIFlag)
-				(*jenv)->CallVoidMethod(jenv, jsp, jm, speRI,
-				    (oldStatus & MS_RING_ON)? JNI_TRUE:JNI_FALSE,(newStatus & MS_RING_ON)? JNI_TRUE:JNI_FALSE);
-		}
-		oldStatus = newStatus;
-	}	/* end of while() */
-} /* w32SerialStatusEventThread_monitorSerialStatusNC */
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommDriver.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommDriver.java
deleted file mode 100644
index 3545a29..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommDriver.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public interface CommDriver {
-	/**
-	 * Get comm port with the specified port name and port type parameters and return the CommPort result.
-	 * @param portName	The port name (<code>String</code>) parameter.
-	 * @param portType	The port type (<code>int</code>) parameter.
-	 * @return	Results of the get comm port (<code>CommPort</code>) value.
-	 */
-	public abstract CommPort getCommPort(final String portName, final int portType);
-
-	/**
-	 * Initialize.
-	 */
-	public abstract void initialize();
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommPort.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommPort.java
deleted file mode 100644
index 0e63054..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommPort.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import java.io.*;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public abstract class CommPort extends Object {
-	/**
-	 * Define the name (String) field.
-	 */
-	protected String name = null;
-
-	/**
-	 * Close.
-	 */
-	public void close() {
-		CommPortIdentifier cport;
-		try {
-			cport = CommPortIdentifier.getPortIdentifier(this);
-		} catch (final NoSuchPortException nspe) {
-			cport = null;
-		}
-		if (cport != null) {
-			cport.internalClosePort();
-		}
-	}
-
-	/**
-	 * Disable receive framing.
-	 * @see #enableReceiveFraming(int)
-	 */
-	public abstract void disableReceiveFraming();
-
-	/**
-	 * Disable receive threshold.
-	 * @see #enableReceiveThreshold(int)
-	 * @see #getReceiveThreshold()
-	 */
-	public abstract void disableReceiveThreshold();
-
-	/**
-	 * Disable receive timeout.
-	 * @see #enableReceiveTimeout(int)
-	 * @see #getReceiveTimeout()
-	 */
-	public abstract void disableReceiveTimeout();
-
-	/**
-	 * Enable receive framing with the specified framing byte parameter.
-	 * @param framingByte	The framing byte (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #disableReceiveFraming()
-	 */
-	public abstract void enableReceiveFraming(final int framingByte) throws UnsupportedCommOperationException;
-
-	/**
-	 * Enable receive threshold with the specified thresh parameter.
-	 * @param thresh	The thresh (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #disableReceiveThreshold()
-	 * @see #getReceiveThreshold()
-	 */
-	public abstract void enableReceiveThreshold(final int thresh) throws UnsupportedCommOperationException;
-
-	/**
-	 * Enable receive timeout with the specified rcv timeout parameter.
-	 * @param rcvTimeout	The rcv timeout (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #disableReceiveTimeout()
-	 * @see #getReceiveTimeout()
-	 */
-	public abstract void enableReceiveTimeout(final int rcvTimeout) throws UnsupportedCommOperationException;
-
-	/**
-	 * Gets the input buffer size (int) value.
-	 * @return	The input buffer size (<code>int</code>) value.
-	 * @see #setInputBufferSize(int)
-	 */
-	public abstract int getInputBufferSize();
-
-	/**
-	 * Gets the input stream value.
-	 * @return	The input stream (<code>InputStream</code>) value.
-	 * @throws IOException IOException.
-	 */
-	public abstract InputStream getInputStream() throws IOException;
-
-	/**
-	 * Gets the name (String) value.
-	 * @return	The name (<code>String</code>) value.
-	 */
-	public String getName() {
-		return this.name;
-	}
-
-	/**
-	 * Gets the output buffer size (int) value.
-	 * @return	The output buffer size (<code>int</code>) value.
-	 * @see #setOutputBufferSize(int)
-	 */
-	public abstract int getOutputBufferSize();
-
-	/**
-	 * Gets the output stream value.
-	 * @return	The output stream (<code>OutputStream</code>) value.
-	 * @throws IOException IOException.
-	 */
-	public abstract OutputStream getOutputStream() throws IOException;
-
-	/**
-	 * Gets the receive framing byte (int) value.
-	 * @return	The receive framing byte (<code>int</code>) value.
-	 */
-	public abstract int getReceiveFramingByte();
-
-	/**
-	 * Gets the receive threshold (int) value.
-	 * @return	The receive threshold (<code>int</code>) value.
-	 * @see #disableReceiveThreshold()
-	 * @see #enableReceiveThreshold(int)
-	 */
-	public abstract int getReceiveThreshold();
-
-	/**
-	 * Gets the receive timeout (int) value.
-	 * @return	The receive timeout (<code>int</code>) value.
-	 * @see #disableReceiveTimeout()
-	 * @see #enableReceiveTimeout(int)
-	 */
-	public abstract int getReceiveTimeout();
-
-	/**
-	 * Gets the receive framing enabled (boolean) value.
-	 * @return	The receive framing enabled (<code>boolean</code>) value.
-	 */
-	public abstract boolean isReceiveFramingEnabled();
-
-	/**
-	 * Gets the receive threshold enabled (boolean) value.
-	 * @return	The receive threshold enabled (<code>boolean</code>) value.
-	 */
-	public abstract boolean isReceiveThresholdEnabled();
-
-	/**
-	 * Gets the receive timeout enabled (boolean) value.
-	 * @return	The receive timeout enabled (<code>boolean</code>) value.
-	 */
-	public abstract boolean isReceiveTimeoutEnabled();
-
-	/**
-	 * Sets the input buffer size value.
-	 * @param size	The size (<code>int</code>) parameter.
-	 * @see #getInputBufferSize()
-	 */
-	public abstract void setInputBufferSize(final int size);
-
-	/**
-	 * Sets the output buffer size value.
-	 * @param size	The size (<code>int</code>) parameter.
-	 * @see #getOutputBufferSize()
-	 */
-	public abstract void setOutputBufferSize(final int size);
-
-	/**
-	 * Returns the string value.
-	 * @return	The string (<code>String</code>) value.
-	 */
-	public String toString() {
-		String str;
-		String pt;
-		CommPortIdentifier cport;
-		/* This should be port name + port type. */
-		try {
-			cport = CommPortIdentifier.getPortIdentifier(this);
-		} catch (final NoSuchPortException nspe) {
-			cport = null;
-		}
-		if (cport != null) {
-			pt = cport.getPortType() == CommPortIdentifier.PORT_SERIAL ? "SERIAL" : "PARALLEL"; //$NON-NLS-1$//$NON-NLS-2$
-		} else {
-			pt = " "; //$NON-NLS-1$
-		}
-		str = new String(this.name + ':' + pt);
-		return str;
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommPortIdentifier.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommPortIdentifier.java
deleted file mode 100644
index b8d7e01..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommPortIdentifier.java
+++ /dev/null
@@ -1,265 +0,0 @@
-package javax.comm;
-
-/**************************************************************************************************************************************************************************************************************************************************************
- * Copyright (c) 1999, 2009 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html Contributors: IBM Corporation - initial API and implementation
- *************************************************************************************************************************************************************************************************************************************************************/
-import java.io.FileDescriptor;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.soda.dk.comm.internal.Library;
-
-/**
- * @author IBM
- */
-public class CommPortIdentifier {
-	/**
-	 * Define polling time value.
-	 */
-	public static final int pollingTime = 1;
-
-	/**
-	 * Define port serial value.
-	 */
-	public static final int PORT_SERIAL = 1;
-
-	/**
-	 * Define port parallel value.
-	 */
-	public static final int PORT_PARALLEL = 2;
-
-	static CommDriver commDriver = null;
-
-	static boolean initialized = false;
-
-	static Hashtable identifiers = new Hashtable(4); // initial number of
-	// ports
-	// static block to ensure proper initialization
-	static {
-		// TODO: Create a factory that would return the proper Comdriver based
-		// on the property file
-		// where the comdrivers are registered. (javax.comm.properties)
-		// lazy initialization to avoid overhead.
-		try {
-			// System.loadLibrary("dkcomm"); // replace the old ibmcomm //$NON-NLS-1$
-			Library.load_dkcomm();
-		} catch (final UnsatisfiedLinkError e) {
-			e.printStackTrace();
-			System.exit(1);
-		}
-		if (!initialized) {
-			commDriver = new org.eclipse.soda.dk.comm.NSCommDriver();
-			commDriver.initialize();
-			initialized = true;
-		}
-	}
-
-	/**
-	 * Adds <CODE>portName</CODE> to the list of ports.
-	 * 
-	 * @param portName
-	 *            The name of the port being added
-	 * @param portType
-	 *            The type of the port being added
-	 * @param commDriver
-	 *            The driver representing the port being added
-	 * @see javax.comm.CommDriver
-	 * @since CommAPI 1.1
-	 */
-	// TODO: This method is not done yet. CommDriver needs to be registered.
-	// Also the signature is non-standard. Type needs to be added.
-	public static void addPortName(final String portName, final int portType, final CommDriver commDriver) {
-		// what do I do with CommDriver??
-		identifiers.put(portName, new CommPortIdentifier(portName, portType));
-		// name=portName;
-	}
-
-	/**
-	 * Obtains the <CODE>CommPortIdentifier</CODE> object corresponding to a port that has already been opened by the application.
-	 * 
-	 * @param port
-	 *            a CommPort object obtained from a previous open
-	 * @return a CommPortIdentifier object
-	 * @exception NoSuchPortException
-	 *                if the port object is invalid
-	 */
-	public static CommPortIdentifier getPortIdentifier(final CommPort port) throws NoSuchPortException {
-		return CommPortIdentifier.getPortIdentifier(port.getName());
-	}
-
-	/**
-	 * Obtains a <CODE>CommPortIdentifier</CODE> object by using a port name. The port name may have been stored in persistent storage by the application.
-	 * 
-	 * @param portName
-	 *            name of the port to open
-	 * @return a <CODE>CommPortIdentifier</CODE> object
-	 * @exception NoSuchPortException
-	 *                if the port does not exist
-	 */
-	public static CommPortIdentifier getPortIdentifier(final String portName) throws NoSuchPortException {
-		final Object comPortId = identifiers.get(portName);
-		if (comPortId == null) {
-			throw new NoSuchPortException();
-		}
-		return (CommPortIdentifier) comPortId;
-	}
-
-	/**
-	 * Obtains an enumeration object that contains a <CODE>CommPortIdentifier</CODE> object for each port in the system.
-	 * 
-	 * @return an <CODE> Enumeration </CODE> object that can be used to enumerate all the ports known to the system
-	 * @see java.util.Enumeration
-	 */
-	public static Enumeration getPortIdentifiers() {
-		return identifiers.elements();
-	}
-
-	String name = null;
-
-	String currentOwner = null;
-
-	boolean currentlyOwned = false;
-
-	private List listeners;
-
-	CommPort commPort = null;
-
-	int type = 0;
-
-	private CommPortIdentifier(final String id, final int type) {
-		this.name = id;
-		this.type = type;
-		this.listeners = new Vector();
-	}
-
-	/**
-	 * Registers an interested application so that it can receive notification of changes in port ownership. This includes notification of the following events:
-	 * <UL>
-	 * <LI> <CODE>PORT_OWNED</CODE>: Port became owned
-	 * <LI> <CODE>PORT_UNOWNED</CODE>: Port became unowned
-	 * <LI> <CODE>PORT_OWNERSHIP_REQUESTED</CODE>: If the application owns this port and is willing to give up ownership, then it should call <CODE>close</CODE> now.
-	 * </UL>
-	 * The <CODE>ownershipChange</CODE> method of the listener registered using <CODE>addPortOwnershipListener</CODE> will be called with one of the above events.
-	 * 
-	 * @param listener
-	 *            a <CODE>CommPortOwnershipListener</CODE> callback object
-	 */
-	public void addPortOwnershipListener(final CommPortOwnershipListener listener) {
-		if ((listener != null) && !this.listeners.contains(listener)) {
-			this.listeners.add(listener);
-		}
-	}
-
-	/**
-	 * Non-Api method. Called when close() method is called on CommPort object. Required to set port owner to null and propagate CommPortOwnership event.
-	 */
-	public synchronized void closePort() {
-		this.currentlyOwned = false;
-		this.currentOwner = null;
-		this.commPort = null;
-		fireOwnershipEvent(CommPortOwnershipListener.PORT_UNOWNED);
-	}
-
-	/**
-	 * This method needs to be called when ownership of the port changes.
-	 */
-	void fireOwnershipEvent(final int eventType) {
-		for (final Iterator eventListeners = this.listeners.iterator(); eventListeners.hasNext();) {
-			final CommPortOwnershipListener listener = (CommPortOwnershipListener) eventListeners.next();
-			listener.ownershipChange(eventType);
-		}
-	}
-
-	/**
-	 * Returns the owner of the port.
-	 * 
-	 * @return current owner of the port.
-	 */
-	public String getCurrentOwner() {
-		return this.currentOwner;
-		// TODO: Native code needs to check the owner of the port
-	}
-
-	/**
-	 * Returns the name of the port.
-	 * 
-	 * @return the name of the port
-	 */
-	public String getName() {
-		return this.name;
-	}
-
-	/**
-	 * Returns the port type.
-	 * 
-	 * @return portType - PORT_SERIAL or PORT_PARALLEL
-	 */
-	public int getPortType() {
-		return this.type; // CommPortIdentifier.PORT_SERIAL, PORT_PARALLEL is
-		// not implemented;
-	}
-
-	/**
-	 * Non-Api method. Called when close() method is called on CommPort object. Required to set port owner to null and propagate CommPortOwnership event.
-	 */
-	synchronized void internalClosePort() {
-		closePort();
-	}
-
-	/**
-	 * Checks whether the port is owned.
-	 * 
-	 * @return boolean <CODE>true</CODE> if the port is owned by some application, <CODE>false</CODE> if the port is not owned.
-	 */
-	public boolean isCurrentlyOwned() {
-		return this.currentlyOwned;
-		// TODO: Native code needs to check the owner of port
-	}
-
-	/**
-	 * Opens the communications port using a <CODE>FileDescriptor</CODE> object on platforms that support this technique.
-	 * 
-	 * @param fileDescriptor
-	 *            The <CODE>FileDescriptor</CODE> object used to build a <CODE>CommPort</CODE>.
-	 * @return a <CODE>CommPort</CODE> object.
-	 * @exception UnsupportedCommOperationException
-	 *                is thrown on platforms which do not support this functionality.
-	 */
-	public CommPort open(final FileDescriptor fileDescriptor) throws UnsupportedCommOperationException {
-		throw new UnsupportedCommOperationException("Opening port with FileDescriptor is not supported!");
-	}
-
-	/**
-	 * @param appName
-	 * @param timeout
-	 * @return comport
-	 * @throws PortInUseException
-	 */
-	public synchronized CommPort open(final String appName, final int timeout) throws PortInUseException {
-		if (isCurrentlyOwned()) {
-			final PortInUseException piux = new PortInUseException(appName);
-			piux.currentOwner = getCurrentOwner();
-			throw piux;
-		}
-		this.currentOwner = appName;
-		this.currentlyOwned = true;
-		fireOwnershipEvent(CommPortOwnershipListener.PORT_OWNERSHIP_REQUESTED);
-		return commDriver.getCommPort(getName(), getPortType());
-	}
-
-	/**
-	 * Deregisters a <CODE>CommPortOwnershipListener</CODE> registered using <CODE>addPortOwnershipListener</CODE>
-	 * 
-	 * @param listener
-	 *            The CommPortOwnershipListener object that was previously registered using addPortOwnershipListener
-	 */
-	public void removePortOwnershipListener(final CommPortOwnershipListener listener) {
-		if (listener != null) {
-			this.listeners.remove(listener);
-		}
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommPortOwnershipListener.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommPortOwnershipListener.java
deleted file mode 100644
index 7a9534f..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/CommPortOwnershipListener.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import java.util.*;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public interface CommPortOwnershipListener extends EventListener {
-	/**
-	 * Define the port owned (int) constant.
-	 */
-	public static final int PORT_OWNED = 1;
-
-	/**
-	 * Define the port unowned (int) constant.
-	 */
-	public static final int PORT_UNOWNED = 2;
-
-	/**
-	 * Define the port ownership requested (int) constant.
-	 */
-	public static final int PORT_OWNERSHIP_REQUESTED = 3;
-
-	/**
-	 * Ownership change with the specified type parameter.
-	 * @param type	The type (<code>int</code>) parameter.
-	 */
-	public abstract void ownershipChange(final int type);
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/NoSuchPortException.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/NoSuchPortException.java
deleted file mode 100644
index 4dd2bfa..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/NoSuchPortException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class NoSuchPortException extends Exception {
-	/**
-	 * Define the serial version uid (long) constant.
-	 */
-	private static final long serialVersionUID = 4635426743616819612L;
-
-	/**
-	 * Constructs an instance of this class.
-	 * @see #NoSuchPortException(String)
-	 */
-	public NoSuchPortException() {
-		super();
-	}
-
-	/**
-	 * Constructs an instance of this class from the specified msg parameter.
-	 * @param msg	The msg (<code>String</code>) parameter.
-	 * @see #NoSuchPortException()
-	 */
-	public NoSuchPortException(final String msg) {
-		super(msg);
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/ParallelPort.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/ParallelPort.java
deleted file mode 100644
index 6907526..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/ParallelPort.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import java.util.*;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public abstract class ParallelPort extends CommPort {
-	/**
-	 * Define the lpt mode any (int) constant.
-	 */
-	public static final int LPT_MODE_ANY = 0;
-
-	/**
-	 * Define the lpt mode spp (int) constant.
-	 */
-	public static final int LPT_MODE_SPP = 1;
-
-	/**
-	 * Define the lpt mode ps2 (int) constant.
-	 */
-	public static final int LPT_MODE_PS2 = 2;
-
-	/**
-	 * Define the lpt mode epp (int) constant.
-	 */
-	public static final int LPT_MODE_EPP = 3;
-
-	/**
-	 * Define the lpt mode ecp (int) constant.
-	 */
-	public static final int LPT_MODE_ECP = 4;
-
-	/**
-	 * Define the lpt mode nibble (int) constant.
-	 */
-	public static final int LPT_MODE_NIBBLE = 5;
-
-	/**
-	 * Constructs an instance of this class.
-	 */
-	protected ParallelPort() {
-		super();
-	}
-
-	/**
-	 * Add event listener with the specified lsnr parameter.
-	 * @param lsnr	The lsnr (<code>ParallelPortEventListener</code>) parameter.
-	 * @throws TooManyListenersException Too Many Listeners Exception.
-	 * @see #removeEventListener()
-	 */
-	public abstract void addEventListener(final ParallelPortEventListener lsnr) throws TooManyListenersException;
-
-	/**
-	 * Gets the mode (int) value.
-	 * @return	The mode (<code>int</code>) value.
-	 * @see #setMode(int)
-	 */
-	public abstract int getMode();
-
-	/**
-	 * Gets the output buffer free (int) value.
-	 * @return	The output buffer free (<code>int</code>) value.
-	 */
-	public abstract int getOutputBufferFree();
-
-	/**
-	 * Gets the paper out (boolean) value.
-	 * @return	The paper out (<code>boolean</code>) value.
-	 */
-	public abstract boolean isPaperOut();
-
-	/**
-	 * Gets the printer busy (boolean) value.
-	 * @return	The printer busy (<code>boolean</code>) value.
-	 */
-	public abstract boolean isPrinterBusy();
-
-	/**
-	 * Gets the printer error (boolean) value.
-	 * @return	The printer error (<code>boolean</code>) value.
-	 */
-	public abstract boolean isPrinterError();
-
-	/**
-	 * Gets the printer selected (boolean) value.
-	 * @return	The printer selected (<code>boolean</code>) value.
-	 */
-	public abstract boolean isPrinterSelected();
-
-	/**
-	 * Gets the printer timed out (boolean) value.
-	 * @return	The printer timed out (<code>boolean</code>) value.
-	 */
-	public abstract boolean isPrinterTimedOut();
-
-	/**
-	 * Notify on buffer with the specified notify parameter.
-	 * @param notify	The notify (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnBuffer(final boolean notify);
-
-	/**
-	 * Notify on error with the specified notify parameter.
-	 * @param notify	The notify (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnError(final boolean notify);
-
-	/**
-	 * Remove event listener.
-	 * @see #addEventListener(ParallelPortEventListener)
-	 */
-	public abstract void removeEventListener();
-
-	/**
-	 * Restart.
-	 */
-	public abstract void restart();
-
-	/**
-	 * Sets the mode value.
-	 * @param mode	The mode (<code>int</code>) parameter.
-	 * @return	The mode (<code>int</code>) value.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #getMode()
-	 */
-	public abstract int setMode(final int mode) throws UnsupportedCommOperationException;
-
-	/**
-	 * Suspend.
-	 */
-	public abstract void suspend();
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/ParallelPortEvent.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/ParallelPortEvent.java
deleted file mode 100644
index a1187f6..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/ParallelPortEvent.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import java.util.*;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class ParallelPortEvent extends EventObject {
-	/**
-	 * Define the serial version uid (long) constant.
-	 */
-	private static final long serialVersionUID = 3956965758537808226L;
-
-	/**
-	 * Define the par ev error (int) constant.
-	 */
-	public static final int PAR_EV_ERROR = 1;
-
-	/**
-	 * Define the par ev buffer (int) constant.
-	 */
-	public static final int PAR_EV_BUFFER = 2;
-
-	/**
-	 * Define the event type (int) field.
-	 */
-	public int eventType;
-
-	/**
-	 * Define the new val (boolean) field.
-	 */
-	private boolean newVal;
-
-	/**
-	 * Define the old val (boolean) field.
-	 */
-	private boolean oldVal;
-
-	/**
-	 * Constructs an instance of this class from the specified srcport, eventtype, oldvalue and newvalue parameters.
-	 * @param srcport	The srcport (<code>ParallelPort</code>) parameter.
-	 * @param eventtype	The eventtype (<code>int</code>) parameter.
-	 * @param oldvalue	The oldvalue (<code>boolean</code>) parameter.
-	 * @param newvalue	The newvalue (<code>boolean</code>) parameter.
-	 */
-	public ParallelPortEvent(final ParallelPort srcport, final int eventtype, final boolean oldvalue, final boolean newvalue) {
-		super(srcport);
-		this.eventType = eventtype;
-		this.newVal = newvalue;
-		this.oldVal = oldvalue;
-	}
-
-	/**
-	 * Gets the event type (int) value.
-	 * @return	The event type (<code>int</code>) value.
-	 */
-	public int getEventType() {
-		return this.eventType;
-	}
-
-	/**
-	 * Gets the new value (boolean) value.
-	 * @return	The new value (<code>boolean</code>) value.
-	 */
-	public boolean getNewValue() {
-		return this.newVal;
-	}
-
-	/**
-	 * Gets the old value (boolean) value.
-	 * @return	The old value (<code>boolean</code>) value.
-	 */
-	public boolean getOldValue() {
-		return this.oldVal;
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/ParallelPortEventListener.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/ParallelPortEventListener.java
deleted file mode 100644
index a10ba64..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/ParallelPortEventListener.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import java.util.*;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public interface ParallelPortEventListener extends EventListener {
-	/**
-	 * Parallel event with the specified ev parameter.
-	 * @param ev	The ev (<code>ParallelPortEvent</code>) parameter.
-	 */
-	public abstract void parallelEvent(final ParallelPortEvent ev);
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/PortInUseException.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/PortInUseException.java
deleted file mode 100644
index 287e14e..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/PortInUseException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class PortInUseException extends Exception {
-	/**
-	 * Define the serial version uid (long) constant.
-	 */
-	private static final long serialVersionUID = -2619871379515236575L;
-
-	/**
-	 * Define the current owner (String) field.
-	 */
-	public String currentOwner;
-
-	/**
-	 * Constructs an instance of this class from the specified co parameter.
-	 * @param co	The co (<code>String</code>) parameter.
-	 */
-	public PortInUseException(final String co) {
-		this.currentOwner = co;
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPort.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPort.java
deleted file mode 100644
index ac2f35d..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPort.java
+++ /dev/null
@@ -1,303 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import java.util.*;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public abstract class SerialPort extends CommPort {
-	/**
-	 * Define the databits5 (int) constant.
-	 */
-	public static final int DATABITS_5 = 5;
-
-	/**
-	 * Define the databits6 (int) constant.
-	 */
-	public static final int DATABITS_6 = 6;
-
-	/**
-	 * Define the databits7 (int) constant.
-	 */
-	public static final int DATABITS_7 = 7;
-
-	/**
-	 * Define the databits8 (int) constant.
-	 */
-	public static final int DATABITS_8 = 8;
-
-	/**
-	 * Define the stopbits1 (int) constant.
-	 */
-	public static final int STOPBITS_1 = 1;
-
-	/**
-	 * Define the stopbits2 (int) constant.
-	 */
-	public static final int STOPBITS_2 = 2;
-
-	/**
-	 * Define the stopbits15 (int) constant.
-	 */
-	public static final int STOPBITS_1_5 = 3;
-
-	/**
-	 * Define the parity none (int) constant.
-	 */
-	public static final int PARITY_NONE = 0;
-
-	/**
-	 * Define the parity odd (int) constant.
-	 */
-	public static final int PARITY_ODD = 1;
-
-	/**
-	 * Define the parity even (int) constant.
-	 */
-	public static final int PARITY_EVEN = 2;
-
-	/**
-	 * Define the parity mark (int) constant.
-	 */
-	public static final int PARITY_MARK = 3;
-
-	/**
-	 * Define the parity space (int) constant.
-	 */
-	public static final int PARITY_SPACE = 4;
-
-	/**
-	 * Define the flowcontrol none (int) constant.
-	 */
-	public static final int FLOWCONTROL_NONE = 0;
-
-	/**
-	 * Define the flowcontrol rtscts in (int) constant.
-	 */
-	public static final int FLOWCONTROL_RTSCTS_IN = 1;
-
-	/**
-	 * Define the flowcontrol rtscts out (int) constant.
-	 */
-	public static final int FLOWCONTROL_RTSCTS_OUT = 2;
-
-	/**
-	 * Define the flowcontrol xonxoff in (int) constant.
-	 */
-	public static final int FLOWCONTROL_XONXOFF_IN = 4;
-
-	/**
-	 * Define the flowcontrol xonxoff out (int) constant.
-	 */
-	public static final int FLOWCONTROL_XONXOFF_OUT = 8;
-
-	/**
-	 * Constructs an instance of this class.
-	 */
-	protected SerialPort() {
-		super();
-	}
-
-	/**
-	 * Add event listener with the specified lsnr parameter.
-	 * @param lsnr	The lsnr (<code>SerialPortEventListener</code>) parameter.
-	 * @throws TooManyListenersException Too Many Listeners Exception.
-	 * @see #removeEventListener()
-	 */
-	public abstract void addEventListener(final SerialPortEventListener lsnr) throws TooManyListenersException;
-
-	/**
-	 * Gets the baud rate (int) value.
-	 * @return	The baud rate (<code>int</code>) value.
-	 */
-	public abstract int getBaudRate();
-
-	/**
-	 * Gets the data bits (int) value.
-	 * @return	The data bits (<code>int</code>) value.
-	 */
-	public abstract int getDataBits();
-
-	/**
-	 * Gets the flow control mode (int) value.
-	 * @return	The flow control mode (<code>int</code>) value.
-	 * @see #setFlowControlMode(int)
-	 */
-	public abstract int getFlowControlMode();
-
-	/**
-	 * Gets the parity (int) value.
-	 * @return	The parity (<code>int</code>) value.
-	 */
-	public abstract int getParity();
-
-	/**
-	 * Gets the stop bits (int) value.
-	 * @return	The stop bits (<code>int</code>) value.
-	 */
-	public abstract int getStopBits();
-
-	/**
-	 * Gets the cd (boolean) value.
-	 * @return	The cd (<code>boolean</code>) value.
-	 */
-	public abstract boolean isCD();
-
-	/**
-	 * Gets the cts (boolean) value.
-	 * @return	The cts (<code>boolean</code>) value.
-	 * @see #notifyOnCTS(boolean)
-	 */
-	public abstract boolean isCTS();
-
-	/**
-	 * Gets the dsr (boolean) value.
-	 * @return	The dsr (<code>boolean</code>) value.
-	 * @see #notifyOnDSR(boolean)
-	 */
-	public abstract boolean isDSR();
-
-	/**
-	 * Gets the dtr (boolean) value.
-	 * @return	The dtr (<code>boolean</code>) value.
-	 * @see #setDTR(boolean)
-	 */
-	public abstract boolean isDTR();
-
-	/**
-	 * Gets the ri (boolean) value.
-	 * @return	The ri (<code>boolean</code>) value.
-	 */
-	public abstract boolean isRI();
-
-	/**
-	 * Gets the rts (boolean) value.
-	 * @return	The rts (<code>boolean</code>) value.
-	 * @see #setRTS(boolean)
-	 */
-	public abstract boolean isRTS();
-
-	/**
-	 * Notify on break interrupt with the specified enable parameter.
-	 * @param enable	The enable (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnBreakInterrupt(final boolean enable);
-
-	/**
-	 * Notify on cts with the specified enable parameter.
-	 * @param enable	The enable (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnCTS(final boolean enable);
-
-	/**
-	 * Notify on carrier detect with the specified enable parameter.
-	 * @param enable	The enable (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnCarrierDetect(final boolean enable);
-
-	/**
-	 * Notify on dsr with the specified enable parameter.
-	 * @param enable	The enable (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnDSR(final boolean enable);
-
-	/**
-	 * Notify on data available with the specified enable parameter.
-	 * @param enable	The enable (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnDataAvailable(final boolean enable);
-
-	/**
-	 * Notify on framing error with the specified enable parameter.
-	 * @param enable	The enable (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnFramingError(final boolean enable);
-
-	/**
-	 * Notify on output empty with the specified enable parameter.
-	 * @param enable	The enable (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnOutputEmpty(final boolean enable);
-
-	/**
-	 * Notify on overrun error with the specified enable parameter.
-	 * @param enable	The enable (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnOverrunError(final boolean enable);
-
-	/**
-	 * Notify on parity error with the specified enable parameter.
-	 * @param enable	The enable (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnParityError(final boolean enable);
-
-	/**
-	 * Notify on ring indicator with the specified enable parameter.
-	 * @param enable	The enable (<code>boolean</code>) parameter.
-	 */
-	public abstract void notifyOnRingIndicator(final boolean enable);
-
-	/**
-	 * Remove event listener.
-	 * @see #addEventListener(SerialPortEventListener)
-	 */
-	public abstract void removeEventListener();
-
-	/**
-	 * Send break with the specified millis parameter.
-	 * @param millis	The millis (<code>int</code>) parameter.
-	 */
-	public abstract void sendBreak(final int millis);
-
-	/**
-	 * Sets the dtr value.
-	 * @param dtr	The dtr (<code>boolean</code>) parameter.
-	 * @see #isDTR()
-	 */
-	public abstract void setDTR(final boolean dtr);
-
-	/**
-	 * Sets the flow control mode value.
-	 * @param flowcontrol	The flowcontrol (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #getFlowControlMode()
-	 */
-	public abstract void setFlowControlMode(final int flowcontrol) throws UnsupportedCommOperationException;
-
-	/**
-	 * Sets the rts value.
-	 * @param rts	The rts (<code>boolean</code>) parameter.
-	 * @see #isRTS()
-	 */
-	public abstract void setRTS(final boolean rts);
-
-	/**
-	 * Sets the rcv fifo trigger value.
-	 * @param trigger	The trigger (<code>int</code>) parameter.
-	 */
-	public void setRcvFifoTrigger(final int trigger) {
-		/* do nothing */
-	}
-
-	/**
-	 * Set serial port params with the specified baudrate, data bits, stop bits and parity parameters.
-	 * @param baudrate	The baudrate (<code>int</code>) parameter.
-	 * @param dataBits	The data bits (<code>int</code>) parameter.
-	 * @param stopBits	The stop bits (<code>int</code>) parameter.
-	 * @param parity	The parity (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 */
-	public abstract void setSerialPortParams(final int baudrate, final int dataBits, final int stopBits, final int parity) throws UnsupportedCommOperationException;
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPortEvent.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPortEvent.java
deleted file mode 100644
index d53dd06..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPortEvent.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import java.util.*;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class SerialPortEvent extends EventObject {
-	/**
-	 * Define the serial version uid (long) constant.
-	 */
-	private static final long serialVersionUID = 8913102891237934499L;
-
-	/**
-	 * Define the data available (int) constant.
-	 */
-	public static final int DATA_AVAILABLE = 1;
-
-	/**
-	 * Define the output buffer empty (int) constant.
-	 */
-	public static final int OUTPUT_BUFFER_EMPTY = 2;
-
-	/**
-	 * Define the cts (int) constant.
-	 */
-	public static final int CTS = 3;
-
-	/**
-	 * Define the dsr (int) constant.
-	 */
-	public static final int DSR = 4;
-
-	/**
-	 * Define the ri (int) constant.
-	 */
-	public static final int RI = 5;
-
-	/**
-	 * Define the cd (int) constant.
-	 */
-	public static final int CD = 6;
-
-	/**
-	 * Define the oe (int) constant.
-	 */
-	public static final int OE = 7;
-
-	/**
-	 * Define the pe (int) constant.
-	 */
-	public static final int PE = 8;
-
-	/**
-	 * Define the fe (int) constant.
-	 */
-	public static final int FE = 9;
-
-	/**
-	 * Define the bi (int) constant.
-	 */
-	public static final int BI = 10;
-
-	/**
-	 * Define the event type (int) field.
-	 */
-	public int eventType;
-
-	/**
-	 * Define the new val (boolean) field.
-	 */
-	private boolean newVal;
-
-	/**
-	 * Define the old val (boolean) field.
-	 */
-	private boolean oldVal;
-
-	/**
-	 * Constructs an instance of this class from the specified srcport, eventtype, oldvalue and newvalue parameters.
-	 * @param srcport	The srcport (<code>SerialPort</code>) parameter.
-	 * @param eventtype	The eventtype (<code>int</code>) parameter.
-	 * @param oldvalue	The oldvalue (<code>boolean</code>) parameter.
-	 * @param newvalue	The newvalue (<code>boolean</code>) parameter.
-	 */
-	public SerialPortEvent(final SerialPort srcport, final int eventtype, final boolean oldvalue, final boolean newvalue) {
-		super(srcport);
-		this.eventType = eventtype;
-		this.newVal = newvalue;
-		this.oldVal = oldvalue;
-	}
-
-	/**
-	 * Gets the event type (int) value.
-	 * @return	The event type (<code>int</code>) value.
-	 */
-	public int getEventType() {
-		return this.eventType;
-	}
-
-	/**
-	 * Gets the new value (boolean) value.
-	 * @return	The new value (<code>boolean</code>) value.
-	 */
-	public boolean getNewValue() {
-		return this.newVal;
-	}
-
-	/**
-	 * Gets the old value (boolean) value.
-	 * @return	The old value (<code>boolean</code>) value.
-	 */
-	public boolean getOldValue() {
-		return this.oldVal;
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPortEventListener.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPortEventListener.java
deleted file mode 100644
index 02dfb40..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPortEventListener.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import java.util.*;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public interface SerialPortEventListener extends EventListener {
-	/**
-	 * Serial event with the specified ev parameter.
-	 * @param ev	The ev (<code>SerialPortEvent</code>) parameter.
-	 */
-	public abstract void serialEvent(final SerialPortEvent ev);
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPortException.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPortException.java
deleted file mode 100644
index 673aca7..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/SerialPortException.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class SerialPortException extends Exception {
-	/**
-	 * Define the serial version uid (long) constant.
-	 */
-	private static final long serialVersionUID = 1409005327231826071L;
-
-	/**
-	 * Constructs an instance of this class from the specified msg parameter.
-	 * @param msg	The msg (<code>String</code>) parameter.
-	 */
-	public SerialPortException(final String msg) {
-		super(msg);
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/UnsupportedCommOperationException.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/UnsupportedCommOperationException.java
deleted file mode 100644
index b9b5a48..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/UnsupportedCommOperationException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package javax.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class UnsupportedCommOperationException extends Exception {
-	/**
-	 * Define the serial version uid (long) constant.
-	 */
-	private static final long serialVersionUID = -1653996043267525578L;
-
-	/**
-	 * Constructs an instance of this class.
-	 * @see #UnsupportedCommOperationException(String)
-	 */
-	public UnsupportedCommOperationException() {
-		super();
-	}
-
-	/**
-	 * Constructs an instance of this class from the specified str parameter.
-	 * @param str	The str (<code>String</code>) parameter.
-	 * @see #UnsupportedCommOperationException()
-	 */
-	public UnsupportedCommOperationException(final String str) {
-		super(str);
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/package.html b/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/package.html
deleted file mode 100644
index 9ea4f68..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/javax/comm/package.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "..//W3C/DTD XHTML 1.0 Strict/EN"  DTD/xhtml-strict.dtd">
-<!-- Copyright (c) 2008, 2009 IBM.                                         -->
-<!-- All rights reserved. This program and the accompanying materials      -->
-<!-- are made available under the terms of the Eclipse Public License v1.0 -->
-<!-- which accompanies this distribution, and is available at              -->
-<!-- http://www.eclipse.org/legal/epl-v10.html                             -->
-<!--                                                                       -->
-<!-- Contributors:                                                         -->
-<!--     IBM - initial API and implementation                              -->
-    
-<html xmlns="http://www.w3.org/1999/xhtml";>
-	<head>
-		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-		<meta name="Security" content="public"/>
-		<meta name="Copyright" content="Copyright (c) 2009 IBM. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page."/>
-		<meta scheme="rfc1766" name="DC.Language" content="en-us"/>
-		<meta name="Keywords" content="javax.comm, org.eclipse.soda.dk.comm"/>
-		<link rel="STYLESHEET" href="stylesheet.css" charset="UTF-8" type="text/css"/>		
-		<title>javax.comm Package</title>
-	</head>
-	<body>
-		<p>This package is part of the org.eclipse.soda.dk.comm project.</p> 
-	</body>
-</html>
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/DeviceList.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/DeviceList.java
deleted file mode 100644
index 2cd5880..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/DeviceList.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.soda.dk.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class DeviceList {
-	/**
-	 * Define the head entry (DeviceListEntry) field.
-	 */
-	DeviceListEntry headEntry = null;
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/DeviceListEntry.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/DeviceListEntry.java
deleted file mode 100644
index 42501c9..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/DeviceListEntry.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.soda.dk.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class DeviceListEntry {
-	/**
-	 * Define the logical name (String) field.
-	 */
-	String logicalName;
-
-	/**
-	 * Define the physical name (String) field.
-	 */
-	String physicalName;
-
-	/**
-	 * Define the port type (int) field.
-	 */
-	int portType;
-
-	/**
-	 * Define the sem id (int) field.
-	 */
-	int semID;
-
-	/**
-	 * Define the opened (boolean) field.
-	 */
-	boolean opened;
-
-	/**
-	 * Define the next (DeviceListEntry) field.
-	 */
-	DeviceListEntry next;
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSCommDriver.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSCommDriver.java
deleted file mode 100644
index a5de04c..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSCommDriver.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.eclipse.soda.dk.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import java.io.IOException;
-import javax.comm.CommDriver;
-import javax.comm.CommPort;
-import javax.comm.CommPortIdentifier;
-import org.eclipse.soda.dk.comm.internal.Library;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class NSCommDriver implements CommDriver {
-	static {
-		try {
-			Library.load_dkcomm();
-		} catch (final UnsatisfiedLinkError exception) {
-			exception.printStackTrace();
-		}
-	}
-
-	/**
-	 * Define the device list (DeviceList) field.
-	 */
-	DeviceList devicelist = new DeviceList();
-
-	/**
-	 * Add device to list with the specified port name, port type, device name and sem id parameters.
-	 * @param portName
-	 *		The port name (<code>String</code>) parameter.
-	 * @param portType
-	 *		The port type (<code>int</code>) parameter.
-	 * @param deviceName
-	 *		The device name (<code>String</code>) parameter.
-	 * @param semID
-	 *		The sem ID (<code>int</code>) parameter.
-	 */
-	protected void addDeviceToList(final String portName, final int portType, final String deviceName, final int semID) {
-		DeviceListEntry cur = this.devicelist.headEntry;
-		DeviceListEntry prev = null;
-		while (cur != null) {
-			prev = cur;
-			cur = cur.next;
-		}
-		cur = new DeviceListEntry();
-		cur.logicalName = portName;
-		cur.physicalName = deviceName;
-		cur.portType = portType;
-		cur.semID = semID;
-		cur.next = null;
-		if (prev == null) {
-			this.devicelist.headEntry = cur;
-		} else {
-			prev.next = cur;
-		}
-	}
-
-	/**
-	 * Discover devices nc.
-	 */
-	private native void discoverDevicesNC();
-
-	/**
-	 * Get comm port with the specified port name and port type parameters and return the CommPort result.
-	 * @param portName
-	 *		The port name (<code>String</code>) parameter.
-	 * @param portType
-	 *		The port type (<code>int</code>) parameter.
-	 * @return Results of the get comm port (<code>CommPort</code>) value.
-	 */
-	public CommPort getCommPort(final String portName, final int portType) {
-		CommPort port = null;
-		try {
-			switch (portType) {
-			case CommPortIdentifier.PORT_SERIAL:
-				port = new NSSerialPort(portName, this);
-				break;
-			case CommPortIdentifier.PORT_PARALLEL:
-				port = new NSParallelPort(portName, this);
-				break;
-			}
-		} catch (final IOException exception) {
-			exception.printStackTrace();
-			/* port is being used by another app? */
-		}
-		return port;
-	}
-
-	/**
-	 * Gets the first dle (DeviceListEntry) value.
-	 * @return The first dle (<code>DeviceListEntry</code>) value.
-	 */
-	DeviceListEntry getFirstDLE() {
-		return this.devicelist.headEntry;
-	}
-
-	/**
-	 * Get next dle with the specified dle parameter and return the DeviceListEntry result.
-	 * @param dle
-	 *		The dle (<code>DeviceListEntry</code>) parameter.
-	 * @return Results of the get next dle (<code>DeviceListEntry</code>) value.
-	 */
-	DeviceListEntry getNextDLE(final DeviceListEntry dle) {
-		DeviceListEntry cur = this.devicelist.headEntry;
-		DeviceListEntry ndle = null;
-		while (cur != null) {
-			if (cur == dle) {
-				ndle = cur.next;
-				break;
-			}
-			cur = cur.next;
-		}
-		return ndle;
-	}
-
-	/**
-	 * Initialize.
-	 */
-	public void initialize() {
-		discoverDevicesNC();
-		for (DeviceListEntry cur = getFirstDLE(); cur != null; cur = getNextDLE(cur)) {
-			CommPortIdentifier.addPortName(cur.logicalName, cur.portType, this);
-		}
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSDeviceInputStream.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSDeviceInputStream.java
deleted file mode 100644
index c8e2c70..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSDeviceInputStream.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package org.eclipse.soda.dk.comm;
-
-/*******************************************************************************
- * Copyright (c) 1999, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-import java.io.IOException;
-import java.io.InputStream;
-
-import javax.comm.CommPort;
-import javax.comm.CommPortIdentifier;
-
-/**
- * @author IBM
- */
-public class NSDeviceInputStream extends InputStream {
-// -----------------------------------------------------------------------------
-// Variables
-// -----------------------------------------------------------------------------
-	int fd = -1;
-
-	private int bufsize = 0;
-
-	private int readCount = 0; // read by the app
-
-	private int bufferCount = 0; // read by this object from the device
-
-	private int thc = -1; // threshold value from serial/parallel ports
-
-	private int tmo = -1; // timeout value from serial/parallel ports
-
-	private boolean tmoDone = false; // timeout occurred?
-
-	private NSSerialPort sp = null;
-
-	private NSParallelPort pp = null;
-
-	private byte[] buffer = null; // size equivalent to insBufferSize
-
-	// of NSSerialPort or NSParallelPort
-// -----------------------------------------------------------------------------
-// Methods - constructors
-// -----------------------------------------------------------------------------
-	NSDeviceInputStream(final CommPort port, final int portType) {
-		if (portType == CommPortIdentifier.PORT_PARALLEL) {
-			this.pp = (NSParallelPort) port;
-			this.bufsize = this.pp.insBufferSize;
-			this.thc = this.pp.rcvThreshold;
-		} else {
-			this.sp = (NSSerialPort) port;
-			this.bufsize = this.sp.insBufferSize;
-			this.thc = this.sp.rcvThreshold;
-		}
-		this.buffer = new byte[this.bufsize];
-	}
-
-// -----------------------------------------------------------------------------
-// Methods - public
-// -----------------------------------------------------------------------------
-	public int available() throws IOException {
-		int rc;
-		int nbc = 0; // no of bytes that can be read without blocking
-		// Check to see if any data is in our internal buffer first.
-		if (this.bufferCount > this.readCount) {
-			nbc += this.bufferCount - this.readCount;
-		}
-		// Now query the device to see if any and how much data is pending
-		// to be read.
-		rc = getReadCountNC();
-		if (rc > 0) {
-			nbc += rc;
-		}
-		return nbc;
-	}
-
-	private native int getReadCountNC() throws IOException;
-
-	public int read() throws IOException {
-		int rc;
-		// If there is data already read from the device and buffered up,
-		// pick up one byte from it. If not, read it from the device.
-		if (this.bufferCount > this.readCount) {
-			rc = this.buffer[this.readCount++];
-			if (this.readCount == this.bufferCount) {
-				this.readCount = this.bufferCount = 0;
-			}
-		} else {
-			// Obtain the timeout trigger value.
-			if (this.pp != null) {
-				this.tmo = this.pp.rcvTimeout;
-			} else if (this.sp != null) {
-				this.tmo = this.sp.rcvTimeout;
-			}
-			rc = readDeviceOneByteNC(); // throws IOException
-		}
-		return rc;
-	}
-
-	public int read(final byte b[]) throws IOException {
-		return read(b, 0, b.length); // throws IOException
-	}
-
-// -----------------------------------------------------------------------------
-// Methods - private
-// -----------------------------------------------------------------------------
-	public int read(final byte b[], final int off, final int len) throws IOException {
-		int toff = off;
-		int tlen = len;
-		int rc;
-		boolean excflag = false;
-		int rdc = 0;
-		// Determine the minimum of length and threshold (if set).
-		if (this.pp != null) {
-			this.thc = this.pp.rcvThreshold;
-			this.tmo = this.pp.rcvTimeout;
-		} else if (this.sp != null) {
-			this.thc = this.sp.rcvThreshold;
-			this.tmo = this.sp.rcvTimeout;
-		}
-		if ((this.thc > 0) && (this.thc < tlen)) {
-			tlen = this.thc;
-		}
-		// If buffer size is 0, then no buffering is to be done.
-		if (this.bufsize == 0) {
-			this.readCount = this.bufferCount = 0;
-			while (tlen != 0) {
-				this.tmoDone = false;
-				rc = readDeviceNC(b, toff, tlen);
-				if (rc < 0) {
-					excflag = true;
-					break;
-				}
-				toff += rc;
-				tlen -= rc;
-				rdc += rc;
-				// If no data had been received this time, discontinue.
-				if (rc == 0) {
-					break;
-				}
-				// If threshold is never set, we're done with whatever
-				// we got so far.
-				if (this.thc < 0) {
-					break;
-				}
-				// If timeout is enabled and timeout occurred,
-				// discontinue.
-				if ((this.tmo > 0) && this.tmoDone) {
-					break;
-				}
-			} // end of while
-		} else {
-			while (tlen != 0) {
-				int cc;
-				this.tmoDone = false;
-				// if no data in the buffer, get some data.
-				if (this.bufferCount == 0) {
-					this.readCount = 0;
-					rc = readDeviceNC(this.buffer, 0, this.bufsize);
-					if (rc < 0) {
-						excflag = true;
-						break;
-					}
-					this.bufferCount = rc;
-					// If no data had been received this time,
-					// discontinue.
-					if (rc == 0) {
-						break;
-					}
-				}
-				// Copy the buffered up data.
-				cc = tlen <= this.bufferCount - this.readCount ? tlen : this.bufferCount - this.readCount;
-				System.arraycopy(this.buffer, this.readCount, b, toff, cc);
-				toff += cc;
-				tlen -= cc;
-				this.readCount += cc;
-				rdc += cc;
-				if (this.readCount == this.bufferCount) {
-					this.readCount = this.bufferCount = 0;
-				}
-				// If threshold is never set, we're done with whatever
-				// we got so far.
-				if (this.thc < 0) {
-					break;
-				}
-				// If timeout is enabled and timeout occurred,
-				// discontinue.
-				if ((this.tmo > 0) && this.tmoDone) {
-					break;
-				}
-			} // end of while
-		}
-		if (excflag) {
-			final IOException e = new IOException();
-			throw e;
-		}
-		return rdc;
-	}
-
-	private native int readDeviceNC(byte buf[], int offset, int nBytes);
-
-	// private native int setFDNC();
-	private native int readDeviceOneByteNC() throws IOException;
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSDeviceOutputStream.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSDeviceOutputStream.java
deleted file mode 100644
index 0f5cacb..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSDeviceOutputStream.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.eclipse.soda.dk.comm;
-
-/*******************************************************************************
- * Copyright (c) 1999, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-import java.io.IOException;
-import java.io.OutputStream;
-
-import javax.comm.CommPort;
-import javax.comm.CommPortIdentifier;
-import javax.comm.ParallelPortEvent;
-import javax.comm.SerialPortEvent;
-
-/**
- * @author IBM
- */
-public class NSDeviceOutputStream extends OutputStream {
-// -----------------------------------------------------------------------------
-// Variables
-// -----------------------------------------------------------------------------
-	int fd = -1;
-
-	private int pt; // determines whether to use sp or pp; 1 = p, 2 = s
-
-	private int bufsize;
-
-	private NSSerialPort sp = null;
-
-	private NSParallelPort pp = null;
-
-	private byte[] buffer = null; // size equivalent to insBufferSize
-
-	// of NSSerialPort or NSParallelPort
-// -----------------------------------------------------------------------------
-// Methods - constructors
-// -----------------------------------------------------------------------------
-	NSDeviceOutputStream(final CommPort port, final int portType) {
-		if (portType == CommPortIdentifier.PORT_PARALLEL) {
-			this.pt = 1;
-			this.pp = (NSParallelPort) port;
-			this.bufsize = this.pp.outsBufferSize;
-		} else {
-			this.pt = 2;
-			this.sp = (NSSerialPort) port;
-			this.bufsize = this.sp.outsBufferSize;
-		}
-		this.buffer = new byte[this.bufsize];
-	}
-
-// -----------------------------------------------------------------------------
-// Methods - public
-// -----------------------------------------------------------------------------
-	public void flush() throws IOException {
-		int rc;
-		int obc = 0;
-		if (this.pp != null) {
-			obc = this.pp.outsBufferCount;
-		} else if (this.sp != null) {
-			obc = this.sp.outsBufferCount;
-		}
-		rc = writeDeviceNC(this.buffer, 0, obc);
-		// If any errors were encountered during writes to the device, throw
-		// an exception.
-		if (rc != obc) {
-			final IOException e = new IOException();
-			throw e;
-		}
-	}
-
-	/**
-	 * @return pt
-	 */
-	public int getPt() {
-		return this.pt;
-	}
-
-	public void write(final byte b[]) throws IOException {
-		write(b, 0, b.length);
-	}
-
-	public void write(final byte b[], final int off, final int len) throws IOException {
-		// ???? How about if data is to be suspended for the parallel port ????
-		int toff = off;
-		int tlen = len;
-		int rc;
-		boolean excflag = false;
-		int obc = 0;
-		final int oldbufsize = this.bufsize;
-		boolean notify = false;
-		this.bufsize = 0;
-		// If buffer size has been changed since the last time, flush out the
-		// current data in the internal buffer.
-		if (this.pp != null) {
-			this.bufsize = this.pp.outsBufferSize;
-			obc = this.pp.outsBufferCount;
-		} else if (this.sp != null) {
-			this.bufsize = this.sp.outsBufferSize;
-			obc = this.sp.outsBufferCount;
-		}
-		if (this.bufsize != oldbufsize) {
-			if (obc != 0) {
-				rc = writeDeviceNC(this.buffer, 0, obc);
-				if (this.pp != null) {
-					this.pp.outsBufferCount = 0;
-				} else if (this.sp != null) {
-					this.sp.outsBufferCount = 0;
-				}
-				if (rc != obc) {
-					excflag = true;
-				}
-			}
-			this.buffer = null; // hopefully this is freed now
-			this.buffer = new byte[this.bufsize];
-		}
-		// If buffer size is 0, then no buffering is to be done.
-		if (this.bufsize == 0) {
-			if (this.pp != null) {
-				this.pp.outsBufferCount = 0;
-			} else if (this.sp != null) {
-				this.sp.outsBufferCount = 0;
-			}
-			rc = writeDeviceNC(b, toff, tlen);
-			if (rc != tlen) {
-				excflag = true;
-			}
-		} else { // save the data internally, and if full, write it out
-			while (tlen != 0) {
-				int wc;
-				if (this.pp != null) {
-					obc = this.pp.outsBufferCount;
-				} else if (this.sp != null) {
-					obc = this.sp.outsBufferCount;
-				}
-				if (obc + tlen >= this.bufsize) {
-					wc = this.bufsize - obc;
-					// save this in buffer and write buffer to dev
-					java.lang.System.arraycopy(b, toff, this.buffer, obc, wc);
-					rc = writeDeviceNC(this.buffer, 0, this.bufsize);
-					if (this.pp != null) {
-						this.pp.outsBufferCount = 0;
-					} else if (this.sp != null) {
-						this.sp.outsBufferCount = 0;
-					}
-					if (rc != this.bufsize) {
-						excflag = true;
-						break;
-					}
-				} else {
-					wc = tlen;
-					// save this in buffer
-					java.lang.System.arraycopy(b, toff, this.buffer, obc, wc);
-					if (this.pp != null) {
-						this.pp.outsBufferCount += wc;
-					} else if (this.sp != null) {
-						this.sp.outsBufferCount += wc;
-					}
-				}
-				toff += wc;
-				tlen -= wc;
-			}
-		}
-		// If any errors were encountered during writes to the device, throw
-		// an exception.
-		if (excflag) {
-			final IOException e = new IOException();
-			throw e;
-		}
-		// If the internal buffer has been drained out to the device, send
-		// a corresponding event, if notification is set.
-		if (this.pp != null) {
-			obc = this.pp.outsBufferCount;
-			notify = this.pp.notifyOnBufferFlag;
-		} else if (this.sp != null) {
-			obc = this.sp.outsBufferCount;
-			notify = this.sp.notifyOnBufferFlag;
-		}
-		if (notify && (obc == 0)) {
-			if (this.pp != null) {
-				this.pp.reportParallelEvent(ParallelPortEvent.PAR_EV_BUFFER, false, true);
-			} else if (this.sp != null) {
-				this.sp.reportSerialEvent(SerialPortEvent.OUTPUT_BUFFER_EMPTY, false, true);
-			}
-		}
-	}
-
-	public void write(final int i) throws IOException {
-		final byte b[] = new byte[1];
-		b[0] = (byte) (i & 0xff);
-		write(b, 0, 1);
-	}
-
-// -----------------------------------------------------------------------------
-// Methods - private
-// -----------------------------------------------------------------------------
-	private native int writeDeviceNC(byte buf[], int offset, int nBytes);
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSParallelPort.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSParallelPort.java
deleted file mode 100644
index 04be6cc..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSParallelPort.java
+++ /dev/null
@@ -1,631 +0,0 @@
-package org.eclipse.soda.dk.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import javax.comm.*;
-import java.io.*;
-import java.util.*;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class NSParallelPort extends ParallelPort {
-	/**
-	 * Define the lpt mode any (int) constant.
-	 */
-	public static final int LPT_MODE_ANY = 0;
-
-	/**
-	 * Define the lpt mode spp (int) constant.
-	 */
-	public static final int LPT_MODE_SPP = 1;
-
-	/**
-	 * Define the lpt mode ps2 (int) constant.
-	 */
-	public static final int LPT_MODE_PS2 = 2;
-
-	/**
-	 * Define the lpt mode epp (int) constant.
-	 */
-	public static final int LPT_MODE_EPP = 3;
-
-	/**
-	 * Define the lpt mode ecp (int) constant.
-	 */
-	public static final int LPT_MODE_ECP = 4;
-
-	/**
-	 * Define the lpt mode nibble (int) constant.
-	 */
-	public static final int LPT_MODE_NIBBLE = 5;
-
-	/**
-	 * Define the mode (int) field.
-	 */
-	private int mode = LPT_MODE_SPP; // only SPP mode is supported at this time
-
-	/**
-	 * Define the fd (int) field.
-	 */
-	int fd = -1; // file descriptor for the open device
-
-	/**
-	 * Define the fd (FileDescriptor) field.
-	 */
-	FileDescriptor FD = null; // FileDescriptor for the open device
-
-	/**
-	 * Define the ins (NSDeviceInputStream) field.
-	 */
-	private NSDeviceInputStream ins = null;
-
-	/**
-	 * Define the outs (NSDeviceOutputStream) field.
-	 */
-	private NSDeviceOutputStream outs = null;
-
-	/**
-	 * Define the rcv threshold (int) field.
-	 */
-	int rcvThreshold = -1;
-
-	/**
-	 * Define the rcv timeout (int) field.
-	 */
-	int rcvTimeout = -1;
-
-	/**
-	 * Define the rcv framing (boolean) field.
-	 */
-	boolean rcvFraming = false;
-
-	/**
-	 * Define the rcv framing byte (int) field.
-	 */
-	int rcvFramingByte;
-
-	/**
-	 * Define the rcv framing byte received (boolean) field.
-	 */
-	boolean rcvFramingByteReceived;
-
-	/**
-	 * Disable read buffering for now
-	 */
-	int insBufferSize = 0;
-
-	/**
-	 * Define the ins buffer count (int) field.
-	 */
-	int insBufferCount = 0;
-
-	/**
-	 * Define the outs suspended (boolean) field.
-	 */
-	boolean outsSuspended = false;
-
-	/**
-	 * Disable write buffering for default
-	 */
-	int outsBufferSize = 0;
-
-	/**
-	 * Define the outs buffer count (int) field.
-	 */
-	int outsBufferCount = 0;
-
-	/**
-	 * Define the listener (ParallelPortEventListener) field.
-	 */
-	private ParallelPortEventListener listener = null;
-
-	/**
-	 * Define the notify on error flag (boolean) field.
-	 */
-	private boolean notifyOnErrorFlag = false;
-
-	/**
-	 * Define the notify on buffer flag (boolean) field.
-	 */
-	boolean notifyOnBufferFlag = false;
-
-	/**
-	 * Define the error thread (ParallelErrorEventThread) field.
-	 */
-	private ParallelErrorEventThread errorThread = null;
-
-	/**
-	 * Define the dle (DeviceListEntry) field.
-	 */
-	private DeviceListEntry dle = null;
-
-	/**
-	 * Define the cd (NSCommDriver) field.
-	 */
-	private NSCommDriver cd = null;
-
-	/**
-	 * Constructs an instance of this class from the specified port name and driver parameters.
-	 * @param portName The port name (<code>String</code>) parameter.
-	 * @param driver The driver (<code>NSCommDriver</code>) parameter.
-	 * @throws IOException IOException.
-	 */
-	NSParallelPort(final String portName, final NSCommDriver driver) throws IOException {
-		/* NSParallelPort-extends-ParallelPort-extends-CommPort->name */
-		this.name = portName;
-		// save CommDriver
-		this.cd = driver;
-		// look for portName in DeviceList
-		for (DeviceListEntry cur = this.cd.getFirstDLE(); cur != null; cur = this.cd.getNextDLE(cur)) {
-			if (cur.logicalName.equals(portName)) {
-				/* found the portName in list, attempt to open it using native method. */
-				if ((this.fd == -1) || !cur.opened) {
-					if ((this.fd = openDeviceNC(cur.physicalName, cur.semID)) == -1) {
-						// file descriptor is NOT valid, throw an Exception
-						throw new IOException();
-					}
-					/* Got a good file descriptor. */
-					/* keep a copy of the DeviceListEntry where you found the portName */
-					/* get a FileDescriptor object */
-					/* turn opened ON */
-					this.dle = cur;
-					this.dle.opened = true;
-				} else {
-					throw new IOException();
-				}
-				break; // found our port
-			}
-		}
-	}
-
-	/**
-	 * Add event listener with the specified lst parameter.
-	 * @param lst The lst (<code>ParallelPortEventListener</code>) parameter.
-	 * @throws TooManyListenersException Too Many Listeners Exception.
-	 * @see #removeEventListener()
-	 */
-	public synchronized void addEventListener(final ParallelPortEventListener lst) throws TooManyListenersException {
-		if (this.listener != null) {
-			throw new TooManyListenersException();
-		}
-		this.listener = lst;
-		if (this.notifyOnErrorFlag && (this.errorThread == null)) {
-			this.errorThread = new ParallelErrorEventThread(this.fd, this);
-			// errorThread.setDaemon( true ); // check it out
-			this.errorThread.start();
-		}
-	}
-
-	/**
-	 * Close.
-	 */
-	public void close() {
-		// check if either fd or opened is not valid
-		// nothing to be done
-		if (this.fd == -1) {
-			return;
-		}
-		// if the error thread is alive, kill it
-		if (this.errorThread != null) {
-			this.errorThread.setStopThreadFlag(1);
-			this.errorThread = null;
-			this.notifyOnErrorFlag = false;
-		}
-		// check ins and outs
-		if (this.outs != null) {
-			try {
-				this.outs.flush();
-			} catch (final IOException e) {
-				e.printStackTrace();
-			}
-			this.outs = null;
-		}
-		if (this.ins != null) {
-			this.ins = null;
-		}
-		/* close the device. */
-		closeDeviceNC(this.fd, this.dle.semID);
-		/* reset fd and opened. */
-		this.fd = -1;
-		this.dle.opened = false;
-		// close the commport
-		super.close();
-	}
-
-	/**
-	 * Close device nc with the specified fd and sem id parameters and return the int result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @param semID The sem id (<code>int</code>) parameter.
-	 * @return Results of the close device nc (<code>int</code>) value.
-	 */
-	private native int closeDeviceNC(final int fd, final int semID);
-
-	/**
-	 * Disable receive framing.
-	 * @see #enableReceiveFraming(int)
-	 */
-	public void disableReceiveFraming() {
-		this.rcvFraming = false;
-	}
-
-	/**
-	 * Disable receive threshold.
-	 * @see #enableReceiveThreshold(int)
-	 * @see #getReceiveThreshold()
-	 */
-	public void disableReceiveThreshold() {
-		this.rcvThreshold = -1;
-	}
-
-	/**
-	 * Disable receive timeout.
-	 * @see #enableReceiveTimeout(int)
-	 * @see #getReceiveTimeout()
-	 */
-	public void disableReceiveTimeout() {
-		this.rcvTimeout = -1;
-	}
-
-	/**
-	 * Enable receive framing with the specified rcv framing byte parameter.
-	 * @param rcvFramingByte The rcv framing byte (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #disableReceiveFraming()
-	 */
-	public void enableReceiveFraming(final int rcvFramingByte) throws UnsupportedCommOperationException {
-		throw new UnsupportedCommOperationException();
-	}
-
-	/**
-	 * Enable receive threshold with the specified thresh parameter.
-	 * @param thresh The thresh (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #disableReceiveThreshold()
-	 * @see #getReceiveThreshold()
-	 */
-	public void enableReceiveThreshold(final int thresh) throws UnsupportedCommOperationException {
-		if (thresh > 0) {
-			this.rcvThreshold = thresh;
-		}
-	}
-
-	/**
-	 * Enable receive timeout with the specified rt parameter.
-	 * @param rt The rt (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #disableReceiveTimeout()
-	 * @see #getReceiveTimeout()
-	 */
-	public void enableReceiveTimeout(final int rt) throws UnsupportedCommOperationException {
-		if (rt > 0) {
-			this.rcvTimeout = rt;
-		} else if (rt == 0) {
-			this.rcvTimeout = -1;
-		}
-	}
-
-	/**
-	 * Finalize.
-	 * @throws IOException IOException.
-	 */
-	protected void finalize() throws IOException {
-		close();
-	}
-
-	/**
-	 * Gets the input buffer size (int) value.
-	 * @return The input buffer size (<code>int</code>) value.
-	 * @see #setInputBufferSize(int)
-	 */
-	public int getInputBufferSize() {
-		return this.insBufferSize;
-	}
-
-	/**
-	 * Gets the input stream value.
-	 * @return The input stream (<code>InputStream</code>) value.
-	 * @throws IOException IOException.
-	 */
-	public InputStream getInputStream() throws IOException {
-		if (this.ins == null) {
-			if ((this.ins = new NSDeviceInputStream(this, this.dle.portType)) == null) {
-				throw new IOException();
-			}
-			this.ins.fd = this.fd;
-		}
-		return this.ins;
-	}
-
-	/**
-	 * Gets the mode (int) value.
-	 * @return The mode (<code>int</code>) value.
-	 * @see #setMode(int)
-	 */
-	public int getMode() {
-		return this.mode;
-	}
-
-	/**
-	 * Gets the output buffer free (int) value.
-	 * @return The output buffer free (<code>int</code>) value.
-	 */
-	public int getOutputBufferFree() {
-		return (this.outsBufferSize > this.outsBufferCount ? this.outsBufferSize - this.outsBufferCount : 0);
-	}
-
-	/**
-	 * Gets the output buffer size (int) value.
-	 * @return The output buffer size (<code>int</code>) value.
-	 * @see #setOutputBufferSize(int)
-	 */
-	public int getOutputBufferSize() {
-		return this.outsBufferSize;
-	}
-
-	/**
-	 * Gets the output stream value.
-	 * @return The output stream (<code>OutputStream</code>) value.
-	 * @throws IOException IOException.
-	 */
-	public OutputStream getOutputStream() throws IOException {
-		if (this.outs == null) {
-			if ((this.outs = new NSDeviceOutputStream(this, this.dle.portType)) == null) {
-				throw new IOException();
-			}
-			this.outs.fd = this.fd;
-		}
-		return this.outs;
-	}
-
-	/**
-	 * Gets the receive framing byte (int) value.
-	 * @return The receive framing byte (<code>int</code>) value.
-	 */
-	public int getReceiveFramingByte() {
-		return this.rcvFramingByte;
-	}
-
-	/**
-	 * Gets the receive threshold (int) value.
-	 * @return The receive threshold (<code>int</code>) value.
-	 * @see #disableReceiveThreshold()
-	 * @see #enableReceiveThreshold(int)
-	 */
-	public int getReceiveThreshold() {
-		return this.rcvThreshold;
-	}
-
-	/**
-	 * Gets the receive timeout (int) value.
-	 * @return The receive timeout (<code>int</code>) value.
-	 * @see #disableReceiveTimeout()
-	 * @see #enableReceiveTimeout(int)
-	 */
-	public int getReceiveTimeout() {
-		return this.rcvTimeout;
-	}
-
-	/**
-	 * Gets the paper out (boolean) value.
-	 * @return The paper out (<code>boolean</code>) value.
-	 */
-	public boolean isPaperOut() {
-		return isPaperOutNC(this.fd);
-	}
-
-	/**
-	 * Is paper out nc with the specified fd parameter and return the boolean result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @return Results of the is paper out nc (<code>boolean</code>) value.
-	 */
-	private native boolean isPaperOutNC(final int fd);
-
-	/**
-	 * Gets the printer busy (boolean) value.
-	 * @return The printer busy (<code>boolean</code>) value.
-	 */
-	public boolean isPrinterBusy() {
-		return isPrinterBusyNC(this.fd);
-	}
-
-	/**
-	 * Is printer busy nc with the specified fd parameter and return the boolean result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @return Results of the is printer busy nc (<code>boolean</code>) value.
-	 */
-	private native boolean isPrinterBusyNC(final int fd);
-
-	/**
-	 * Gets the printer error (boolean) value.
-	 * @return The printer error (<code>boolean</code>) value.
-	 */
-	public boolean isPrinterError() {
-		return isPrinterErrorNC(this.fd);
-	}
-
-	/**
-	 * Is printer error nc with the specified fd parameter and return the boolean result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @return Results of the is printer error nc (<code>boolean</code>) value.
-	 */
-	private native boolean isPrinterErrorNC(final int fd);
-
-	/**
-	 * Gets the printer selected (boolean) value.
-	 * @return The printer selected (<code>boolean</code>) value.
-	 */
-	public boolean isPrinterSelected() {
-		return isPrinterSelectedNC(this.fd);
-	}
-
-	/**
-	 * Is printer selected nc with the specified fd parameter and return the boolean result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @return Results of the is printer selected nc (<code>boolean</code>) value.
-	 */
-	private native boolean isPrinterSelectedNC(final int fd);
-
-	/**
-	 * Gets the printer timed out (boolean) value.
-	 * @return The printer timed out (<code>boolean</code>) value.
-	 */
-	public boolean isPrinterTimedOut() {
-		return isPrinterTimedOutNC(this.fd);
-	}
-
-	/**
-	 * Is printer timed out nc with the specified fd parameter and return the boolean result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @return Results of the is printer timed out nc (<code>boolean</code>) value.
-	 */
-	private native boolean isPrinterTimedOutNC(final int fd);
-
-	/**
-	 * Gets the receive framing enabled (boolean) value.
-	 * @return The receive framing enabled (<code>boolean</code>) value.
-	 */
-	public boolean isReceiveFramingEnabled() {
-		return this.rcvFraming;
-	}
-
-	/**
-	 * Gets the receive threshold enabled (boolean) value.
-	 * @return The receive threshold enabled (<code>boolean</code>) value.
-	 */
-	public boolean isReceiveThresholdEnabled() {
-		return (this.rcvThreshold == -1 ? false : true);
-	}
-
-	/**
-	 * Gets the receive timeout enabled (boolean) value.
-	 * @return The receive timeout enabled (<code>boolean</code>) value.
-	 */
-	public boolean isReceiveTimeoutEnabled() {
-		return (this.rcvTimeout == -1 ? false : true);
-	}
-
-	/**
-	 * Notify on buffer with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnBuffer(final boolean notify) {
-		this.notifyOnBufferFlag = notify;
-	}
-
-	/**
-	 * Notify on error with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnError(final boolean notify) {
-		if (notify) {
-			if (!this.notifyOnErrorFlag) {
-				// instantiate ParallelErrorEventThread
-				if ((this.errorThread == null) && (this.listener != null)) {
-					this.errorThread = new ParallelErrorEventThread(this.fd, this);
-					this.errorThread.start();
-				}
-				this.notifyOnErrorFlag = true;
-			}
-		} else {
-			if (this.notifyOnErrorFlag) {
-				/* Stop ParallelErrorEventThread */
-				if (this.errorThread != null) {
-					this.errorThread.setStopThreadFlag(1);
-				}
-				this.notifyOnErrorFlag = false;
-				this.errorThread = null;
-			}
-		}
-	}
-
-	/**
-	 * Open device nc with the specified device name and sem id parameters and return the int result.
-	 * @param deviceName The device name (<code>String</code>) parameter.
-	 * @param semID The sem id (<code>int</code>) parameter.
-	 * @return Results of the open device nc (<code>int</code>) value.
-	 */
-	private native int openDeviceNC(final String deviceName, final int semID);
-
-	/**
-	 * Remove event listener.
-	 * @see #addEventListener(ParallelPortEventListener)
-	 */
-	public synchronized void removeEventListener() {
-		if (this.listener != null) {
-			if (this.errorThread != null) {
-				this.errorThread.setStopThreadFlag(1);
-			}
-			this.errorThread = null;
-			this.listener = null;
-		}
-	}
-
-	/**
-	 * Report parallel event with the specified event type, oldvalue and newvalue parameters.
-	 * @param eventType The event type (<code>int</code>) parameter.
-	 * @param oldvalue The oldvalue (<code>boolean</code>) parameter.
-	 * @param newvalue The newvalue (<code>boolean</code>) parameter.
-	 */
-	synchronized void reportParallelEvent(final int eventType, final boolean oldvalue, final boolean newvalue) {
-		if (this.listener != null) {
-			final ParallelPortEvent pe = new ParallelPortEvent(this, eventType, oldvalue, newvalue);
-			this.listener.parallelEvent(pe);
-		}
-	}
-
-	/**
-	 * Restart.
-	 */
-	public void restart() {
-		this.outsSuspended = false;
-	}
-
-	/**
-	 * Sets the input buffer size value.
-	 * @param size The size (<code>int</code>) parameter.
-	 * @see #getInputBufferSize()
-	 */
-	public void setInputBufferSize(final int size) {
-		/* do nothing */
-	}
-
-	/**
-	 * Sets the mode value.
-	 * @param md The md (<code>int</code>) parameter.
-	 * @return The mode (<code>int</code>) value.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #getMode()
-	 */
-	public int setMode(final int md) throws UnsupportedCommOperationException {
-		throw new UnsupportedCommOperationException();
-	}
-
-	/**
-	 * Sets the output buffer size value.
-	 * @param size The size (<code>int</code>) parameter.
-	 * @see #getOutputBufferSize()
-	 */
-	public void setOutputBufferSize(final int size) {
-		if (size >= 0) {
-			this.outsBufferSize = size;
-		}
-	}
-
-	/**
-	 * Suspend.
-	 */
-	public void suspend() {
-		this.outsSuspended = true;
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSSerialPort.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSSerialPort.java
deleted file mode 100644
index e5f4f95..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/NSSerialPort.java
+++ /dev/null
@@ -1,1315 +0,0 @@
-package org.eclipse.soda.dk.comm;
-
-/*************************************************************************
- * Copyright (c) 1999, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import javax.comm.*;
-import java.io.*;
-import java.util.*;
-
-/**
- * An RS-232 serial communications port. SerialPort describes the
- * low-level interface to a serial communications port made
- * available by the underlying system. SerialPort defines the
- * minimum required functionality for serial communications ports.
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-class NSSerialPort extends SerialPort {
-	/**
-	 * Define the databits5 (int) constant.
-	 */
-	public static final int DATABITS_5 = 5;
-
-	/**
-	 * Define the databits6 (int) constant.
-	 */
-	public static final int DATABITS_6 = 6;
-
-	/**
-	 * Define the databits7 (int) constant.
-	 */
-	public static final int DATABITS_7 = 7;
-
-	/**
-	 * Define the databits8 (int) constant.
-	 */
-	public static final int DATABITS_8 = 8;
-
-	/**
-	 * Define the stopbits1 (int) constant.
-	 */
-	public static final int STOPBITS_1 = 1;
-
-	/**
-	 * Define the stopbits2 (int) constant.
-	 */
-	public static final int STOPBITS_2 = 2;
-
-	/**
-	 * Define the stopbits15 (int) constant.
-	 */
-	public static final int STOPBITS_1_5 = 3;
-
-	/**
-	 * Define the parity none (int) constant.
-	 */
-	public static final int PARITY_NONE = 0;
-
-	/**
-	 * Define the parity odd (int) constant.
-	 */
-	public static final int PARITY_ODD = 1;
-
-	/**
-	 * Define the parity even (int) constant.
-	 */
-	public static final int PARITY_EVEN = 2;
-
-	/**
-	 * Define the parity mark (int) constant.
-	 */
-	public static final int PARITY_MARK = 3;
-
-	/**
-	 * Define the parity space (int) constant.
-	 */
-	public static final int PARITY_SPACE = 4;
-
-	/**
-	 * Define the flowcontrol none (int) constant.
-	 */
-	public static final int FLOWCONTROL_NONE = 0;
-
-	/**
-	 * Define the flowcontrol rtscts in (int) constant.
-	 */
-	public static final int FLOWCONTROL_RTSCTS_IN = 1;
-
-	/**
-	 * Define the flowcontrol rtscts out (int) constant.
-	 */
-	public static final int FLOWCONTROL_RTSCTS_OUT = 2;
-
-	/**
-	 * Define the flowcontrol xonxoff in (int) constant.
-	 */
-	public static final int FLOWCONTROL_XONXOFF_IN = 4;
-
-	/**
-	 * Define the flowcontrol xonxoff out (int) constant.
-	 */
-	public static final int FLOWCONTROL_XONXOFF_OUT = 8;
-
-	/**
-	 * Define the flowcontrol (int) field.
-	 */
-	private int flowcontrol = FLOWCONTROL_NONE;
-
-	/**
-	 * Define the baudrate (int) field.
-	 */
-	private int baudrate = 9600;
-
-	/**
-	 * Define the databits (int) field.
-	 */
-	private int databits = DATABITS_8;
-
-	/**
-	 * Define the stopbits (int) field.
-	 */
-	private int stopbits = STOPBITS_1;
-
-	/**
-	 * Define the parity (int) field.
-	 */
-	private int parity = PARITY_NONE;
-
-	/**
-	 * Define the dtr (boolean) field.
-	 */
-	private boolean dtr;
-
-	/**
-	 * Define the rts (boolean) field.
-	 */
-	private boolean rts;
-
-	/**
-	 * Define the dle (DeviceListEntry) field.
-	 */
-	private DeviceListEntry dle = null;
-
-	/**
-	 * Define the cd (NSCommDriver) field.
-	 */
-	private NSCommDriver cd = null;
-
-	/**
-	 * Define the fd (int) field.
-	 */
-	int fd = -1; // file descriptor for the open device
-
-	/**
-	 * Define the fd (FileDescriptor) field.
-	 */
-	FileDescriptor FD = null; // FileDescriptor for the open device for which buffers can be built upon
-
-	/**
-	 * Define the ins (NSDeviceInputStream) field.
-	 */
-	private NSDeviceInputStream ins = null;
-
-	/**
-	 * Define the outs (NSDeviceOutputStream) field.
-	 */
-	private NSDeviceOutputStream outs = null;
-
-	/**
-	 * Define the rcv threshold (int) field.
-	 */
-	int rcvThreshold = -1;
-
-	/**
-	 * Define the rcv timeout (int) field.
-	 */
-	int rcvTimeout = -1;
-
-	/**
-	 * Define the rcv framing (boolean) field.
-	 */
-	boolean rcvFraming = false;
-
-	/**
-	 * Define the rcv framing byte (int) field.
-	 */
-	int rcvFramingByte;
-
-	/**
-	 * Define the rcv framing byte received (boolean) field.
-	 */
-	boolean rcvFramingByteReceived;
-
-	/**
-	 * Disable read buffering for now
-	 */
-	int insBufferSize = 0;
-
-	/**
-	 * Define the ins buffer count (int) field.
-	 */
-	int insBufferCount = 0;
-
-	/**
-	 * Disable write buffering for default
-	 */
-	int outsBufferSize = 0;
-
-	/**
-	 * Define the outs buffer count (int) field.
-	 */
-	int outsBufferCount = 0;
-
-	/**
-	 * Define the listener (SerialPortEventListener) field.
-	 */
-	private SerialPortEventListener listener = null;
-
-	/**
-	 * Define the notify on ctsflag (boolean) field.
-	 */
-	private boolean notifyOnCTSFlag = false;
-
-	/**
-	 * Define the notify on dsrflag (boolean) field.
-	 */
-	private boolean notifyOnDSRFlag = false;
-
-	/**
-	 * Define the notify on riflag (boolean) field.
-	 */
-	private boolean notifyOnRIFlag = false;
-
-	/**
-	 * Define the notify on cdflag (boolean) field.
-	 */
-	private boolean notifyOnCDFlag = false;
-
-	/**
-	 * Define the notify on orflag (boolean) field.
-	 */
-	private boolean notifyOnORFlag = false;
-
-	/**
-	 * Define the notify on peflag (boolean) field.
-	 */
-	private boolean notifyOnPEFlag = false;
-
-	/**
-	 * Define the notify on feflag (boolean) field.
-	 */
-	private boolean notifyOnFEFlag = false;
-
-	/**
-	 * Define the notify on biflag (boolean) field.
-	 */
-	private boolean notifyOnBIFlag = false;
-
-	/**
-	 * Define the notify on buffer flag (boolean) field.
-	 */
-	boolean notifyOnBufferFlag = false;
-
-	/**
-	 * Define the notify on data flag (boolean) field.
-	 */
-	private boolean notifyOnDataFlag = false;
-
-	/**
-	 * Define the status thread (SerialStatusEventThread) field.
-	 */
-	private SerialStatusEventThread statusThread = null;
-
-	/**
-	 * Define the data thread (SerialDataEventThread) field.
-	 */
-	private SerialDataEventThread dataThread = null;
-
-	/**
-	 * Constructor
-	 * @param portName The port name (<code>String</code>) parameter.
-	 * @param driver The driver (<code>NSCommDriver</code>) parameter.
-	 * @throws IOException IOException.
-	 */
-	public NSSerialPort(final String portName, final NSCommDriver driver) throws IOException {
-		/* caller wants port portName */
-		/* NSSerialPort-extends-SerialPort-extends-CommPort->name */
-		this.name = portName;
-		// save CommDriver
-		this.cd = driver;
-		// look for portName in DeviceList
-		for (DeviceListEntry cur = this.cd.getFirstDLE(); cur != null; cur = this.cd.getNextDLE(cur)) {
-			if (cur.logicalName.equals(portName)) {
-				/* found the portName in list, attempt to open it using native method. */
-				if ((this.fd == -1) || !cur.opened) {
-					if ((this.fd = openDeviceNC(cur.physicalName, cur.semID)) == -1) {
-						// file descriptor is NOT valid, throw an Exception
-						throw new IOException();
-					}
-					/* Got a good file descriptor. */
-					/* keep a copy of the DeviceListEntry where you found the portName */
-					/* get a FileDescriptor object */
-					/* turn opened ON */
-					this.dle = cur;
-					this.dle.opened = true;
-				} else {
-					throw new IOException();
-				}
-				break; // found our port
-			}
-		}
-	}
-
-	/**
-	 * Add event listener with the specified lstnr parameter.
-	 * @param lstnr The lstnr (<code>SerialPortEventListener</code>) parameter.
-	 * @throws TooManyListenersException Too Many Listeners Exception.
-	 * @see #removeEventListener()
-	 */
-	public synchronized void addEventListener(final SerialPortEventListener lstnr) throws TooManyListenersException {
-		if (this.listener != null) {
-			throw new TooManyListenersException();
-		}
-		this.listener = lstnr;
-		// check all other related flags, all must be false
-		if ((this.notifyOnDSRFlag || this.notifyOnRIFlag || this.notifyOnCDFlag || this.notifyOnORFlag || this.notifyOnPEFlag || this.notifyOnFEFlag || this.notifyOnCTSFlag || this.notifyOnBIFlag) && (this.statusThread == null)) {
-			this.statusThread = new SerialStatusEventThread(this.fd, this);
-			// statusThread.setDaemon( true ); // check it out ???
-			this.statusThread.start();
-		}
-		if (this.notifyOnDataFlag && (this.dataThread == null)) {
-			this.dataThread = new SerialDataEventThread(this.fd, this);
-			// dataThread.setDaemon( true ); // check it out ???
-			this.dataThread.start();
-		}
-	}
-
-	/**
-	 * Close.
-	 */
-	public void close() {
-		if (this.fd == -1) {
-			return;
-		}
-		// if thread are alive, kill them
-		if (this.statusThread != null) {
-			this.statusThread.setStopThreadFlag(1);
-			this.notifyOnCTSFlag = false;
-			this.notifyOnDSRFlag = false;
-			this.notifyOnRIFlag = false;
-			this.notifyOnCDFlag = false;
-			this.notifyOnORFlag = false;
-			this.notifyOnPEFlag = false;
-			this.notifyOnFEFlag = false;
-			this.notifyOnBIFlag = false;
-		}
-		if (this.dataThread != null) {
-			this.dataThread.setStopThreadFlag(1);
-			this.notifyOnDataFlag = false;
-		}
-		// check ins and outs
-		if (this.outs != null) {
-			try {
-				this.outs.flush();
-			} catch (final IOException e) {
-				e.printStackTrace();
-			}
-			this.outs = null;
-		}
-		if (this.ins != null) {
-			this.ins = null;
-		}
-		/* close the device. */
-		closeDeviceNC(this.fd, this.dle.semID);
-		/* reset fd and opened. */
-		this.fd = -1;
-		this.dle.opened = false;
-		// close the commport
-		super.close();
-	}
-
-	/**
-	 * Close device nc with the specified fd and sem id parameters and return the int result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @param semID The sem id (<code>int</code>) parameter.
-	 * @return Results of the close device nc (<code>int</code>) value.
-	 */
-	private native int closeDeviceNC(final int fd, final int semID);
-
-	/**
-	 * Disable receive framing.
-	 * @see #enableReceiveFraming(int)
-	 */
-	public void disableReceiveFraming() {
-		this.rcvFraming = false;
-	}
-
-	/**
-	 * Disable receive threshold.
-	 * @see #enableReceiveThreshold(int)
-	 * @see #getReceiveThreshold()
-	 */
-	public void disableReceiveThreshold() {
-		this.rcvThreshold = -1;
-	}
-
-	/**
-	 * Disable receive timeout.
-	 * @see #enableReceiveTimeout(int)
-	 * @see #getReceiveTimeout()
-	 */
-	public void disableReceiveTimeout() {
-		this.rcvTimeout = -1;
-	}
-
-	/**
-	 * Enable receive framing with the specified rcv framing byte parameter.
-	 * @param rcvFramingByte The rcv framing byte (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #disableReceiveFraming()
-	 */
-	public void enableReceiveFraming(final int rcvFramingByte) throws UnsupportedCommOperationException {
-		throw new UnsupportedCommOperationException();
-	}
-
-	/**
-	 * Enable receive threshold with the specified thresh parameter.
-	 * @param thresh The thresh (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #disableReceiveThreshold()
-	 * @see #getReceiveThreshold()
-	 */
-	public void enableReceiveThreshold(final int thresh) throws UnsupportedCommOperationException {
-		if (thresh > 0) {
-			this.rcvThreshold = thresh;
-		}
-	}
-
-	/**
-	 * Enable receive timeout with the specified rt parameter.
-	 * @param rt The rt (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #disableReceiveTimeout()
-	 * @see #getReceiveTimeout()
-	 */
-	public void enableReceiveTimeout(final int rt) throws UnsupportedCommOperationException {
-		if (rt > 0) {
-			this.rcvTimeout = rt;
-		} else if (rt == 0) {
-			this.rcvTimeout = -1;
-		}
-	}
-
-	/**
-	 * Finalize.
-	 * @throws IOException IOException.
-	 */
-	protected void finalize() throws IOException {
-		close();
-	}
-
-	/**
-	 * Gets the baud rate (int) value.
-	 * @return The baud rate (<code>int</code>) value.
-	 */
-	public int getBaudRate() {
-		int bdrate = 0;
-		if (this.fd > -1) {
-			bdrate = getBaudRateNC(this.fd);
-			if (bdrate < 0) {
-				bdrate = 0;
-			} else {
-				this.baudrate = bdrate;
-				// no need to map native values to java values here
-			}
-		}
-		return bdrate;
-	}
-
-	/**
-	 * Get baud rate nc with the specified fd parameter and return the int result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @return Results of the get baud rate nc (<code>int</code>) value.
-	 */
-	private native int getBaudRateNC(final int fd);
-
-	/**
-	 * Gets the baudrate (int) value.
-	 * @return The baudrate (<code>int</code>) value.
-	 */
-	public int getBaudrate() {
-		return this.baudrate;
-	}
-
-	/**
-	 * Gets the data bits (int) value.
-	 * @return The data bits (<code>int</code>) value.
-	 */
-	public int getDataBits() {
-		int db = 0;
-		if (this.fd > -1) {
-			db = getDataBitsNC(this.fd);
-			if (db != -1) {
-				switch (db) {
-				case 5:
-					this.databits = DATABITS_5;
-					break;
-				case 6:
-					this.databits = DATABITS_6;
-					break;
-				case 7:
-					this.databits = DATABITS_7;
-					break;
-				case 8:
-					this.databits = DATABITS_8;
-					break;
-				}
-			}
-		}
-		return this.databits;
-	}
-
-	/**
-	 * Get data bits nc with the specified fd parameter and return the int result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @return Results of the get data bits nc (<code>int</code>) value.
-	 */
-	private native int getDataBitsNC(final int fd);
-
-	/**
-	 * Gets the currently configured flow control mode.
-	 * Returns:
-	 * an integer bitmask of the modes FLOWCONTROL_NONE,
-	 * FLOWCONTROL_RTSCTS_IN,
-	 * FLOWCONTROL_RTSCTS_OUT,
-	 * FLOWCONTROL_XONXOFF_IN, and
-	 * FLOWCONTROL_XONXOFF_OUT.
-	 * @return Results of the get flow control mode (<code>int</code>) value.
-	 * @see #setFlowControlMode(int)
-	 */
-	public int getFlowControlMode() {
-		if (this.fd > -1) {
-			final int retCode = getFlowControlModeNC(this.fd);
-			if (retCode == -1) {
-				return this.flowcontrol;
-			}
-			if (retCode == 0) {
-				this.flowcontrol = FLOWCONTROL_NONE;
-			} else {
-				int fl = 0;
-				if ((retCode & 1) != 0) {
-					fl |= FLOWCONTROL_RTSCTS_IN;
-				}
-				if ((retCode & 2) != 0) {
-					fl |= FLOWCONTROL_RTSCTS_OUT;
-				}
-				if ((retCode & 4) != 0) {
-					fl |= FLOWCONTROL_XONXOFF_IN;
-				}
-				if ((retCode & 8) != 0) {
-					fl |= FLOWCONTROL_XONXOFF_OUT;
-				}
-				this.flowcontrol = fl;
-			}
-		} else {
-			return this.flowcontrol;
-		}
-		return this.flowcontrol;
-	}
-
-	/**
-	 * Get flow control mode nc with the specified fd parameter and return the int result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @return Results of the get flow control mode nc (<code>int</code>) value.
-	 */
-	private native int getFlowControlModeNC(final int fd);
-
-	/**
-	 * Gets the input buffer size (int) value.
-	 * @return The input buffer size (<code>int</code>) value.
-	 * @see #setInputBufferSize(int)
-	 */
-	public int getInputBufferSize() {
-		return this.insBufferSize;
-	}
-
-	/**
-	 * Gets the input stream value.
-	 * @return The input stream (<code>InputStream</code>) value.
-	 * @throws IOException IOException.
-	 */
-	public InputStream getInputStream() throws IOException {
-		if (this.ins != null) {
-			return this.ins;
-		}
-		if ((this.ins = new NSDeviceInputStream(this, this.dle.portType)) == null) {
-			throw new IOException();
-		}
-		this.ins.fd = this.fd;
-		return this.ins;
-	}
-
-	/**
-	 * Gets the output buffer size (int) value.
-	 * @return The output buffer size (<code>int</code>) value.
-	 * @see #setOutputBufferSize(int)
-	 */
-	public int getOutputBufferSize() {
-		return this.outsBufferSize;
-	}
-
-	/**
-	 * Gets the output stream value.
-	 * @return The output stream (<code>OutputStream</code>) value.
-	 * @throws IOException IOException.
-	 */
-	public OutputStream getOutputStream() throws IOException {
-		if (this.outs != null) {
-			return this.outs;
-		}
-		/* Y: get a new DeviceOutputStream */
-		if ((this.outs = new NSDeviceOutputStream(this, this.dle.portType)) == null) {
-			throw new IOException();
-		}
-		// what do I do here
-		this.outs.fd = this.fd;
-		return this.outs;
-	}
-
-	/**
-	 * Gets the parity (int) value.
-	 * @return The parity (<code>int</code>) value.
-	 */
-	public int getParity() {
-		int p = 0;
-		if (this.fd > -1) {
-			p = getParityNC(this.fd);
-			if (p != -1) {
-				switch (p) {
-				case 0:
-					this.parity = PARITY_NONE;
-					break;
-				case 1:
-					this.parity = PARITY_ODD;
-					break;
-				case 2:
-					this.parity = PARITY_EVEN;
-					break;
-				case 3:
-					this.parity = PARITY_MARK;
-					break;
-				case 4:
-					this.parity = PARITY_SPACE;
-					break;
-				}
-			}
-		}
-		return this.parity;
-	}
-
-	/**
-	 * Get parity nc with the specified fd parameter and return the int result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @return Results of the get parity nc (<code>int</code>) value.
-	 */
-	private native int getParityNC(final int fd);
-
-	/**
-	 * Gets the receive framing byte (int) value.
-	 * @return The receive framing byte (<code>int</code>) value.
-	 */
-	public int getReceiveFramingByte() {
-		return this.rcvFramingByte;
-	}
-
-	/**
-	 * Gets the receive threshold (int) value.
-	 * @return The receive threshold (<code>int</code>) value.
-	 * @see #disableReceiveThreshold()
-	 * @see #enableReceiveThreshold(int)
-	 */
-	public int getReceiveThreshold() {
-		return this.rcvThreshold;
-	}
-
-	/**
-	 * Gets the receive timeout (int) value.
-	 * @return The receive timeout (<code>int</code>) value.
-	 * @see #disableReceiveTimeout()
-	 * @see #enableReceiveTimeout(int)
-	 */
-	public int getReceiveTimeout() {
-		return this.rcvTimeout;
-	}
-
-	/**
-	 * Gets the stop bits (int) value.
-	 * @return The stop bits (<code>int</code>) value.
-	 */
-	public int getStopBits() {
-		int sb = 0;
-		if (this.fd > -1) {
-			sb = getStopBitsNC(this.fd);
-			if (sb != -1) {
-				switch (sb) {
-				case 0:
-					this.stopbits = STOPBITS_1_5;
-					break;
-				case 1:
-					this.stopbits = STOPBITS_1;
-					break;
-				case 2:
-					this.stopbits = STOPBITS_2;
-					break;
-				}
-			}
-		}
-		return this.stopbits;
-	}
-
-	/**
-	 * Get stop bits nc with the specified fd parameter and return the int result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @return Results of the get stop bits nc (<code>int</code>) value.
-	 */
-	private native int getStopBitsNC(final int fd);
-
-	/**
-	 * Gets the cd (boolean) value.
-	 * @return The cd (<code>boolean</code>) value.
-	 */
-	public boolean isCD() {
-		return isCDNC();
-	}
-
-	/**
-	 * Gets the cdnc (boolean) value.
-	 * @return The cdnc (<code>boolean</code>) value.
-	 */
-	private native boolean isCDNC();
-
-	/**
-	 * Gets the cts (boolean) value.
-	 * @return The cts (<code>boolean</code>) value.
-	 * @see #notifyOnCTS(boolean)
-	 */
-	public boolean isCTS() {
-		return isCTSNC();
-	}
-
-	/**
-	 * Gets the ctsnc (boolean) value.
-	 * @return The ctsnc (<code>boolean</code>) value.
-	 */
-	private native boolean isCTSNC();
-
-	/**
-	 * Gets the dsr (boolean) value.
-	 * @return The dsr (<code>boolean</code>) value.
-	 * @see #notifyOnDSR(boolean)
-	 */
-	public boolean isDSR() {
-		return isDSRNC();
-	}
-
-	/**
-	 * Gets the dsrnc (boolean) value.
-	 * @return The dsrnc (<code>boolean</code>) value.
-	 */
-	private native boolean isDSRNC();
-
-	/**
-	 * Gets the dtr (boolean) value.
-	 * @return The dtr (<code>boolean</code>) value.
-	 * @see #setDTR(boolean)
-	 */
-	public boolean isDTR() {
-		return isDTRNC();
-	}
-
-	/**
-	 * Gets the dtrnc (boolean) value.
-	 * @return The dtrnc (<code>boolean</code>) value.
-	 */
-	private native boolean isDTRNC();
-
-	/**
-	 * Gets the dtr (boolean) value.
-	 * @return The dtr (<code>boolean</code>) value.
-	 */
-	public boolean isDtr() {
-		return this.dtr;
-	}
-
-	/**
-	 * Gets the ri (boolean) value.
-	 * @return The ri (<code>boolean</code>) value.
-	 */
-	public boolean isRI() {
-		return isRINC();
-	}
-
-	/**
-	 * Gets the rinc (boolean) value.
-	 * @return The rinc (<code>boolean</code>) value.
-	 */
-	private native boolean isRINC();
-
-	/**
-	 * Gets the rts (boolean) value.
-	 * @return The rts (<code>boolean</code>) value.
-	 * @see #setRTS(boolean)
-	 */
-	public boolean isRTS() {
-		return isRTSNC();
-	}
-
-	/**
-	 * Gets the rtsnc (boolean) value.
-	 * @return The rtsnc (<code>boolean</code>) value.
-	 */
-	private native boolean isRTSNC();
-
-	/**
-	 * Gets the receive framing enabled (boolean) value.
-	 * @return The receive framing enabled (<code>boolean</code>) value.
-	 */
-	public boolean isReceiveFramingEnabled() {
-		return this.rcvFraming;
-	}
-
-	/**
-	 * Gets the receive threshold enabled (boolean) value.
-	 * @return The receive threshold enabled (<code>boolean</code>) value.
-	 */
-	public boolean isReceiveThresholdEnabled() {
-		if (this.rcvThreshold == -1) {
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Gets the receive timeout enabled (boolean) value.
-	 * @return The receive timeout enabled (<code>boolean</code>) value.
-	 */
-	public boolean isReceiveTimeoutEnabled() {
-		if (this.rcvTimeout == -1) {
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Gets the rts (boolean) value.
-	 * @return The rts (<code>boolean</code>) value.
-	 */
-	public boolean isRts() {
-		return this.rts;
-	}
-
-	/**
-	 * Notify on break interrupt with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnBreakInterrupt(final boolean notify) {
-		if (notify && this.notifyOnBIFlag) {
-			return; // already enabled
-		}
-		if (notify && !this.notifyOnBIFlag) {
-			// instantiate SerialStatusEventThread
-			if (this.statusThread == null) {
-				this.statusThread = new SerialStatusEventThread(this.fd, this);
-				// statusThread.setDaemon( true ); // check it out
-				this.statusThread.start();
-			}
-			this.notifyOnBIFlag = true;
-		} else {
-			// check all other related flags, all must be false
-			if (!this.notifyOnCTSFlag && !this.notifyOnDSRFlag && !this.notifyOnRIFlag && !this.notifyOnCDFlag && !this.notifyOnORFlag && !this.notifyOnPEFlag && !this.notifyOnFEFlag) {
-				if (this.statusThread != null) {
-					this.statusThread.setStopThreadFlag(1);
-					this.statusThread = null;
-				}
-			}
-			this.notifyOnBIFlag = false;
-		}
-	}
-
-	/**
-	 * Notify on cts with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnCTS(final boolean notify) {
-		if (notify && this.notifyOnCTSFlag) {
-			return; // already enabled
-		}
-		if (notify && !this.notifyOnCTSFlag) {
-			if (this.statusThread == null) {
-				this.statusThread = new SerialStatusEventThread(this.fd, this);
-				// statusThread.setDaemon( true ); // check it out
-				this.statusThread.start();
-			}
-			this.notifyOnCTSFlag = true;
-		} else {
-			// check all other related flags, all must be false
-			if (!this.notifyOnDSRFlag && !this.notifyOnRIFlag && !this.notifyOnCDFlag && !this.notifyOnORFlag && !this.notifyOnPEFlag && !this.notifyOnFEFlag && !this.notifyOnBIFlag) {
-				if (this.statusThread != null) {
-					this.statusThread.setStopThreadFlag(1);
-					this.statusThread = null;
-				}
-			}
-			this.notifyOnCTSFlag = false;
-		}
-	}
-
-	/**
-	 * Notify on carrier detect with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnCarrierDetect(final boolean notify) {
-		if (notify && this.notifyOnCDFlag) {
-			return; // already enabled
-		}
-		if (notify && !this.notifyOnCDFlag) {
-			// instantiate SerialStatusEventThread
-			if (this.statusThread == null) {
-				this.statusThread = new SerialStatusEventThread(this.fd, this);
-				// statusThread.setDaemon( true ); // check it out
-				this.statusThread.start();
-			}
-			this.notifyOnCDFlag = true;
-		} else {
-			// check all other related flags, all must be false
-			if (!this.notifyOnCTSFlag && !this.notifyOnDSRFlag && !this.notifyOnORFlag && !this.notifyOnRIFlag && !this.notifyOnPEFlag && !this.notifyOnFEFlag && !this.notifyOnBIFlag) {
-				if (this.statusThread != null) {
-					this.statusThread.setStopThreadFlag(1);
-					this.statusThread = null;
-				}
-			}
-			this.notifyOnCDFlag = false;
-		}
-	}
-
-	/**
-	 * Notify on dsr with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnDSR(final boolean notify) {
-		if (notify && this.notifyOnDSRFlag) {
-			return; // already enabled
-		}
-		if (notify && !this.notifyOnDSRFlag) {
-			if (this.statusThread == null) {
-				this.statusThread = new SerialStatusEventThread(this.fd, this);
-				this.statusThread.start();
-			}
-			this.notifyOnDSRFlag = true;
-		} else {
-			// check all other related flags, all must be false
-			if (!this.notifyOnCTSFlag && !this.notifyOnRIFlag && !this.notifyOnCDFlag && !this.notifyOnORFlag && !this.notifyOnPEFlag && !this.notifyOnFEFlag && !this.notifyOnBIFlag) {
-				if (this.statusThread != null) {
-					this.statusThread.setStopThreadFlag(1);
-					this.statusThread = null;
-				}
-			}
-			this.notifyOnDSRFlag = false;
-		}
-	}
-
-	/**
-	 * Notify on data available with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnDataAvailable(final boolean notify) {
-		if (notify) {
-			if (!this.notifyOnDataFlag) {
-				// instantiate SerialDataEventThread
-				if (this.dataThread == null) {
-					this.dataThread = new SerialDataEventThread(this.fd, this);
-					// dataThread.setDaemon( true ); // check it out
-					this.dataThread.start();
-				}
-				this.notifyOnDataFlag = true;
-			}
-		} else {
-			if (this.notifyOnDataFlag) {
-				/* Stop SerialDataEventThread */
-				if (this.dataThread != null) {
-					this.dataThread.setStopThreadFlag(1);
-				}
-				this.notifyOnDataFlag = false;
-				this.dataThread = null;
-			}
-		}
-	}
-
-	/**
-	 * Notify on framing error with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnFramingError(final boolean notify) {
-		if (notify && this.notifyOnFEFlag) {
-			return; // already enabled
-		}
-		if (notify && !this.notifyOnFEFlag) {
-			if (this.statusThread == null) {
-				this.statusThread = new SerialStatusEventThread(this.fd, this);
-				// statusThread.setDaemon( true ); // check it out
-				this.statusThread.start();
-			}
-			this.notifyOnFEFlag = true;
-		} else {
-			// check all other related flags, all must be false
-			if (!this.notifyOnCTSFlag && !this.notifyOnDSRFlag && !this.notifyOnRIFlag && !this.notifyOnCDFlag && !this.notifyOnORFlag && !this.notifyOnPEFlag && !this.notifyOnBIFlag) {
-				if (this.statusThread != null) {
-					this.statusThread.setStopThreadFlag(1);
-					this.statusThread = null;
-				}
-			}
-			this.notifyOnFEFlag = false;
-		}
-	}
-
-	/**
-	 * Notify on output empty with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnOutputEmpty(final boolean notify) {
-		this.notifyOnBufferFlag = notify;
-	}
-
-	/**
-	 * Notify on overrun error with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnOverrunError(final boolean notify) {
-		if (notify && this.notifyOnORFlag) {
-			return; // already enabled
-		}
-		if (notify && !this.notifyOnORFlag) {
-			// instantiate SerialStatusEventThread
-			if (this.statusThread == null) {
-				this.statusThread = new SerialStatusEventThread(this.fd, this);
-				// statusThread.setDaemon( true ); // check it out
-				this.statusThread.start();
-			}
-			this.notifyOnORFlag = true;
-		} else {
-			// check all other related flags, all must be false
-			if (!this.notifyOnCTSFlag && !this.notifyOnDSRFlag && !this.notifyOnRIFlag && !this.notifyOnCDFlag && !this.notifyOnPEFlag && !this.notifyOnFEFlag && !this.notifyOnBIFlag) {
-				if (this.statusThread != null) {
-					this.statusThread.setStopThreadFlag(1);
-					this.statusThread = null;
-				}
-			}
-			this.notifyOnORFlag = false;
-		}
-	}
-
-	/**
-	 * Notify on parity error with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnParityError(final boolean notify) {
-		if (notify && this.notifyOnPEFlag) {
-			return; // already enabled
-		}
-		if (notify && !this.notifyOnPEFlag) {
-			// instantiate SerialStatusEventThread
-			if (this.statusThread == null) {
-				this.statusThread = new SerialStatusEventThread(this.fd, this);
-				// statusThread.setDaemon( true ); // check it out
-				this.statusThread.start();
-			}
-			this.notifyOnPEFlag = true;
-		} else {
-			// check all other related flags, all must be false
-			if (!this.notifyOnCTSFlag && !this.notifyOnDSRFlag && !this.notifyOnRIFlag && !this.notifyOnCDFlag && !this.notifyOnORFlag && !this.notifyOnFEFlag && !this.notifyOnBIFlag) {
-				if (this.statusThread != null) {
-					this.statusThread.setStopThreadFlag(1);
-					this.statusThread = null;
-				}
-			}
-			this.notifyOnPEFlag = false;
-		}
-	}
-
-	/**
-	 * Notify on ring indicator with the specified notify parameter.
-	 * @param notify The notify (<code>boolean</code>) parameter.
-	 */
-	public synchronized void notifyOnRingIndicator(final boolean notify) {
-		if (notify && this.notifyOnRIFlag) {
-			return; // already enabled
-		}
-		if (notify && !this.notifyOnRIFlag) {
-			if (this.statusThread == null) {
-				this.statusThread = new SerialStatusEventThread(this.fd, this);
-				// statusThread.setDaemon( true ); // check it out
-				this.statusThread.start();
-			}
-			this.notifyOnRIFlag = true;
-		} else {
-			// check all other related flags, all must be false
-			if (!this.notifyOnCTSFlag && !this.notifyOnDSRFlag && !this.notifyOnCDFlag && !this.notifyOnORFlag && !this.notifyOnPEFlag && !this.notifyOnFEFlag && !this.notifyOnBIFlag) {
-				if (this.statusThread != null) {
-					this.statusThread.setStopThreadFlag(1);
-					this.statusThread = null;
-				}
-			}
-			this.notifyOnRIFlag = false;
-		}
-	}
-
-	/**
-	 * Open device nc with the specified device name and sem id parameters and return the int result.
-	 * @param deviceName The device name (<code>String</code>) parameter.
-	 * @param semID The sem id (<code>int</code>) parameter.
-	 * @return Results of the open device nc (<code>int</code>) value.
-	 */
-	private native int openDeviceNC(final String deviceName, final int semID);
-
-	/**
-	 * Remove event listener.
-	 * @see #addEventListener(SerialPortEventListener)
-	 */
-	public synchronized void removeEventListener() {
-		if (this.listener != null) {
-			if (this.statusThread != null) {
-				this.statusThread.setStopThreadFlag(1);
-			}
-			this.statusThread = null;
-			if (this.dataThread != null) {
-				this.dataThread.setStopThreadFlag(1);
-			}
-			this.dataThread = null;
-			this.listener = null;
-		}
-	}
-
-	/**
-	 * Report serial event with the specified event type, oldvalue and newvalue parameters.
-	 * @param eventType The event type (<code>int</code>) parameter.
-	 * @param oldvalue The oldvalue (<code>boolean</code>) parameter.
-	 * @param newvalue The newvalue (<code>boolean</code>) parameter.
-	 */
-	synchronized void reportSerialEvent(final int eventType, final boolean oldvalue, final boolean newvalue) {
-		if (this.listener != null) {
-			final SerialPortEvent se = new SerialPortEvent(this, eventType, oldvalue, newvalue);
-			this.listener.serialEvent(se);
-		}
-	}
-
-	/**
-	 * Send break with the specified millis parameter.
-	 * @param millis The millis (<code>int</code>) parameter.
-	 */
-	public void sendBreak(final int millis) {
-		if (this.fd != -1) {
-			sendBreakNC(this.fd, millis);
-		}
-	}
-
-	/**
-	 * Send break nc with the specified fd and millis parameters and return the int result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @param millis The millis (<code>int</code>) parameter.
-	 * @return Results of the send break nc (<code>int</code>) value.
-	 */
-	private native int sendBreakNC(final int fd, final int millis);
-
-	/**
-	 * Sets the dtr value.
-	 * @param dtr The dtr (<code>boolean</code>) parameter.
-	 * @see #isDTR()
-	 */
-	public void setDTR(final boolean dtr) {
-		setDTRNC(dtr);
-	}
-
-	/**
-	 * Sets the dtrnc value.
-	 * @param dtr The dtr (<code>boolean</code>) parameter.
-	 */
-	private native void setDTRNC(final boolean dtr);
-
-	/**
-	 * Sets the flow control mode value.
-	 * @param flowctrl The flowctrl (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 * @see #getFlowControlMode()
-	 */
-	public void setFlowControlMode(final int flowctrl) throws UnsupportedCommOperationException {
-		/* Check for invalid combinations. */
-		if ((this.fd == -1) ||
-		/* Now FLOWCONTROL_NONE is 0 instead of 1, and hence no need for this
-		   check below!!! */
-		/**************************
-		   (((flowctrl & FLOWCONTROL_NONE) != 0) &&
-		(((flowctrl & FLOWCONTROL_RTSCTS_IN) != 0) ||
-		 ((flowctrl & FLOWCONTROL_RTSCTS_OUT) != 0) ||
-		 ((flowctrl & FLOWCONTROL_XONXOFF_IN) != 0) ||
-		 ((flowctrl & FLOWCONTROL_XONXOFF_OUT) != 0))) ||
-		 **************************/
-		(((flowctrl & FLOWCONTROL_RTSCTS_IN) != 0) && ((flowctrl & FLOWCONTROL_XONXOFF_OUT) != 0)) || (((flowctrl & FLOWCONTROL_XONXOFF_IN) != 0) && ((flowctrl & FLOWCONTROL_RTSCTS_OUT) != 0))
-				|| (((flowctrl & FLOWCONTROL_RTSCTS_IN) != 0) && ((flowctrl & FLOWCONTROL_XONXOFF_IN) != 0)) || (((flowctrl & FLOWCONTROL_RTSCTS_OUT) != 0) && ((flowctrl & FLOWCONTROL_XONXOFF_OUT) != 0))) {
-			throw new UnsupportedCommOperationException();
-		}
-		// retcode of -1 is a problem
-		if (setFlowControlModeNC(this.fd, flowctrl) != -1) {
-			this.flowcontrol = flowctrl;
-		} else {
-			throw new UnsupportedCommOperationException();
-		}
-	}
-
-	/**
-	 * Set flow control mode nc with the specified fd and flowctrl parameters and return the int result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @param flowctrl The flowctrl (<code>int</code>) parameter.
-	 * @return Results of the set flow control mode nc (<code>int</code>) value.
-	 */
-	private native int setFlowControlModeNC(final int fd, final int flowctrl);
-
-	/**
-	 * Sets the input buffer size value.
-	 * @param size The size (<code>int</code>) parameter.
-	 * @see #getInputBufferSize()
-	 */
-	public void setInputBufferSize(final int size) {
-		/* do nothing */
-	}
-
-	/**
-	 * Sets the output buffer size value.
-	 * @param size The size (<code>int</code>) parameter.
-	 * @see #getOutputBufferSize()
-	 */
-	public void setOutputBufferSize(final int size) {
-		if (size >= 0) {
-			this.outsBufferSize = size;
-		}
-	}
-
-	/**
-	 * Sets the rts value.
-	 * @param rts The rts (<code>boolean</code>) parameter.
-	 * @see #isRTS()
-	 */
-	public void setRTS(final boolean rts) {
-		setRTSNC(rts);
-	}
-
-	/**
-	 * Sets the rtsnc value.
-	 * @param rts The rts (<code>boolean</code>) parameter.
-	 */
-	private native void setRTSNC(final boolean rts);
-
-	/**
-	 * Sets the rcv fifo trigger value.
-	 * @param trigger The trigger (<code>int</code>) parameter.
-	 */
-	public void setRcvFifoTrigger(final int trigger) {
-		/* do nothing */
-	}
-
-	/**
-	 * Set serial port params with the specified bd, db, sb and par parameters.
-	 * @param bd The bd (<code>int</code>) parameter.
-	 * @param db The db (<code>int</code>) parameter.
-	 * @param sb The sb (<code>int</code>) parameter.
-	 * @param par The par (<code>int</code>) parameter.
-	 * @throws UnsupportedCommOperationException Unsupported Comm Operation Exception.
-	 */
-	public void setSerialPortParams(final int bd, final int db, final int sb, final int par) throws UnsupportedCommOperationException {
-		/* Validate the values. */
-		if (this.fd == -1) {
-			throw new UnsupportedCommOperationException();
-		}
-		if ((db != DATABITS_5) && (db != DATABITS_6) && (db != DATABITS_7) && (db != DATABITS_8)) {
-			throw new UnsupportedCommOperationException();
-		}
-		if ((sb != STOPBITS_1) && (sb != STOPBITS_2) && (sb != STOPBITS_1_5)) { // 1.5 not supported
-			throw new UnsupportedCommOperationException();
-		}
-		if ((par != PARITY_NONE) && (par != PARITY_ODD) && (par != PARITY_EVEN) && (par != PARITY_MARK) && (par != PARITY_SPACE)) {
-			throw new UnsupportedCommOperationException();
-		}
-		/* Now set the desired communication characteristics. */
-		if (setSerialPortParamsNC(this.fd, bd, db, sb, par) < 0) {
-			throw new UnsupportedCommOperationException();
-		}
-	}
-
-	/**
-	 * Set serial port params nc with the specified fd, bd, db, sb and par parameters and return the int result.
-	 * @param fd The fd (<code>int</code>) parameter.
-	 * @param bd The bd (<code>int</code>) parameter.
-	 * @param db The db (<code>int</code>) parameter.
-	 * @param sb The sb (<code>int</code>) parameter.
-	 * @param par The par (<code>int</code>) parameter.
-	 * @return Results of the set serial port params nc (<code>int</code>) value.
-	 */
-	private native int setSerialPortParamsNC(final int fd, final int bd, final int db, final int sb, final int par);
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/ParallelErrorEventThread.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/ParallelErrorEventThread.java
deleted file mode 100644
index 35be361..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/ParallelErrorEventThread.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.soda.dk.comm;
-
-/*************************************************************************
- * Copyright (c) 2007, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-class ParallelErrorEventThread extends Thread {
-	/**
-	 * Define the pp (NSParallelPort) field.
-	 */
-	NSParallelPort pp = null;
-
-	/**
-	 * Define the polling time (int) field.
-	 */
-	private final int pollingTime = 5; //  ??
-
-	/**
-	 * Define the fd (int) field.
-	 */
-	private int fd = -1;
-
-	/**
-	 * Define the stop thread flag (int) field.
-	 */
-	private int stopThreadFlag = 0;
-
-	/**
-	 * Constructs an instance of this class from the specified ifd and port parameters.
-	 * @param ifd	The ifd (<code>int</code>) parameter.
-	 * @param port	The port (<code>NSParallelPort</code>) parameter.
-	 */
-	ParallelErrorEventThread(final int ifd, final NSParallelPort port) {
-		this.fd = ifd;
-		this.pp = port;
-	}
-
-	/**
-	 * Gets the polling time (int) value.
-	 * @return	The polling time (<code>int</code>) value.
-	 */
-	public int getPollingTime() {
-		return this.pollingTime;
-	}
-
-	/**
-	 * Gets the stop thread flag (int) value.
-	 * @return	The stop thread flag (<code>int</code>) value.
-	 * @see #setStopThreadFlag(int)
-	 */
-	public int getStopThreadFlag() {
-		return this.stopThreadFlag;
-	}
-
-	/**
-	 * Monitor parallel error nc with the specified fd parameter.
-	 * @param fd	The fd (<code>int</code>) parameter.
-	 */
-	private native void monitorParallelErrorNC(final int fd);
-
-	/**
-	 * Run.
-	 */
-	public void run() {
-		monitorParallelErrorNC(this.fd);
-	}
-
-	/**
-	 * Sets the stop thread flag value.
-	 * @param value	The value (<code>int</code>) parameter.
-	 * @see #getStopThreadFlag()
-	 */
-	public void setStopThreadFlag(final int value) {
-		this.stopThreadFlag = value;
-		return;
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/SerialDataEventThread.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/SerialDataEventThread.java
deleted file mode 100644
index c5eadb0..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/SerialDataEventThread.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.soda.dk.comm;
-
-/*************************************************************************
- * Copyright (c) 2007, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-class SerialDataEventThread extends Thread {
-	/**
-	 * Define the serial port (NSSerialPort) field.
-	 */
-	NSSerialPort serialPort = null;
-
-	/**
-	 * Define the file descriptor (int) field.
-	 */
-	private int fileDescriptor = -1;
-
-	/**
-	 * Define the stop thread flag (int) field.
-	 */
-	private int stopThreadFlag = 0;
-
-	/**
-	 * Constructs an instance of this class from the specified fd and sp parameters.
-	 * @param fd	The fd (<code>int</code>) parameter.
-	 * @param sp	The sp (<code>NSSerialPort</code>) parameter.
-	 */
-	SerialDataEventThread(final int fd, final NSSerialPort sp) {
-		this.serialPort = sp;
-		this.fileDescriptor = fd;
-	}
-
-	/**
-	 * Gets the stop thread flag (int) value.
-	 * @return	The stop thread flag (<code>int</code>) value.
-	 * @see #setStopThreadFlag(int)
-	 */
-	public int getStopThreadFlag() {
-		return this.stopThreadFlag;
-	}
-
-	/**
-	 * Monitor serial data nc with the specified fd parameter.
-	 * @param fd	The fd (<code>int</code>) parameter.
-	 */
-	private native void monitorSerialDataNC(final int fd);
-
-	/**
-	 * Run.
-	 */
-	public void run() {
-		monitorSerialDataNC(this.fileDescriptor);
-	}
-
-	/**
-	 * Sets the stop thread flag value.
-	 * @param value	The value (<code>int</code>) parameter.
-	 * @see #getStopThreadFlag()
-	 */
-	public void setStopThreadFlag(final int value) {
-		this.stopThreadFlag = value;
-		return;
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/SerialStatusEventThread.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/SerialStatusEventThread.java
deleted file mode 100644
index 18b79a8..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/SerialStatusEventThread.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.soda.dk.comm;
-
-/*************************************************************************
- * Copyright (c) 2007, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-class SerialStatusEventThread extends Thread {
-	/**
-	 * Define the serial port (NSSerialPort) field.
-	 */
-	NSSerialPort serialPort = null;
-
-	/**
-	 * Define the polling time (int) field.
-	 */
-	private final int pollingTime = 5; //  ??
-
-	/**
-	 * Define the file descriptor (int) field.
-	 */
-	private int fileDescriptor = -1;
-
-	/**
-	 * Define the stop thread flag (int) field.
-	 */
-	private int stopThreadFlag = 0;
-
-	/**
-	 * Constructs an instance of this class from the specified fd and sp parameters.
-	 * @param fd	The fd (<code>int</code>) parameter.
-	 * @param sp	The sp (<code>NSSerialPort</code>) parameter.
-	 */
-	SerialStatusEventThread(final int fd, final NSSerialPort sp) {
-		this.fileDescriptor = fd;
-		this.serialPort = sp;
-	}
-
-	/**
-	 * Gets the polling time (int) value.
-	 * @return	The polling time (<code>int</code>) value.
-	 */
-	public int getPollingTime() {
-		return this.pollingTime;
-	}
-
-	/**
-	 * Gets the stop thread flag (int) value.
-	 * @return	The stop thread flag (<code>int</code>) value.
-	 * @see #setStopThreadFlag(int)
-	 */
-	public int getStopThreadFlag() {
-		return this.stopThreadFlag;
-	}
-
-	/**
-	 * Monitor serial status nc with the specified fd parameter.
-	 * @param fd	The fd (<code>int</code>) parameter.
-	 */
-	private native void monitorSerialStatusNC(final int fd);
-
-	/**
-	 * Run.
-	 */
-	public void run() {
-		monitorSerialStatusNC(this.fileDescriptor);
-	}
-
-	/**
-	 * Sets the stop thread flag value.
-	 * @param value	The value (<code>int</code>) parameter.
-	 * @see #getStopThreadFlag()
-	 */
-	public void setStopThreadFlag(final int value) {
-		this.stopThreadFlag = value;
-		return;
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/bundle/Activator.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/bundle/Activator.java
deleted file mode 100644
index 0b59747..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/bundle/Activator.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.soda.dk.comm.bundle;
-
-/*************************************************************************
- * Copyright (c) 2007, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import org.eclipse.soda.dk.comm.internal.Library;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class Activator implements BundleActivator {
-	/**
-	 * Parse bundle list with the specified raw list and bundle file parameters and return the String result.
-	 * @param rawList	The raw list (<code>String</code>) parameter.
-	 * @param bundleFile	The bundle file (<code>String</code>) parameter.
-	 * @return	Results of the parse bundle list (<code>String</code>) value.
-	 */
-	private String parseBundleList(final String rawList, final String bundleFile) {
-		String result = null;
-		int i = rawList.indexOf(bundleFile);
-		if (i != -1) {
-			int j = rawList.lastIndexOf(',', i);
-			int k = rawList.lastIndexOf("file:", i); //$NON-NLS-1$
-			if (k != -1) {
-				result = rawList.substring(k + 5, i + bundleFile.length());
-			} else {
-				result = rawList.substring(j + 1, i + bundleFile.length());
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * Parse install with the specified raw install parameter and return the String result.
-	 * @param rawInstall	The raw install (<code>String</code>) parameter.
-	 * @return	Results of the parse install (<code>String</code>) value.
-	 */
-	private String parseInstall(final String rawInstall) {
-		String result;
-		int i = rawInstall.indexOf("file:"); //$NON-NLS-1$
-		result = rawInstall.substring(i + 5);
-		if (result.startsWith("/")) { //$NON-NLS-1$
-			result = result.substring(1);
-		}
-		return result;
-	}
-
-	/**
-	 * Parse loc with the specified raw loc parameter and return the String result.
-	 * @param rawLoc	The raw loc (<code>String</code>) parameter.
-	 * @return	Results of the parse loc (<code>String</code>) value.
-	 */
-	private String parseLoc(final String rawLoc) {
-		String result;
-		int i = rawLoc.indexOf("file:"); //$NON-NLS-1$
-		result = rawLoc.substring(i + 5);
-		if (rawLoc.endsWith("/")) { //$NON-NLS-1$
-			result = result.substring(0, result.length() - 1);
-		}
-		return result;
-	}
-
-	/**
-	 * Start with the specified arg0 parameter.
-	 * @param arg0	The arg0 (<code>BundleContext</code>) parameter.
-	 * @throws Exception Exception.
-	 */
-	public void start(final BundleContext arg0) throws Exception {
-		String bundle_loc = arg0.getBundle().getLocation();
-		if (bundle_loc.startsWith(Library.HTTP)) {
-			Library.setBundlepath(Library.HTTP, bundle_loc);
-		} else {
-			String bundle_file_name = parseLoc(bundle_loc);
-			String bundle_install = parseInstall(System.getProperty("osgi.install.area")); //$NON-NLS-1$
-			String bundle_path = parseBundleList(System.getProperty("osgi.bundles"), bundle_file_name); //$NON-NLS-1$
-			if (bundle_path == null || bundle_path.length() == bundle_file_name.length()) {
-				bundle_path = bundle_install + bundle_file_name;
-			}
-			/*
-			 System.out.println("bundle=" + bundle_file_name);
-			 System.out.println("bundle_install=" + bundle_install);
-			 System.out.println("bundle_path=" + bundle_path);			
-			 */
-			Library.setBundlepath(Library.FILE, bundle_path);
-		}
-	}
-
-	/**
-	 * Stop with the specified arg0 parameter.
-	 * @param arg0	The arg0 (<code>BundleContext</code>) parameter.
-	 * @throws Exception Exception.
-	 */
-	public void stop(final BundleContext arg0) throws Exception {
-		/* do nothing */
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/bundle/package.html b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/bundle/package.html
deleted file mode 100644
index 8e42261..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/bundle/package.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "..//W3C/DTD XHTML 1.0 Strict/EN"  DTD/xhtml-strict.dtd">
-<!-- Copyright (c) 2008, 2009 IBM.                                         -->
-<!-- All rights reserved. This program and the accompanying materials      -->
-<!-- are made available under the terms of the Eclipse Public License v1.0 -->
-<!-- which accompanies this distribution, and is available at              -->
-<!-- http://www.eclipse.org/legal/epl-v10.html                             -->
-<!--                                                                       -->
-<!-- Contributors:                                                         -->
-<!--     IBM - initial API and implementation                              -->
-    
-<html xmlns="http://www.w3.org/1999/xhtml";>
-	<head>
-		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-		<meta name="Security" content="public"/>
-		<meta name="Copyright" content="Copyright (c) 2009 IBM. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page."/>
-		<meta scheme="rfc1766" name="DC.Language" content="en-us"/>
-		<meta name="Keywords" content="org.eclipse.soda.dk.comm.bundle, org.eclipse.soda.dk.comm"/>
-		<link rel="STYLESHEET" href="stylesheet.css" charset="UTF-8" type="text/css"/>		
-		<title>org.eclipse.soda.dk.comm.bundle Package</title>
-	</head>
-	<body>
-		<p>This package is part of the org.eclipse.soda.dk.comm project.</p> 
-	</body>
-</html>
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/internal/Library.java b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/internal/Library.java
deleted file mode 100644
index 46b7280..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/internal/Library.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package org.eclipse.soda.dk.comm.internal;
-
-/*************************************************************************
- * Copyright (c) 2007, 2009 IBM.                                         *
- * All rights reserved. This program and the accompanying materials      *
- * are made available under the terms of the Eclipse Public License v1.0 *
- * which accompanies this distribution, and is available at              *
- * http://www.eclipse.org/legal/epl-v10.html                             *
- *                                                                       *
- * Contributors:                                                         *
- *     IBM - initial API and implementation                              *
- ************************************************************************/
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipInputStream;
-
-/**
- * @author IBM
- * @version 1.2.0
- * @since 1.0
- */
-public class Library {
-	/**
-	 * Define the http (String) constant.
-	 */
-	public static final String HTTP = "http"; //$NON-NLS-1$
-
-	/**
-	 * Define the file (String) constant.
-	 */
-	public static final String FILE = "file"; //$NON-NLS-1$
-
-	/**
-	 * Define the pathtype (String) field.
-	 */
-	private static String pathtype = ""; //$NON-NLS-1$
-
-	/**
-	 * Define the bundlepath (String) field.
-	 */
-	private static String bundlepath = ""; //$NON-NLS-1$
-
-	/**
-	 * Load_dkcomm.
-	 */
-	public static void load_dkcomm() {
-		if (load_from_java_lib_path() == false) {
-			load_from_bundle();
-		}
-	}
-
-	/**
-	 * Load_from_bundle.
-	 */
-	private static void load_from_bundle() {
-		String file_separator = System.getProperty("file.separator"); //$NON-NLS-1$
-		String javalibpath = System.getProperty("java.library.path"); //$NON-NLS-1$
-		String path_seperator = System.getProperty("path.separator"); //$NON-NLS-1$
-		int i = javalibpath.indexOf(path_seperator);
-		javalibpath = javalibpath.substring(0, i) + file_separator;
-		String os = System.getProperty("osgi.ws"); //$NON-NLS-1$
-		String processor = System.getProperty("org.osgi.framework.processor"); //$NON-NLS-1$
-		String libname = ""; //$NON-NLS-1$
-		if (os.equalsIgnoreCase("win32")) { //$NON-NLS-1$
-			libname = "dkcomm.dll"; //$NON-NLS-1$
-		} else if (os.equalsIgnoreCase("linux")) { //$NON-NLS-1$
-			libname = "dkcomm.so"; //$NON-NLS-1$
-		}
-		String libpath = "lib/" + os + '/' + processor + '/'; //$NON-NLS-1$
-		try {
-			if (pathtype.equals(FILE)) {
-				unzipLib_local(javalibpath, libpath, libname, bundlepath);
-			} else if (pathtype.equals(HTTP)) {
-				unzipLib_http(javalibpath, libpath, libname, bundlepath);
-			}
-		} catch (final IOException e) {
-			e.printStackTrace();
-		}
-		try {
-			System.load(javalibpath + libname);
-		} catch (java.lang.UnsatisfiedLinkError e) {
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * Load_from_java_lib_path and return the boolean result.
-	 * @return Results of the load_from_java_lib_path (<code>boolean</code>) value.
-	 */
-	private static boolean load_from_java_lib_path() {
-		try {
-			System.loadLibrary("dkcomm"); //$NON-NLS-1$
-		} catch (final UnsatisfiedLinkError e) {
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Perform unzip with the specified input and output parameters.
-	 * @param input
-	 *		The input (<code>BufferedInputStream</code>) parameter.
-	 * @param output
-	 *		The output (<code>BufferedOutputStream</code>) parameter.
-	 * @throws IOException IOException.
-	 */
-	private static void performUnzip(final BufferedInputStream input, final BufferedOutputStream output) throws IOException {
-		int block_size = 4000;
-		byte[] block = new byte[block_size];
-		int len = input.read(block, 0, block_size);
-		while (len != -1) {
-			output.write(block, 0, len);
-			len = input.read(block, 0, block_size);
-		}
-		output.flush();
-		input.close();
-		output.close();
-	}
-
-	/**
-	 * Set bundlepath with the specified type and path parameters.
-	 * @param type
-	 *		The type (<code>String</code>) parameter.
-	 * @param path
-	 *		The path (<code>String</code>) parameter.
-	 */
-	public static void setBundlepath(final String type, final String path) {
-		pathtype = type;
-		bundlepath = path;
-	}
-
-	/**
-	 * Unzip lib_http with the specified javalibpath, libpath, libname and url parameters.
-	 * @param javalibpath
-	 *		The javalibpath (<code>String</code>) parameter.
-	 * @param libpath
-	 *		The libpath (<code>String</code>) parameter.
-	 * @param libname
-	 *		The libname (<code>String</code>) parameter.
-	 * @param url
-	 *		The URL (<code>String</code>) parameter.
-	 * @throws IOException IOException.
-	 */
-	private static void unzipLib_http(final String javalibpath, final String libpath, final String libname, final String url) throws IOException {
-		ZipInputStream zipInput = new ZipInputStream(new URL(url).openStream());
-		while (zipInput.available() != 0) {
-			try {
-				if (zipInput.getNextEntry().getName().equals(libpath + libname)) {
-					BufferedInputStream input = new BufferedInputStream(zipInput);
-					BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(javalibpath + libname));
-					performUnzip(input, output);
-					break;
-				}
-			} catch (final Exception e) {
-				break;
-			}
-		}
-	}
-
-	/**
-	 * Unzip lib_local with the specified javalibpath, libpath, libname and jarname parameters.
-	 * @param javalibpath
-	 *		The javalibpath (<code>String</code>) parameter.
-	 * @param libpath
-	 *		The libpath (<code>String</code>) parameter.
-	 * @param libname
-	 *		The libname (<code>String</code>) parameter.
-	 * @param jarname
-	 *		The jarname (<code>String</code>) parameter.
-	 * @throws IOException IOException.
-	 */
-	private static void unzipLib_local(final String javalibpath, final String libpath, final String libname, final String jarname) throws IOException {
-		ZipFile bundleJar = new ZipFile(jarname);
-		BufferedInputStream input = new BufferedInputStream(bundleJar.getInputStream(bundleJar.getEntry(libpath + libname)));
-		BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(javalibpath + libname));
-		performUnzip(input, output);
-	}
-}
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/internal/package.html b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/internal/package.html
deleted file mode 100644
index 156b48b..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/internal/package.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "..//W3C/DTD XHTML 1.0 Strict/EN"  DTD/xhtml-strict.dtd">
-<!-- Copyright (c) 2008, 2009 IBM.                                         -->
-<!-- All rights reserved. This program and the accompanying materials      -->
-<!-- are made available under the terms of the Eclipse Public License v1.0 -->
-<!-- which accompanies this distribution, and is available at              -->
-<!-- http://www.eclipse.org/legal/epl-v10.html                             -->
-<!--                                                                       -->
-<!-- Contributors:                                                         -->
-<!--     IBM - initial API and implementation                              -->
-    
-<html xmlns="http://www.w3.org/1999/xhtml";>
-	<head>
-		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-		<meta name="Security" content="public"/>
-		<meta name="Copyright" content="Copyright (c) 2009 IBM. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page."/>
-		<meta scheme="rfc1766" name="DC.Language" content="en-us"/>
-		<meta name="Keywords" content="org.eclipse.soda.dk.comm.internal, org.eclipse.soda.dk.comm"/>
-		<link rel="STYLESHEET" href="stylesheet.css" charset="UTF-8" type="text/css"/>		
-		<title>org.eclipse.soda.dk.comm.internal Package</title>
-	</head>
-	<body>
-		<p>This package is part of the org.eclipse.soda.dk.comm project.</p> 
-	</body>
-</html>
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/package.html b/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/package.html
deleted file mode 100644
index 9fa48f2..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/java/org/eclipse/soda/dk/package.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "..//W3C/DTD XHTML 1.0 Strict/EN"  DTD/xhtml-strict.dtd">
-<!-- Copyright (c) 2008, 2009 IBM.                                         -->
-<!-- All rights reserved. This program and the accompanying materials      -->
-<!-- are made available under the terms of the Eclipse Public License v1.0 -->
-<!-- which accompanies this distribution, and is available at              -->
-<!-- http://www.eclipse.org/legal/epl-v10.html                             -->
-<!--                                                                       -->
-<!-- Contributors:                                                         -->
-<!--     IBM - initial API and implementation                              -->
-    
-<html xmlns="http://www.w3.org/1999/xhtml";>
-	<head>
-		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-		<meta name="Security" content="public"/>
-		<meta name="Copyright" content="Copyright (c) 2009 IBM. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page."/>
-		<meta scheme="rfc1766" name="DC.Language" content="en-us"/>
-		<meta name="Keywords" content="org.eclipse.soda.dk.comm, org.eclipse.soda.dk.comm"/>
-		<link rel="STYLESHEET" href="stylesheet.css" charset="UTF-8" type="text/css"/>		
-		<title>org.eclipse.soda.dk.comm Package</title>
-	</head>
-	<body>
-		<p>This package is part of the org.eclipse.soda.dk.comm project.</p> 
-	</body>
-</html>
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/armv5_sf/libdkcomm.so b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/armv5_sf/libdkcomm.so
deleted file mode 100755
index 22cc8e5..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/armv5_sf/libdkcomm.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/armv6_hf/libdkcomm.so b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/armv6_hf/libdkcomm.so
deleted file mode 100755
index 3737cc0..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/armv6_hf/libdkcomm.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/old/beaglebone/090538fcb81c38c1fa445cfb00755a94bc0131f2/libdkcomm.so b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/old/beaglebone/090538fcb81c38c1fa445cfb00755a94bc0131f2/libdkcomm.so
deleted file mode 100644
index 9d48047..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/old/beaglebone/090538fcb81c38c1fa445cfb00755a94bc0131f2/libdkcomm.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/old/linux32/libdkcomm.so b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/old/linux32/libdkcomm.so
deleted file mode 100755
index 1d07520..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/old/linux32/libdkcomm.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/old/raspberry-pi/libdkcomm.so b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/old/raspberry-pi/libdkcomm.so
deleted file mode 100755
index 5182688..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/old/raspberry-pi/libdkcomm.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/x86/libdkcomm.so b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/x86/libdkcomm.so
deleted file mode 100755
index 21cdece..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/x86/libdkcomm.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/x86_64/libdkcomm.so b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/x86_64/libdkcomm.so
deleted file mode 100755
index 797a238..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/linux/x86_64/libdkcomm.so
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/mac/x86/libdkcomm.jnilib b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/mac/x86/libdkcomm.jnilib
deleted file mode 100755
index fb99d34..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/mac/x86/libdkcomm.jnilib
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.dll b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.dll
deleted file mode 100644
index 0e15703..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.dll
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.exp b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.exp
deleted file mode 100644
index 6432ccb..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.exp
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.lib b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.lib
deleted file mode 100644
index 89f8828..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.lib
+++ /dev/null
Binary files differ
diff --git a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.pdb b/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.pdb
deleted file mode 100644
index 6231045..0000000
--- a/target-platform/org.eclipse.soda.dk.comm/src/main/lib/win32/x86/dkcomm.pdb
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/pom.xml b/target-platform/p2-repo/pom.xml
deleted file mode 100644
index db61909..0000000
--- a/target-platform/p2-repo/pom.xml
+++ /dev/null
@@ -1,140 +0,0 @@
-<project
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";
-	xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-	  <groupId>org.eclipse.kura</groupId>
-	  <artifactId>target-platform</artifactId>
-          <version>0.2.0-SNAPSHOT</version>
-	</parent>
-
-	<groupId>org.eclipse.kura</groupId>
-	<artifactId>p2-repo</artifactId>
-	<version>0.2.0-SNAPSHOT</version>
-	<packaging>pom</packaging>
-
-
-	<build>
-	  <plugins>
-        <!-- 
-            Copying common artifacts across all platforms into a known location
-            ${project.build.directory}/plugins/common 
-            is only one way how to create content to be published. Any other source of 
-            bundles and/or features can be used to be published as long as it end up 
-            in ${project.basedir}/target/source/plugins and or ~/features
-            The publisher will 
-            use every content that is located in this directory 
-        -->
-        <plugin>
-           <artifactId>maven-dependency-plugin</artifactId>
-           <executions>
-               <execution>
-                   <id>copy-bundles-for-publishing</id>
-                   <phase>process-resources</phase>
-                   <goals>
-                       <goal>copy</goal>
-                   </goals>
-                   <configuration>
-                       <artifactItems>
-                           <!-- copied from local repository -->
-                           <artifactItem>
-                               <groupId>org.eclipse.kura</groupId>
-                               <artifactId>com.codeminders.hidapi</artifactId>
-                               <version>1.1</version>
-                           </artifactItem>
-                           <artifactItem>
-                               <groupId>org.eclipse.kura</groupId>
-                               <artifactId>javax.usb.api</artifactId>
-                               <version>1.0.2</version>
-                           </artifactItem>
-                           <artifactItem>
-                               <groupId>org.eclipse.kura</groupId>
-                               <artifactId>javax.usb.common</artifactId>
-                               <version>1.0.2</version>
-                           </artifactItem>
-                           <artifactItem>
-                               <groupId>org.eclipse.kura</groupId>
-                               <artifactId>mqtt-client</artifactId>
-                               <version>0.4.0</version>
-                           </artifactItem>
-                           <artifactItem>
-				<groupId>org.eclipse.kura</groupId>
-				<artifactId>org.eclipse.soda.dk.comm</artifactId>
-				<version>1.2.0</version>
-                           </artifactItem>
-		       </artifactItems>
-                       <outputDirectory>${project.basedir}/target/source/plugins</outputDirectory>
-                   </configuration>
-               </execution>
-           </executions>
-        </plugin>
-		<plugin>
-		   <artifactId>maven-antrun-plugin</artifactId>
-		   <executions>
-		     <execution>
-			   <id>setup</id>
-			   <phase>process-resources</phase>
-			   <goals>
-				 <goal>run</goal>
-			   </goals>
-			   <configuration>
-				 <tasks>
-				   <mkdir dir="target/source/plugins/" />
-				   <copy todir="target/source/plugins/">
-				     <fileset dir="src/main/equinox_3.8.1/plugins"/>
-				   </copy>
-				 </tasks>
-			   </configuration>
-			 </execution>
-		  </executions>
-		</plugin>
-		<plugin>
-			<groupId>org.sonatype.tycho</groupId>
-			<artifactId>tycho-p2-extras-plugin</artifactId>
-			<version>0.11.0</version>
-			<executions>
-				<execution>
-					<phase>prepare-package</phase>
-					<goals>
-					  <goal>publish-features-and-bundles</goal>
-					</goals>
-				</execution>
-			</executions>
-			<configuration>
-					<compress>false</compress>
-					<!-- additional arguments example
-						<additionalArgs>-configs win32.win32.x86</additionalArgs>
-					-->
-			</configuration>
-		</plugin>
-
-        <plugin>
-           <artifactId>maven-antrun-plugin</artifactId>
-           <executions>
-               <execution>
-                   <id>install-equinox</id>
-                   <phase>install</phase>
-                   <goals>
-                       <goal>run</goal>
-                   </goals>
-                   <configuration>
-                       <tasks>
-                           <delete file="../../kura/target-definition/kura.target"/>
-                           <delete dir="../../kura/target-definition/repository/"/>
-                           <delete dir="../../kura/target-definition/equinox_3.8.1/"/>
-                           <copy file="${basedir}/src/main/equinox_3.8.1/kura-equinox_3.8.1.target"
-                                 tofile="../../kura/target-definition/kura-equinox_3.8.1.target" />
-			   <mkdir dir="../../kura/target-definition/equinox_3.8.1/repository" />
-                           <copy todir="../../kura/target-definition/equinox_3.8.1/repository">
-                             <fileset dir="${project.build.directory}/repository"/>
-                           </copy>
-                       </tasks>
-                   </configuration>
-               </execution>
-           </executions>
-       </plugin>        
-
-    </plugins>
-  </build>
-</project>
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/kura-equinox_3.8.1.target b/target-platform/p2-repo/src/main/equinox_3.8.1/kura-equinox_3.8.1.target
deleted file mode 100644
index e1e3840..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/kura-equinox_3.8.1.target
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?>
-<target name="Kura Target Platform Equinox 3.8.1" sequenceNumber="42">
-  <locations>
-    <location path="${git_work_tree}/kura/target-definition/equinox_3.8.1/repository/plugins" type="Profile"/>
-  </locations>
-</target>
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/apache-log4j-extras-1.1.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/apache-log4j-extras-1.1.jar
deleted file mode 100644
index 9b2627f..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/apache-log4j-extras-1.1.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/commons-io-2.4.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/commons-io-2.4.jar
deleted file mode 100644
index 90035a4..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/commons-io-2.4.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/hsqldb-2.3.0.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/hsqldb-2.3.0.jar
deleted file mode 100644
index 5069b5e..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/hsqldb-2.3.0.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/iagent.rpc.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/iagent.rpc.jar
deleted file mode 100644
index fb35054..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/iagent.rpc.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/javax.servlet_3.0.0.v201112011016.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/javax.servlet_3.0.0.v201112011016.jar
deleted file mode 100644
index 4904343..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/javax.servlet_3.0.0.v201112011016.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/log4j-1.2.17.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/log4j-1.2.17.jar
deleted file mode 100644
index 1d425cf..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/log4j-1.2.17.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.commons.fileupload_1.2.2.v20111214-1400.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.commons.fileupload_1.2.2.v20111214-1400.jar
deleted file mode 100644
index 60bfd87..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.commons.fileupload_1.2.2.v20111214-1400.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.commons.net_3.1.0.v201205071737.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.commons.net_3.1.0.v201205071737.jar
deleted file mode 100644
index 3a798a4..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.commons.net_3.1.0.v201205071737.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.dependencymanager-3.0.0.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.dependencymanager-3.0.0.jar
deleted file mode 100644
index b344f15..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.dependencymanager-3.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.deploymentadmin-0.9.5.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.deploymentadmin-0.9.5.jar
deleted file mode 100644
index 72251b5..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.deploymentadmin-0.9.5.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.gogo.command_0.8.0.v201108120515.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.gogo.command_0.8.0.v201108120515.jar
deleted file mode 100644
index 19b11e5..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.gogo.command_0.8.0.v201108120515.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar
deleted file mode 100644
index 5e5b5f0..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.gogo.shell_0.8.0.v201110170705.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.gogo.shell_0.8.0.v201110170705.jar
deleted file mode 100644
index da6f338..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.felix.gogo.shell_0.8.0.v201110170705.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.servicemix.bundles.protobuf-java_2.4.1.1.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.servicemix.bundles.protobuf-java_2.4.1.1.jar
deleted file mode 100644
index a676a2b..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.apache.servicemix.bundles.protobuf-java_2.4.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.core.contenttype_3.4.200.v20120523-2004.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.core.contenttype_3.4.200.v20120523-2004.jar
deleted file mode 100644
index dfe4c2a..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.core.contenttype_3.4.200.v20120523-2004.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.core.jobs_3.5.300.v20120622-204750.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.core.jobs_3.5.300.v20120622-204750.jar
deleted file mode 100644
index 56ae1fb..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.core.jobs_3.5.300.v20120622-204750.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.core.runtime_3.8.0.v20120521-2346.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.core.runtime_3.8.0.v20120521-2346.jar
deleted file mode 100644
index 9427f77..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.core.runtime_3.8.0.v20120521-2346.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.app_1.3.100.v20120522-1841.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.app_1.3.100.v20120522-1841.jar
deleted file mode 100644
index 7e4c8dd..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.app_1.3.100.v20120522-1841.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.cm_1.0.400.v20120522-1841.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.cm_1.0.400.v20120522-1841.jar
deleted file mode 100644
index 45f4aa2..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.cm_1.0.400.v20120522-1841.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.common_3.6.100.v20120522-1841.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.common_3.6.100.v20120522-1841.jar
deleted file mode 100644
index 695acfe..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.common_3.6.100.v20120522-1841.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.console_1.0.0.v20120522-1841.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.console_1.0.0.v20120522-1841.jar
deleted file mode 100644
index 773a83e..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.console_1.0.0.v20120522-1841.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.ds_1.4.0.v20120522-1841.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.ds_1.4.0.v20120522-1841.jar
deleted file mode 100644
index 44686f8..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.ds_1.4.0.v20120522-1841.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.event_1.2.200.v20120522-2049.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.event_1.2.200.v20120522-2049.jar
deleted file mode 100644
index 6582098..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.event_1.2.200.v20120522-2049.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.http.jetty_3.0.0.v20120522-1841.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.http.jetty_3.0.0.v20120522-1841.jar
deleted file mode 100644
index 1810c4a..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.http.jetty_3.0.0.v20120522-1841.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.http.registry_1.1.200.v20120522-2049.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.http.registry_1.1.200.v20120522-2049.jar
deleted file mode 100644
index 84c1047..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.http.registry_1.1.200.v20120522-2049.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.http.servlet_1.1.300.v20120522-1841.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.http.servlet_1.1.300.v20120522-1841.jar
deleted file mode 100644
index b5772ab..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.http.servlet_1.1.300.v20120522-1841.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.io_1.0.400.v20120522-2049.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.io_1.0.400.v20120522-2049.jar
deleted file mode 100644
index 6d41cdc..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.io_1.0.400.v20120522-2049.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
deleted file mode 100644
index 606f3e2..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.metatype_1.2.0.v20120522-1841.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.metatype_1.2.0.v20120522-1841.jar
deleted file mode 100644
index 98bf408..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.metatype_1.2.0.v20120522-1841.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.preferences_3.5.0.v20120522-1841.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.preferences_3.5.0.v20120522-1841.jar
deleted file mode 100644
index 55b03a5..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.preferences_3.5.0.v20120522-1841.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.registry_3.5.200.v20120522-1841.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.registry_3.5.200.v20120522-1841.jar
deleted file mode 100644
index e532fc1..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.registry_3.5.200.v20120522-1841.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.util_1.0.400.v20120522-2049.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.util_1.0.400.v20120522-2049.jar
deleted file mode 100644
index cc5b0e7..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.equinox.util_1.0.400.v20120522-2049.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.continuation_8.1.3.v20120522.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.continuation_8.1.3.v20120522.jar
deleted file mode 100644
index 393dcf3..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.continuation_8.1.3.v20120522.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.http_8.1.3.v20120522.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.http_8.1.3.v20120522.jar
deleted file mode 100644
index b57c753..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.http_8.1.3.v20120522.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.io_8.1.3.v20120522.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.io_8.1.3.v20120522.jar
deleted file mode 100644
index 9081be5..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.io_8.1.3.v20120522.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.security_8.1.3.v20120522.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.security_8.1.3.v20120522.jar
deleted file mode 100644
index 0c592c8..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.security_8.1.3.v20120522.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.server_8.1.3.v20120522.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.server_8.1.3.v20120522.jar
deleted file mode 100644
index fa31c39..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.server_8.1.3.v20120522.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.servlet_8.1.3.v20120522.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.servlet_8.1.3.v20120522.jar
deleted file mode 100644
index 63eefd4..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.servlet_8.1.3.v20120522.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.util_8.1.3.v20120522.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.util_8.1.3.v20120522.jar
deleted file mode 100644
index 1bb3891..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.jetty.util_8.1.3.v20120522.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.osgi.services_3.3.100.v20120522-1822.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.osgi.services_3.3.100.v20120522-1822.jar
deleted file mode 100644
index eacd590..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.osgi.services_3.3.100.v20120522-1822.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.osgi.util_3.2.300.v20120522-1822.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.osgi.util_3.2.300.v20120522-1822.jar
deleted file mode 100644
index 5ddbb81..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.osgi.util_3.2.300.v20120522-1822.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.osgi_3.8.1.v20120830-144521.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.osgi_3.8.1.v20120830-144521.jar
deleted file mode 100644
index c152830..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.eclipse.osgi_3.8.1.v20120830-144521.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.hamcrest.core-1.1.0.v20090501071000.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.hamcrest.core-1.1.0.v20090501071000.jar
deleted file mode 100644
index dea61de..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.hamcrest.core-1.1.0.v20090501071000.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.json_1.0.0.v201011060100.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.json_1.0.0.v201011060100.jar
deleted file mode 100644
index 980958a..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.json_1.0.0.v201011060100.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.junit-4.10.0.v4_10_0_v20120426-0900.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.junit-4.10.0.v4_10_0_v20120426-0900.jar
deleted file mode 100644
index 28d6045..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.junit-4.10.0.v4_10_0_v20120426-0900.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.knowhowlab.osgi.monitoradmin_1.0.2.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.knowhowlab.osgi.monitoradmin_1.0.2.jar
deleted file mode 100644
index 0e46ae7..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/org.knowhowlab.osgi.monitoradmin_1.0.2.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/osgi.cmpn_4.3.0.201111022214.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/osgi.cmpn_4.3.0.201111022214.jar
deleted file mode 100644
index 7017558..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/osgi.cmpn_4.3.0.201111022214.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/slf4j-api-1.6.4.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/slf4j-api-1.6.4.jar
deleted file mode 100644
index 76ef305..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/slf4j-api-1.6.4.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/slf4j-log4j12-1.6.0.jar b/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/slf4j-log4j12-1.6.0.jar
deleted file mode 100644
index 032ceac..0000000
--- a/target-platform/p2-repo/src/main/equinox_3.8.1/plugins/slf4j-log4j12-1.6.0.jar
+++ /dev/null
Binary files differ
diff --git a/target-platform/pom.xml b/target-platform/pom.xml
deleted file mode 100644
index 78de50b..0000000
--- a/target-platform/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project>
-
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.kura</groupId>
-  <artifactId>target-platform</artifactId>
-  <version>0.2.0-SNAPSHOT</version>
-  
-  <packaging>pom</packaging>
-
-  <modules>
-    <module>com.codeminders.hidapi</module>
-    <module>javax.usb.api</module>
-    <module>javax.usb.common</module>
-    <module>org.eclipse.paho</module>
-    <module>org.eclipse.soda.dk.comm</module>
-    <module>p2-repo</module>
-  </modules>
-
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-	</properties>
-
-    <build>
-        <plugins>
-            <plugin>
-	            <groupId>org.apache.maven.plugins</groupId>
-	            <artifactId>maven-site-plugin</artifactId>
-	            <version>3.3</version>
-	      </plugin>
-        </plugins>
-    </build>
-</project>
-
-


Back to the top