From 313d1ac582dd8146dc4a5943729c13a51def9f56 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Mon, 11 Mar 2013 16:18:39 +0300 Subject: [PATCH 001/126] Readme update --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1f98fcdd3..957e8e3e7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +jSSC-2.1.0 in development + jSSC-0.9.0 Release version (21.12.2011) This version contains native libs for Windows(x86, x86-64), Linux(x86, x86-64), Solaris(x86, x86-64), Mac OS X(x86, x86-64, PPC, PPC64). From 0a8f690c27b03483ef95d9e1f4d80cb977836657 Mon Sep 17 00:00:00 2001 From: Sokolov Alexey Date: Mon, 11 Mar 2013 17:38:20 +0300 Subject: [PATCH 002/126] File.txt --- src/new folder/file.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/new folder/file.txt diff --git a/src/new folder/file.txt b/src/new folder/file.txt new file mode 100644 index 000000000..e69de29bb From c5cb719c4c672e347e8636746f4a01b4ac626fc9 Mon Sep 17 00:00:00 2001 From: Sokolov Alexey Date: Mon, 11 Mar 2013 17:44:59 +0300 Subject: [PATCH 003/126] Revert "File.txt" This reverts commit 0a8f690c27b03483ef95d9e1f4d80cb977836657. --- src/new folder/file.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/new folder/file.txt diff --git a/src/new folder/file.txt b/src/new folder/file.txt deleted file mode 100644 index e69de29bb..000000000 From f24c6296628249abaedf1b2d964f445d6d8d141e Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 12 Mar 2013 09:34:44 +0300 Subject: [PATCH 004/126] Added timeouts for read operations and SerialPortTimeoutException class --- src/java/jssc/SerialPort.java | 143 +++++++++++++++++- src/java/jssc/SerialPortTimeoutException.java | 64 ++++++++ 2 files changed, 203 insertions(+), 4 deletions(-) create mode 100644 src/java/jssc/SerialPortTimeoutException.java diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 6985f7662..398451636 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2011. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * @@ -417,7 +417,7 @@ public String readString(int byteCount) throws SerialPortException { } /** - * Read Hex string from port (example: FF OA FF). Separator by default is a space + * Read Hex string from port (example: FF 0A FF). Separator by default is a space * * @param byteCount count of bytes for reading * @@ -433,7 +433,7 @@ public String readHexString(int byteCount) throws SerialPortException { } /** - * Read Hex string from port with setted separator (example if separator is "::": FF::OA::FF) + * Read Hex string from port with setted separator (example if separator is "::": FF::0A::FF) * * @param byteCount count of bytes for reading * @@ -509,6 +509,141 @@ public int[] readIntArray(int byteCount) throws SerialPortException { return intBuffer; } + private void waitBytesWithTimeout(String methodName, int byteCount, int timeout) throws SerialPortException, SerialPortTimeoutException { + checkPortOpened("waitBytesWithTimeout()"); + boolean timeIsOut = true; + long startTime = System.currentTimeMillis(); + while((System.currentTimeMillis() - startTime) < timeout){ + if(getInputBufferBytesCount() >= byteCount){ + timeIsOut = false; + break; + } + try { + Thread.sleep(0, 100);//Need to sleep some time to prevent high CPU loading + } + catch (InterruptedException ex) { + //Do nothing + } + } + if(timeIsOut){ + throw new SerialPortTimeoutException(portName, methodName, timeout); + } + } + + /** + * Read byte array from port + * + * @param byteCount count of bytes for reading + * @param timeout timeout in milliseconds + * + * @return byte array with "byteCount" length + * + * @throws SerialPortException + * @throws SerialPortTimeoutException + * + * @since 2.0 + */ + public byte[] readBytes(int byteCount, int timeout) throws SerialPortException, SerialPortTimeoutException { + checkPortOpened("readBytes()"); + waitBytesWithTimeout("readBytes()", byteCount, timeout); + return readBytes(byteCount); + } + + /** + * Read string from port + * + * @param byteCount count of bytes for reading + * @param timeout timeout in milliseconds + * + * @return byte array with "byteCount" length converted to String + * + * @throws SerialPortException + * @throws SerialPortTimeoutException + * + * @since 2.0 + */ + public String readString(int byteCount, int timeout) throws SerialPortException, SerialPortTimeoutException { + checkPortOpened("readString()"); + waitBytesWithTimeout("readString()", byteCount, timeout); + return readString(byteCount); + } + + /** + * Read Hex string from port (example: FF 0A FF). Separator by default is a space + * + * @param byteCount count of bytes for reading + * @param timeout timeout in milliseconds + * + * @return byte array with "byteCount" length converted to Hexadecimal String + * + * @throws SerialPortException + * @throws SerialPortTimeoutException + * + * @since 2.0 + */ + public String readHexString(int byteCount, int timeout) throws SerialPortException, SerialPortTimeoutException { + checkPortOpened("readHexString()"); + waitBytesWithTimeout("readHexString()", byteCount, timeout); + return readHexString(byteCount); + } + + /** + * Read Hex string from port with setted separator (example if separator is "::": FF::0A::FF) + * + * @param byteCount count of bytes for reading + * @param timeout timeout in milliseconds + * + * @return byte array with "byteCount" length converted to Hexadecimal String + * + * @throws SerialPortException + * @throws SerialPortTimeoutException + * + * @since 2.0 + */ + public String readHexString(int byteCount, String separator, int timeout) throws SerialPortException, SerialPortTimeoutException { + checkPortOpened("readHexString()"); + waitBytesWithTimeout("readHexString()", byteCount, timeout); + return readHexString(byteCount, separator); + } + + /** + * Read Hex String array from port + * + * @param byteCount count of bytes for reading + * @param timeout timeout in milliseconds + * + * @return String array with "byteCount" length and Hexadecimal String values + * + * @throws SerialPortException + * @throws SerialPortTimeoutException + * + * @since 2.0 + */ + public String[] readHexStringArray(int byteCount, int timeout) throws SerialPortException, SerialPortTimeoutException { + checkPortOpened("readHexStringArray()"); + waitBytesWithTimeout("readHexStringArray()", byteCount, timeout); + return readHexStringArray(byteCount); + } + + /** + * Read int array from port + * + * @param byteCount count of bytes for reading + * @param timeout timeout in milliseconds + * + * @return int array with values in range from 0 to 255 + * + * @throws SerialPortException + * @throws SerialPortTimeoutException + * + * @since 2.0 + */ + public int[] readIntArray(int byteCount, int timeout) throws SerialPortException, SerialPortTimeoutException { + checkPortOpened("readIntArray()"); + waitBytesWithTimeout("readIntArray()", byteCount, timeout); + return readIntArray(byteCount); + } + /** * Read all available bytes from port like a byte array * @@ -609,7 +744,7 @@ public String[] readHexStringArray() throws SerialPortException { * @since 0.8 */ public int[] readIntArray() throws SerialPortException { - checkPortOpened("readHex()"); + checkPortOpened("readIntArray()"); int byteCount = getInputBufferBytesCount(); if(byteCount <= 0){ return null; diff --git a/src/java/jssc/SerialPortTimeoutException.java b/src/java/jssc/SerialPortTimeoutException.java new file mode 100644 index 000000000..d5c8f2879 --- /dev/null +++ b/src/java/jssc/SerialPortTimeoutException.java @@ -0,0 +1,64 @@ +/* jSSC (Java Simple Serial Connector) - serial port communication library. + * © Alexey Sokolov (scream3r), 2010-2013. + * + * This file is part of jSSC. + * + * jSSC is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * jSSC 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with jSSC. If not, see . + * + * If you use jSSC in public project you can inform me about this by e-mail, + * of course if you want it. + * + * e-mail: scream3r.org@gmail.com + * web-site: http://scream3r.org | http://code.google.com/p/java-simple-serial-connector/ + */ +package jssc; + +/** + * + * @author scream3r + */ +public class SerialPortTimeoutException extends Exception { + + private String portName; + private String methodName; + private int timeoutValue; + + public SerialPortTimeoutException(String portName, String methodName, int timeoutValue) { + super("Port name - " + portName + "; Method name - " + methodName + "; Serial port operation timeout (" + timeoutValue + " ms)."); + this.portName = portName; + this.methodName = methodName; + this.timeoutValue = timeoutValue; + } + + /** + * Getting port name during operation with which the exception was called + */ + public String getPortName(){ + return portName; + } + + /** + * Getting method name during execution of which the exception was called + */ + public String getMethodName(){ + return methodName; + } + + /** + * Getting timeout value in millisecond + */ + public int getTimeoutValue(){ + return timeoutValue; + } +} From 33e88f6f021431660134ee72d1b4a0e05eceae68 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 12 Mar 2013 09:35:45 +0300 Subject: [PATCH 005/126] Project dates update --- src/java/jssc/SerialPortEvent.java | 2 +- src/java/jssc/SerialPortEventListener.java | 2 +- src/java/jssc/SerialPortException.java | 2 +- src/java/jssc/SerialPortList.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/java/jssc/SerialPortEvent.java b/src/java/jssc/SerialPortEvent.java index 19f69aec3..8cbc51dc5 100644 --- a/src/java/jssc/SerialPortEvent.java +++ b/src/java/jssc/SerialPortEvent.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2011. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * diff --git a/src/java/jssc/SerialPortEventListener.java b/src/java/jssc/SerialPortEventListener.java index d7214e778..39fc26978 100644 --- a/src/java/jssc/SerialPortEventListener.java +++ b/src/java/jssc/SerialPortEventListener.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2011. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * diff --git a/src/java/jssc/SerialPortException.java b/src/java/jssc/SerialPortException.java index 0d1c1000a..a83c3f4f8 100644 --- a/src/java/jssc/SerialPortException.java +++ b/src/java/jssc/SerialPortException.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2011. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index 513181cf5..1550696ed 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2011. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * From 7395dd0d8037b596a19c63989ce1cb44ca6aff1b Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 12 Mar 2013 09:37:22 +0300 Subject: [PATCH 006/126] Added support of Linux ARM and *.jnilib->*.dylib MacOS X 10.8 fix --- src/java/jssc/SerialNativeInterface.java | 34 ++++++++++++++++++++++- src/java/libs/linux/libjSSC-0.9_armhf.so | Bin 0 -> 10523 bytes src/java/libs/linux/libjSSC-0.9_armsf.so | Bin 0 -> 10431 bytes 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/java/libs/linux/libjSSC-0.9_armhf.so create mode 100644 src/java/libs/linux/libjSSC-0.9_armsf.so diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 2dcfbce7c..2c3965b7e 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2011. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * @@ -24,9 +24,11 @@ */ package jssc; +import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; +import java.io.InputStreamReader; /** * @@ -53,6 +55,8 @@ public class SerialNativeInterface { String userHome = System.getProperty("user.home"); String fileSeparator = System.getProperty("file.separator"); + String javaLibPath = System.getProperty("java.library.path");//since 2.1.0 + if(osName.equals("Linux")){ osName = "linux"; osType = OS_LINUX; @@ -76,11 +80,39 @@ else if(osName.equals("Mac OS X")){ else if(architecture.equals("amd64")){ architecture = "x86_64"; } + else if(architecture.equals("arm")) {//since 2.1.0 + String floatStr = "sf"; + if(javaLibPath.toLowerCase().contains("gnueabihf") || javaLibPath.toLowerCase().contains("armhf")){ + floatStr = "hf"; + } + else { + try { + Process readelfProcess = Runtime.getRuntime().exec("readelf -A /proc/self/exe"); + BufferedReader reader = new BufferedReader(new InputStreamReader(readelfProcess.getInputStream())); + String buffer = ""; + while((buffer = reader.readLine()) != null && !buffer.isEmpty()){ + if(buffer.toLowerCase().contains("Tag_ABI_VFP_args".toLowerCase())){ + floatStr = "hf"; + break; + } + } + reader.close(); + } + catch (Exception ex) { + //Do nothing + } + } + architecture = "arm" + floatStr; + } libFolderPath = userHome + fileSeparator + ".jssc" + fileSeparator + osName; libName = "jSSC-" + libVersion + "_" + architecture; libName = System.mapLibraryName(libName); + if(libName.endsWith(".dylib")){//Since 2.1.0 MacOSX 10.8 fix + libName = libName.replace(".dylib", ".jnilib"); + } + boolean loadLib = false; if(isLibFolderExist(libFolderPath)){ diff --git a/src/java/libs/linux/libjSSC-0.9_armhf.so b/src/java/libs/linux/libjSSC-0.9_armhf.so new file mode 100644 index 0000000000000000000000000000000000000000..27fbe6551463de089fe5eeee30dc5d61ccdc0ea2 GIT binary patch literal 10523 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 literal 0 HcmV?d00001 diff --git a/src/java/libs/linux/libjSSC-0.9_armsf.so b/src/java/libs/linux/libjSSC-0.9_armsf.so new file mode 100644 index 0000000000000000000000000000000000000000..937c3a0371c9cc92133311269fa3593e7fa0ba18 GIT binary patch literal 10431 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 literal 0 HcmV?d00001 From 7dddbec01d14100ea9d24f7b6e80820cda9d1048 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 12 Mar 2013 11:37:22 +0300 Subject: [PATCH 007/126] Windows native lib: port name string cancatenation fix, to prevent exception access violation --- src/cpp/windows/jssc.c++ | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index ba1c2cf47..6f1e71ca9 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -25,7 +25,9 @@ #include #include #include -#include "jssc_SerialNativeInterface.h" +#include "../jssc_SerialNativeInterface.h" + +#include /* * Port opening. @@ -33,9 +35,15 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName){ char prefix[] = "\\\\.\\"; const char* port = env->GetStringUTFChars(portName, JNI_FALSE); - strcat(prefix, port); + + //-> Since 2.1.0 string concat fix + char portFullName[strlen(prefix) + strlen(port) + 1]; + strcpy(portFullName, prefix); + strcat(portFullName, port); + //<- Since 2.1.0 + HANDLE hComm; - hComm = CreateFile(prefix, + hComm = CreateFile(portFullName, GENERIC_READ | GENERIC_WRITE, 0, 0, @@ -43,6 +51,7 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, job FILE_FLAG_OVERLAPPED, 0); env->ReleaseStringUTFChars(portName, port); + //since 0.9 -> if(hComm == INVALID_HANDLE_VALUE){ DWORD errorValue = GetLastError(); From ffd0a5ec9b1a0301006435c49aab707111f0078d Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 12 Mar 2013 13:57:21 +0300 Subject: [PATCH 008/126] NULL port name fix --- src/java/jssc/SerialPort.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 398451636..57c0b45f0 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -140,7 +140,12 @@ public boolean openPort() throws SerialPortException { if(portOpened){ throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_ALREADY_OPENED); } - portHandle = serialInterface.openPort(portName); + if(portName != null){ + portHandle = serialInterface.openPort(portName); + } + else { + portHandle = -2;//->Since 2.1.0 NULL port name fix + } //since 0.9.0 -> if(portHandle == -1){ throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_BUSY); From 8ae8491b4201aab89dd21e4ad1e2ccbdc7d37ba5 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Wed, 13 Mar 2013 09:31:54 +0300 Subject: [PATCH 009/126] Readme extention change --- README.md => README.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README.md => README.txt (100%) diff --git a/README.md b/README.txt similarity index 100% rename from README.md rename to README.txt From 61096c5a5dcaa893510bdc1281324bc180a883b7 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 5 Apr 2013 09:19:30 +0300 Subject: [PATCH 010/126] Zeroing COMMTIMEOUTS structure, because it can be changed by previously running application and can provoke read/write errors --- src/cpp/windows/jssc.c++ | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index 6f1e71ca9..b64d3c7ca 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -113,7 +113,19 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams //<- since 0.8 if(SetCommState(hComm, dcb)){ - returnValue = JNI_TRUE; + + //-> Since 2.1.0 previously setted timeouts by another application should be cleared + COMMTIMEOUTS *lpCommTimeouts = new COMMTIMEOUTS(); + lpCommTimeouts->ReadIntervalTimeout = 0; + lpCommTimeouts->ReadTotalTimeoutConstant = 0; + lpCommTimeouts->ReadTotalTimeoutMultiplier = 0; + lpCommTimeouts->WriteTotalTimeoutConstant = 0; + lpCommTimeouts->WriteTotalTimeoutMultiplier = 0; + if(SetCommTimeouts(hComm, lpCommTimeouts)){ + returnValue = JNI_TRUE; + } + delete lpCommTimeouts; + //<- Since 2.1.0 } } delete dcb; From 6eded5cc1d6500ef92a64d209223fd499b884014 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 9 Apr 2013 09:32:25 +0300 Subject: [PATCH 011/126] _nix based. Fixed clearing exclusive access on port close. --- src/cpp/_nix_based/jssc.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 149a6e1d2..add11d103 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -399,6 +399,9 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_purgePort /* Closing the port */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_closePort (JNIEnv *env, jobject object, jint portHandle){ +#if defined TIOCNXCL && !defined __SunOS + ioctl(portHandle, TIOCNXCL);//since 2.1.0 Clear exclusive port access on closing +#endif return close(portHandle) == 0 ? JNI_TRUE : JNI_FALSE; } From f368d5da79a47c7bed2f80ffff912e933d2f491a Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Wed, 10 Apr 2013 13:53:14 +0300 Subject: [PATCH 012/126] Changed years in license comment --- src/cpp/jssc_SerialNativeInterface.h | 2 +- src/cpp/windows/jssc.c++ | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/cpp/jssc_SerialNativeInterface.h b/src/cpp/jssc_SerialNativeInterface.h index 259da6749..1f7859c4c 100644 --- a/src/cpp/jssc_SerialNativeInterface.h +++ b/src/cpp/jssc_SerialNativeInterface.h @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2011. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index b64d3c7ca..170e6dfb3 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2011. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * @@ -36,11 +36,11 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, job char prefix[] = "\\\\.\\"; const char* port = env->GetStringUTFChars(portName, JNI_FALSE); - //-> Since 2.1.0 string concat fix + //since 2.1.0 -> string concat fix char portFullName[strlen(prefix) + strlen(port) + 1]; strcpy(portFullName, prefix); strcat(portFullName, port); - //<- Since 2.1.0 + //<- since 2.1.0 HANDLE hComm; hComm = CreateFile(portFullName, @@ -114,7 +114,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams if(SetCommState(hComm, dcb)){ - //-> Since 2.1.0 previously setted timeouts by another application should be cleared + //since 2.1.0 -> previously setted timeouts by another application should be cleared COMMTIMEOUTS *lpCommTimeouts = new COMMTIMEOUTS(); lpCommTimeouts->ReadIntervalTimeout = 0; lpCommTimeouts->ReadTotalTimeoutConstant = 0; @@ -125,7 +125,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams returnValue = JNI_TRUE; } delete lpCommTimeouts; - //<- Since 2.1.0 + //<- since 2.1.0 } } delete dcb; From c0727b8dc992bdb8791e63463cb7681b2038a140 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Wed, 10 Apr 2013 13:54:45 +0300 Subject: [PATCH 013/126] Rewrited comparator for sotring port names. Now it's cross-platform --- src/java/jssc/SerialPortList.java | 100 +++++++++++++++++++++++++----- 1 file changed, 83 insertions(+), 17 deletions(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index 1550696ed..74a256f3d 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -40,31 +40,97 @@ public class SerialPortList { private static SerialNativeInterface serialInterface; + + static { + serialInterface = new SerialNativeInterface(); + } + + //since 2.1.0 -> Fully rewrited port name comparator private static Comparator comparator = new Comparator() { + @Override public int compare(String valueA, String valueB) { - int result = 0; - if(valueA.toLowerCase().contains("com") && valueB.toLowerCase().contains("com")){ - try { - int index1 = Integer.valueOf(valueA.toLowerCase().replace("com", "")); - int index2 = Integer.valueOf(valueB.toLowerCase().replace("com", "")); - result = index1 - index2; + + if(valueA.equalsIgnoreCase(valueB)){ + return valueA.compareTo(valueB); + } + + int minLength = Math.min(valueA.length(), valueB.length()); + + int shiftA = 0; + int shiftB = 0; + + for(int i = 0; i < minLength; i++){ + char charA = valueA.charAt(i - shiftA); + char charB = valueB.charAt(i - shiftB); + if(charA != charB){ + if(Character.isDigit(charA) && Character.isDigit(charB)){ + int[] resultsA = getNumberAndLastIndex(valueA, i - shiftA); + int[] resultsB = getNumberAndLastIndex(valueB, i - shiftB); + + if(resultsA[0] != resultsB[0]){ + return resultsA[0] - resultsB[0]; + } + + if(valueA.length() < valueB.length()){ + i = resultsA[1]; + shiftB = resultsA[1] - resultsB[1]; + } + else { + i = resultsB[1]; + shiftA = resultsB[1] - resultsA[1]; + } + } + else { + if(Character.toLowerCase(charA) - Character.toLowerCase(charB) != 0){ + return Character.toLowerCase(charA) - Character.toLowerCase(charB); + } + } + } + } + return valueA.compareToIgnoreCase(valueB); + } + + /** + * Evaluate port index/number from startIndex to the number end. For example: + * for port name serial-123-FF you should invoke this method with startIndex = 7 + * + * @return If port index/number correctly evaluated it value will be returned
+ * returnArray[0] = index/number
+ * returnArray[1] = stopIndex
+ * + * If incorrect:
+ * returnArray[0] = -1
+ * returnArray[1] = startIndex
+ * + * For this name serial-123-FF result is: + * returnArray[0] = 123
+ * returnArray[1] = 10
+ */ + private int[] getNumberAndLastIndex(String str, int startIndex) { + String numberValue = ""; + int[] returnValues = {-1, startIndex}; + for(int i = startIndex; i < str.length(); i++){ + returnValues[1] = i; + char c = str.charAt(i); + if(Character.isDigit(c)){ + numberValue += c; } - catch (Exception ex) { - result = valueA.compareToIgnoreCase(valueB); + else { + break; } - } - else { - result = valueA.compareToIgnoreCase(valueB); } - return result; + try { + returnValues[0] = Integer.valueOf(numberValue); + } + catch (Exception ex) { + //Do nothing + } + return returnValues; } }; - - static { - serialInterface = new SerialNativeInterface(); - } - + //<-since 2.1.0 + /** * Get sorted array of serial ports in the system * From 2819f0ceaf0ebaf37a3b35f64b9d1252f38f7104 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Wed, 10 Apr 2013 16:11:22 +0300 Subject: [PATCH 014/126] Added private getUnixBasedPortNames() method. It it a universal method for Linux, Solaris and MacOS X. Also added precompiled RegExp patterns --- src/java/jssc/SerialPortList.java | 72 ++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index 74a256f3d..329753162 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -32,6 +32,7 @@ import java.util.Arrays; import java.util.Comparator; import java.util.TreeSet; +import java.util.regex.Pattern; /** * @@ -40,9 +41,33 @@ public class SerialPortList { private static SerialNativeInterface serialInterface; + private static final Pattern PORTNAMES_REGEXP; + private static final String PORTNAMES_PATH; static { serialInterface = new SerialNativeInterface(); + switch (SerialNativeInterface.getOsType()) { + case SerialNativeInterface.OS_LINUX: { + PORTNAMES_REGEXP = Pattern.compile("(ttyS|ttyUSB|ttyACM|ttyAMA)[0-9]{1,3}"); + PORTNAMES_PATH = "/dev/"; + break; + } + case SerialNativeInterface.OS_SOLARIS: { + PORTNAMES_REGEXP = Pattern.compile("[0-9]*|[a-z]*"); + PORTNAMES_PATH = "/dev/term/"; + break; + } + case SerialNativeInterface.OS_MAC_OS_X: { + PORTNAMES_REGEXP = Pattern.compile("tty.(serial|usbserial|usbmodem).*"); + PORTNAMES_PATH = "/dev/"; + break; + } + default: { + PORTNAMES_REGEXP = null; + PORTNAMES_PATH = null; + break; + } + } } //since 2.1.0 -> Fully rewrited port name comparator @@ -138,7 +163,12 @@ private int[] getNumberAndLastIndex(String str, int startIndex) { * with zero length will be returned (since jSSC-0.8 in previous versions null will be returned) */ public static String[] getPortNames() { - if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ + //since 2.1.0 -> + if(PORTNAMES_PATH != null){ + return getUnixBasedPortNames(); + } + //<- since 2.1.0 + /*if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ return getLinuxPortNames(); } else if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_SOLARIS){//since 0.9.0 -> @@ -146,7 +176,7 @@ else if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_SOLARIS){/ } else if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X){ return getMacOSXPortNames(); - }//<-since 0.9.0 + }//<-since 0.9.0*/ String[] portNames = serialInterface.getSerialPortNames(); if(portNames == null){ return new String[]{}; @@ -156,6 +186,44 @@ else if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X){ return ports.toArray(new String[ports.size()]); } + /** + * Universal method for getting port names of _nix based systems + * + * @return + */ + private static String[] getUnixBasedPortNames() { + String[] returnArray = new String[]{}; + File dir = new File(PORTNAMES_PATH); + if(dir.exists() && dir.isDirectory()){ + File[] files = dir.listFiles(); + if(files.length > 0){ + TreeSet portsTree = new TreeSet(comparator); + for(File file : files){ + String fileName = file.getName(); + if(!file.isDirectory() && !file.isFile() && PORTNAMES_REGEXP.matcher(fileName).find()){ + String portName = PORTNAMES_PATH + fileName; + if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ + SerialPort serialPort = new SerialPort(portName); + try { + serialPort.openPort(); + } + catch (SerialPortException ex) { + if(!ex.getExceptionType().equals(SerialPortException.TYPE_PORT_BUSY)){ + continue; + } + } + } + portsTree.add(portName); + } + } + returnArray = portsTree.toArray(returnArray); + } + } + return returnArray; + } + + + /** * Get serial port names in Linux OS (This method was completely rewrited in 0.8-tb4) * From 821c2a18841aee4e55edbe39eab758b44fae2dd7 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 11 Apr 2013 10:26:41 +0300 Subject: [PATCH 015/126] If port name == null, exception with TYPE_NULL_NOT_PERMITTED will be thrown. Previous code with throwing TYPE_PORT_NOT_FOUND exception not a good idea as I think --- src/java/jssc/SerialPort.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 57c0b45f0..a16248038 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -144,7 +144,7 @@ public boolean openPort() throws SerialPortException { portHandle = serialInterface.openPort(portName); } else { - portHandle = -2;//->Since 2.1.0 NULL port name fix + throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_NULL_NOT_PERMITTED);//since 2.1.0 -> NULL port name fix } //since 0.9.0 -> if(portHandle == -1){ From d54cdf7d510660ef26e947653702628037876583 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 11 Apr 2013 09:40:15 +0300 Subject: [PATCH 016/126] Update README.txt Change list update for 2.1.0 version --- README.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.txt b/README.txt index 957e8e3e7..6c84cc64a 100644 --- a/README.txt +++ b/README.txt @@ -1,5 +1,16 @@ jSSC-2.1.0 in development +* Added timeouts for read operations and SerialPortTimeoutException class for catching timeout exceptions +* Added Raspberry Pi support Hard & Soft float +* Fixed MacOS X 10.8 bug with native lib loading (*.dylib -> *.jnilib) +* Fixed Windows native lib port name concatenation error +* Null port name fix. If try to invoke method openPort() for SerialPort(null) object, exception TYPE_NULL_NOT_PERMITTED will be thrown +* Fixed error with garbage reading in Windows using jSSC after another application used serial port. To prevent this effect COMMTIMEOUTS structure zeroing added to setParams() method +* Fixed Linux error with exclusive access to serial port (TIOCEXCL). TIOCNXCL added to closePort() method for clearing exclusive access +* Rewrited comparator for sorting port names. Now it's a common comparator for Windows, Linux, Solaris and MacOS X +* Added common for Linux, Solaris, MacOS X method getUnixBasedPortNames() for listing serial ports +* Added precompiled RegExp's for Linux, Solaris, MacOS X for more faster port listing + jSSC-0.9.0 Release version (21.12.2011) This version contains native libs for Windows(x86, x86-64), Linux(x86, x86-64), Solaris(x86, x86-64), Mac OS X(x86, x86-64, PPC, PPC64). From 57863fadbab843277368e9a19cdd5c3b54586282 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 11 Apr 2013 09:46:30 +0300 Subject: [PATCH 017/126] Update README.txt Change list update for 2.1.0 version --- README.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/README.txt b/README.txt index 6c84cc64a..45fa92eb6 100644 --- a/README.txt +++ b/README.txt @@ -10,6 +10,7 @@ jSSC-2.1.0 in development * Rewrited comparator for sorting port names. Now it's a common comparator for Windows, Linux, Solaris and MacOS X * Added common for Linux, Solaris, MacOS X method getUnixBasedPortNames() for listing serial ports * Added precompiled RegExp's for Linux, Solaris, MacOS X for more faster port listing +* Added ttyACM, ttyAMA to Linux RegExp and tty.usbmodem to MacOS X RegExp jSSC-0.9.0 Release version (21.12.2011) From f3cec9a1d0fcb65f4f3e213e8c15c503d69ef17b Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 11 Apr 2013 11:41:04 +0300 Subject: [PATCH 018/126] Readme.txt update --- README.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.txt b/README.txt index 45fa92eb6..174a910b1 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -jSSC-2.1.0 in development +jSSC-2.2.0 in development * Added timeouts for read operations and SerialPortTimeoutException class for catching timeout exceptions * Added Raspberry Pi support Hard & Soft float @@ -8,7 +8,7 @@ jSSC-2.1.0 in development * Fixed error with garbage reading in Windows using jSSC after another application used serial port. To prevent this effect COMMTIMEOUTS structure zeroing added to setParams() method * Fixed Linux error with exclusive access to serial port (TIOCEXCL). TIOCNXCL added to closePort() method for clearing exclusive access * Rewrited comparator for sorting port names. Now it's a common comparator for Windows, Linux, Solaris and MacOS X -* Added common for Linux, Solaris, MacOS X method getUnixBasedPortNames() for listing serial ports +* Added common for Linux, Solaris, MacOS X method getUnixBasedPortNames() for listing serial ports * Added precompiled RegExp's for Linux, Solaris, MacOS X for more faster port listing * Added ttyACM, ttyAMA to Linux RegExp and tty.usbmodem to MacOS X RegExp From 1d6724ca12679b28cbc7a3d847c8469d6846fa0a Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 12 Apr 2013 09:05:46 +0300 Subject: [PATCH 019/126] Cleared SerialPortList class --- src/java/jssc/SerialPortList.java | 113 ------------------------------ 1 file changed, 113 deletions(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index 329753162..de21fe88a 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -168,15 +168,6 @@ public static String[] getPortNames() { return getUnixBasedPortNames(); } //<- since 2.1.0 - /*if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ - return getLinuxPortNames(); - } - else if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_SOLARIS){//since 0.9.0 -> - return getSolarisPortNames(); - } - else if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_MAC_OS_X){ - return getMacOSXPortNames(); - }//<-since 0.9.0*/ String[] portNames = serialInterface.getSerialPortNames(); if(portNames == null){ return new String[]{}; @@ -221,108 +212,4 @@ private static String[] getUnixBasedPortNames() { } return returnArray; } - - - - /** - * Get serial port names in Linux OS (This method was completely rewrited in 0.8-tb4) - * - * @return - */ - private static String[] getLinuxPortNames() { - String[] returnArray = new String[]{}; - try { - Process dmesgProcess = Runtime.getRuntime().exec("dmesg"); - BufferedReader reader = new BufferedReader(new InputStreamReader(dmesgProcess.getInputStream())); - TreeSet portsTree = new TreeSet(); - ArrayList portsList = new ArrayList(); - String buffer = ""; - while((buffer = reader.readLine()) != null && !buffer.isEmpty()){ - if(buffer.matches(".*(ttyS|ttyUSB)[0-9]{1,3}.*")){ - String[] tmp = buffer.split(" "); - for(String value : tmp){ - if(value.matches("(ttyS|ttyUSB)[0-9]{1,3}")){ - portsTree.add("/dev/" + value); - } - } - } - } - for(String portName : portsTree){ - SerialPort serialPort = new SerialPort(portName); - try { - if(serialPort.openPort()){ - portsList.add(portName); - serialPort.closePort(); - } - } - catch (SerialPortException ex) { - //since 0.9.0 -> - if(ex.getExceptionType().equals(SerialPortException.TYPE_PORT_BUSY)){ - portsList.add(portName); - } - //<- since 0.9.0 - } - } - returnArray = portsList.toArray(returnArray); - reader.close(); - } - catch (IOException ex) { - //Do nothing - } - return returnArray; - } - - /** - * Get serial port names in Solaris OS - * - * @since 0.9.0 - */ - private static String[] getSolarisPortNames() { - String[] returnArray = new String[]{}; - File dir = new File("/dev/term"); - if(dir.exists() && dir.isDirectory()){ - File[] files = dir.listFiles(); - if(files.length > 0){ - TreeSet portsTree = new TreeSet(); - ArrayList portsList = new ArrayList(); - for(File file : files){ - if(!file.isDirectory() && !file.isFile() && file.getName().matches("[0-9]*|[a-z]*")){ - portsTree.add("/dev/term/" + file.getName()); - } - } - for(String portName : portsTree){ - portsList.add(portName); - } - returnArray = portsList.toArray(returnArray); - } - } - return returnArray; - } - - /** - * Get serial port names in Mac OS X - * - * @since 0.9.0 - */ - private static String[] getMacOSXPortNames() { - String[] returnArray = new String[]{}; - File dir = new File("/dev"); - if(dir.exists() && dir.isDirectory()){ - File[] files = dir.listFiles(); - if(files.length > 0){ - TreeSet portsTree = new TreeSet(); - ArrayList portsList = new ArrayList(); - for(File file : files){ - if(!file.isDirectory() && !file.isFile() && file.getName().matches("tty.(serial.*|usbserial.*)")){ - portsTree.add("/dev/" + file.getName()); - } - } - for(String portName : portsTree){ - portsList.add(portName); - } - returnArray = portsList.toArray(returnArray); - } - } - return returnArray; - } } From c03f188075b3293dc9cbcc2d33fa02d998b361ee Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 12 Apr 2013 09:08:06 +0300 Subject: [PATCH 020/126] Cleared SerialPortList class (deleting of unused imports) --- src/java/jssc/SerialPortList.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index de21fe88a..cb1f5815f 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -24,11 +24,7 @@ */ package jssc; -import java.io.BufferedReader; import java.io.File; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.TreeSet; From 03356b73f915ce7c8bc989ab5aa1a44ca9f3424d Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 12 Apr 2013 14:08:42 +0300 Subject: [PATCH 021/126] Cleared body duplicating in addEventListener() methods --- src/java/jssc/SerialPort.java | 64 +++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 22 deletions(-) diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index a16248038..b8e8e6ae7 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -24,6 +24,8 @@ */ package jssc; +import java.lang.reflect.Method; + /** * * @author scream3r @@ -940,27 +942,7 @@ public boolean isRLSD() throws SerialPortException { * @throws SerialPortException */ public void addEventListener(SerialPortEventListener listener) throws SerialPortException { - checkPortOpened("addEventListener()"); - if(!eventListenerAdded){ - if(maskAssigned){ - eventListener = listener; - eventThread = getNewEventThread(); - eventThread.setName("EventThread " + portName); - eventThread.start(); - eventListenerAdded = true; - } - else { - setEventsMask(MASK_RXCHAR); - eventListener = listener; - eventThread = getNewEventThread(); - eventThread.setName("EventThread " + portName); - eventThread.start(); - eventListenerAdded = true; - } - } - else { - throw new SerialPortException(portName, "addEventListener()", SerialPortException.TYPE_LISTENER_ALREADY_ADDED); - } + addEventListener(listener, MASK_RXCHAR, false); } /** @@ -974,9 +956,29 @@ public void addEventListener(SerialPortEventListener listener) throws SerialPort * @throws SerialPortException */ public void addEventListener(SerialPortEventListener listener, int mask) throws SerialPortException { + addEventListener(listener, mask, true); + } + + /** + * Internal method. Add event listener. Object of "SerialPortEventListener" type shall be sent + * to the method. This object shall be properly described, as it will be in + * charge for handling of occurred events. Also events mask shall be sent to + * this method, to do it use variables with prefix "MASK_" for example "MASK_RXCHAR". If + * overwriteMask == true and mask has been already assigned it value will be rewrited by mask + * value, if overwriteMask == false and mask has been already assigned the new mask value will be ignored, + * if there is no assigned mask to this serial port the mask value will be used for setting it up in spite of + * overwriteMask value + * + * @see #setEventsMask(int) setEventsMask(int mask) + * + * @throws SerialPortException + */ + private void addEventListener(SerialPortEventListener listener, int mask, boolean overwriteMask) throws SerialPortException { checkPortOpened("addEventListener()"); if(!eventListenerAdded){ - setEventsMask(mask); + if((maskAssigned && overwriteMask) || !maskAssigned) { + setEventsMask(mask); + } eventListener = listener; eventThread = getNewEventThread(); eventThread.setName("EventThread " + portName); @@ -1064,6 +1066,24 @@ public void run() { for(int i = 0; i < eventArray.length; i++){ if(eventArray[i][0] > 0 && !threadTerminated){ eventListener.serialEvent(new SerialPortEvent(portName, eventArray[i][0], eventArray[i][1])); + //FIXME + /*try { + Class c = eventListener.getClass(); + + Method[] methods = c.getMethods(); + for(Method method : methods){ + System.out.println(method); + } + + Class[] params = new Class[]{SerialPortException.class}; + Method method = c.getMethod("error", params); + System.out.println(method); + method.setAccessible(true); + method.invoke(eventListener, new Object[]{new SerialPortException("port", "method", "exception")}); + } + catch (Exception ex) { + System.out.println(ex); + }*/ } } } From 6baab111793e4999278aed3ff5eafb366e4464d5 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 12 Apr 2013 15:02:08 +0300 Subject: [PATCH 022/126] Added support of errorOccurred method for SerialPortEventListener. Only getting "public void errorOccurred(SerialPortException ex)" from event listener object implemented, no invokation yet --- src/java/jssc/SerialPort.java | 40 +++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index b8e8e6ae7..7dfd82738 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -39,8 +39,11 @@ public class SerialPort { private boolean portOpened = false; private boolean maskAssigned = false; private boolean eventListenerAdded = false; - + //since 2.2.0 -> + private Method methodErrorOccurred = null; + //<- since 2.2.0 + public static final int BAUDRATE_110 = 110; public static final int BAUDRATE_300 = 300; public static final int BAUDRATE_600 = 600; @@ -982,6 +985,19 @@ private void addEventListener(SerialPortEventListener listener, int mask, boolea eventListener = listener; eventThread = getNewEventThread(); eventThread.setName("EventThread " + portName); + //since 2.2.0 -> + try { + Method method = eventListener.getClass().getMethod("errorOccurred", new Class[]{SerialPortException.class}); + method.setAccessible(true); + methodErrorOccurred = method; + } + catch (SecurityException ex) { + //Do nothing + } + catch (NoSuchMethodException ex) { + //Do nothing + } + //<- since 2.2.0 eventThread.start(); eventListenerAdded = true; } @@ -1029,6 +1045,7 @@ public boolean removeEventListener() throws SerialPortException { } } } + methodErrorOccurred = null; eventListenerAdded = false; return true; } @@ -1067,22 +1084,13 @@ public void run() { if(eventArray[i][0] > 0 && !threadTerminated){ eventListener.serialEvent(new SerialPortEvent(portName, eventArray[i][0], eventArray[i][1])); //FIXME - /*try { - Class c = eventListener.getClass(); - - Method[] methods = c.getMethods(); - for(Method method : methods){ - System.out.println(method); + /*if(methodErrorOccurred != null){ + try { + methodErrorOccurred.invoke(eventListener, new Object[]{new SerialPortException("port", "method", "exception")}); + } + catch (Exception ex) { + System.out.println(ex); } - - Class[] params = new Class[]{SerialPortException.class}; - Method method = c.getMethod("error", params); - System.out.println(method); - method.setAccessible(true); - method.invoke(eventListener, new Object[]{new SerialPortException("port", "method", "exception")}); - } - catch (Exception ex) { - System.out.println(ex); }*/ } } From 2590ae3a544fc19bcaaad47f49dcd6b87a23a6b6 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 17 Apr 2013 11:08:52 +0400 Subject: [PATCH 023/126] Fixed path to jssc_SerialNativeInterface.h in _nix_based source file --- src/cpp/_nix_based/jssc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index add11d103..bdb5c9dea 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -41,7 +41,7 @@ #endif #include -#include "jssc_SerialNativeInterface.h" +#include "../jssc_SerialNativeInterface.h" //#include //-lCstd use for Solaris linker From 618d77309e89dcd70694ce9fcb8a7a5491f7d0a6 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 17 Apr 2013 12:49:46 +0400 Subject: [PATCH 024/126] Added serialPort.closePort() to getUnixBasedPortNames() --- src/java/jssc/SerialPortList.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index cb1f5815f..c29bb95da 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -193,6 +193,7 @@ private static String[] getUnixBasedPortNames() { SerialPort serialPort = new SerialPort(portName); try { serialPort.openPort(); + serialPort.closePort(); } catch (SerialPortException ex) { if(!ex.getExceptionType().equals(SerialPortException.TYPE_PORT_BUSY)){ From fa056da30093a1e751657e5e779c53d14917e0ab Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 17 Apr 2013 13:33:12 +0400 Subject: [PATCH 025/126] Added TYPE_PERMISSION_DENIED exception to SerialPortException class --- src/java/jssc/SerialPortException.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/java/jssc/SerialPortException.java b/src/java/jssc/SerialPortException.java index a83c3f4f8..41d7186b1 100644 --- a/src/java/jssc/SerialPortException.java +++ b/src/java/jssc/SerialPortException.java @@ -52,6 +52,10 @@ public class SerialPortException extends Exception { * @since 0.9.0 */ final public static String TYPE_PORT_NOT_FOUND = "Port not found"; + /** + * @since 2.2.0 + */ + final public static String TYPE_PERMISSION_DENIED = "Permission denied"; private String portName; private String methodName; From 82a01329a6a323a7509baf502ec4bdffc17e4989 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 17 Apr 2013 13:38:06 +0400 Subject: [PATCH 026/126] Added SerialPortException.TYPE_PERMISSION_DENIED support into SerialPort class --- src/java/jssc/SerialPort.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 7dfd82738..b7fd8490e 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -151,14 +151,15 @@ public boolean openPort() throws SerialPortException { else { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_NULL_NOT_PERMITTED);//since 2.1.0 -> NULL port name fix } - //since 0.9.0 -> - if(portHandle == -1){ + if(portHandle == -1){//since 0.9.0 -> throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_BUSY); } else if(portHandle == -2){ throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_NOT_FOUND); - } - //<- since 0.9.0 + }//<- since 0.9.0 + else if(portHandle == -3){//since 2.2.0 -> + throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PERMISSION_DENIED); + }//<- since 2.2.0 portOpened = true; return true; } From c2c52e1e5c7723ce7c51df5589ed270f97146fbc Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 17 Apr 2013 13:48:55 +0400 Subject: [PATCH 027/126] Added termios structure checking while port opening, and "Permission denied" exception support --- src/cpp/_nix_based/jssc.cpp | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index bdb5c9dea..674a3c830 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -43,7 +43,7 @@ #include #include "../jssc_SerialNativeInterface.h" -//#include //-lCstd use for Solaris linker +#include //-lCstd use for Solaris linker /* OK */ @@ -53,12 +53,21 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, job jint hComm; hComm = open(port, O_RDWR | O_NOCTTY | O_NDELAY); if(hComm != -1){ - #if defined TIOCEXCL && !defined __SunOS - ioctl(hComm, TIOCEXCL);//since 0.9 - #endif - int flags = fcntl(hComm, F_GETFL, 0); - flags &= ~O_NDELAY; - fcntl(hComm, F_SETFL, flags); + //since 2.2.0 -> + termios *settings = new termios(); + if(tcgetattr(hComm, settings) == 0){ + //<- since 2.2.0 + #if defined TIOCEXCL && !defined __SunOS + ioctl(hComm, TIOCEXCL);//since 0.9 + #endif + int flags = fcntl(hComm, F_GETFL, 0); + flags &= ~O_NDELAY; + fcntl(hComm, F_SETFL, flags); + } + else { + hComm = -2; + } + delete settings; } else {//since 0.9 -> if(errno == EBUSY){//Port busy @@ -67,6 +76,12 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, job else if(errno == ENOENT){//Port not found hComm = -2; } + else if(errno == EACCES){//Permission denied + hComm = -3; + } + else { + hComm = -2; + } }//<- since 0.9 env->ReleaseStringUTFChars(portName, port); return hComm; From 5a2f8017ad88200b07d7ec5d973212b446734ad7 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 17 Apr 2013 15:29:49 +0400 Subject: [PATCH 028/126] Rewrited native readBytes function, now it use termios structure for setting min count of bytes to read, it makes read operation blocking, like in Windows version, and prevent reading of garbage --- src/cpp/_nix_based/jssc.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 674a3c830..5b12d8f6f 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -494,21 +494,25 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_writeBytes /* OK */ /* * Reading data from the port + * + * Rewrited in 2.2.0 (using of termios structure for setting min count of bytes to read, + * it makes read operation blocking, like in Windows version, and prevent reading of garbage) */ JNIEXPORT jbyteArray JNICALL Java_jssc_SerialNativeInterface_readBytes (JNIEnv *env, jobject object, jint portHandle, jint byteCount){ -#ifdef __SunOS - jbyte *lpBuffer = new jbyte[byteCount];//Need for CC compiler + termios *settings = new termios(); + if(tcgetattr(portHandle, settings) == 0){ + if(settings->c_cc[VMIN] != byteCount){ + settings->c_cc[VMIN] = byteCount; + tcsetattr(portHandle, TCSANOW, settings); + } + } + delete settings; + jbyte *lpBuffer = new jbyte[byteCount]; read(portHandle, lpBuffer, byteCount); -#else - jbyte lpBuffer[byteCount]; - read(portHandle, &lpBuffer, byteCount); -#endif jbyteArray returnArray = env->NewByteArray(byteCount); env->SetByteArrayRegion(returnArray, 0, byteCount, lpBuffer); -#ifdef __SunOS - delete(lpBuffer); -#endif + delete lpBuffer; return returnArray; } From 223740af4439b867025d8aa1bffa7f0fd44491ff Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 17 Apr 2013 17:20:23 +0400 Subject: [PATCH 029/126] Updated jssc_SerialNativeInterface.h header file --- src/cpp/jssc_SerialNativeInterface.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cpp/jssc_SerialNativeInterface.h b/src/cpp/jssc_SerialNativeInterface.h index 1f7859c4c..4bb81ccbd 100644 --- a/src/cpp/jssc_SerialNativeInterface.h +++ b/src/cpp/jssc_SerialNativeInterface.h @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * � Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * @@ -42,10 +42,10 @@ extern "C" { /* * Class: jssc_SerialNativeInterface * Method: openPort - * Signature: (Ljava/lang/String;)I + * Signature: (Ljava/lang/String;ZZ)I */ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort - (JNIEnv *, jobject, jstring); + (JNIEnv *, jobject, jstring, jboolean, jboolean); /* * Class: jssc_SerialNativeInterface From ebcb3d8c4c9f060863dce3777c68f91d3d37b5b8 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 17 Apr 2013 17:23:07 +0400 Subject: [PATCH 030/126] Updated _nix_based jssc.cpp, added keys for disabling TIOCEXCL and prevent flags rewriting for serial port while port listing --- src/cpp/_nix_based/jssc.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 5b12d8f6f..151e0b9e0 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -43,12 +43,15 @@ #include #include "../jssc_SerialNativeInterface.h" -#include //-lCstd use for Solaris linker +//#include //-lCstd use for Solaris linker /* OK */ -/* Port opening */ -JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName){ +/* + * Port opening + * In 2.2.0 added useTIOCEXCL and invokedByPortList + */ +JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName, jboolean useTIOCEXCL, jboolean invokedByPortList){ const char* port = env->GetStringUTFChars(portName, JNI_FALSE); jint hComm; hComm = open(port, O_RDWR | O_NOCTTY | O_NDELAY); @@ -58,11 +61,15 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, job if(tcgetattr(hComm, settings) == 0){ //<- since 2.2.0 #if defined TIOCEXCL && !defined __SunOS - ioctl(hComm, TIOCEXCL);//since 0.9 + if(useTIOCEXCL == JNI_TRUE){//since 2.2.0 + ioctl(hComm, TIOCEXCL);//since 0.9 + } #endif - int flags = fcntl(hComm, F_GETFL, 0); - flags &= ~O_NDELAY; - fcntl(hComm, F_SETFL, flags); + if(invokedByPortList == JNI_FALSE){//since 2.2.0 (should not change any flags while using port list, because port can be opened by another application) + int flags = fcntl(hComm, F_GETFL, 0); + flags &= ~O_NDELAY; + fcntl(hComm, F_SETFL, flags); + } } else { hComm = -2; @@ -75,13 +82,13 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, job } else if(errno == ENOENT){//Port not found hComm = -2; - } + }//-> since 2.2.0 else if(errno == EACCES){//Permission denied hComm = -3; } else { hComm = -2; - } + }//<- since 2.2.0 }//<- since 0.9 env->ReleaseStringUTFChars(portName, port); return hComm; From 273e1323214cc0a113c9a70b5d40ec8b78ef81b4 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 17 Apr 2013 17:24:55 +0400 Subject: [PATCH 031/126] Added useTIOCEXCL and invokedByPortList keys into native openPort() method --- src/java/jssc/SerialNativeInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 2c3965b7e..59d312c55 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -261,7 +261,7 @@ public static String getLibraryMinorSuffix() { * * @return handle of opened port or -1 if opening of the port was unsuccessful */ - public native int openPort(String portName); + public native int openPort(String portName, boolean useTIOCEXCL, boolean invokedByPortList); /** * Setting the parameters of opened port From 6d542e09a167471a51460e66e22af3db39e82b43 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 17 Apr 2013 17:26:26 +0400 Subject: [PATCH 032/126] Fixed "openPort()" invocations in considering of last changes --- src/java/jssc/SerialPort.java | 2 +- src/java/jssc/SerialPortList.java | 21 ++++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index b7fd8490e..54a133036 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -146,7 +146,7 @@ public boolean openPort() throws SerialPortException { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_ALREADY_OPENED); } if(portName != null){ - portHandle = serialInterface.openPort(portName); + portHandle = serialInterface.openPort(portName, true, false); } else { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_NULL_NOT_PERMITTED);//since 2.1.0 -> NULL port name fix diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index c29bb95da..9237f31cd 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -191,15 +191,22 @@ private static String[] getUnixBasedPortNames() { String portName = PORTNAMES_PATH + fileName; if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ SerialPort serialPort = new SerialPort(portName); - try { - serialPort.openPort(); - serialPort.closePort(); - } - catch (SerialPortException ex) { - if(!ex.getExceptionType().equals(SerialPortException.TYPE_PORT_BUSY)){ + //try { + /*serialPort.openPort(); + serialPort.closePort();*/ + int portHandle = serialInterface.openPort(portName, false, true); + if(portHandle < 0 && portHandle != -1){ continue; } - } + else if(portHandle != -1) { + serialInterface.closePort(portHandle); + } + //} + //catch (SerialPortException ex) { + // if(!ex.getExceptionType().equals(SerialPortException.TYPE_PORT_BUSY)){ + // continue; + // } + //} } portsTree.add(portName); } From 49c677a66308543e0afdb756c8ffedd31ccea0e4 Mon Sep 17 00:00:00 2001 From: scream3r Date: Thu, 18 Apr 2013 09:44:30 +0400 Subject: [PATCH 033/126] Expanded javadoc for native openPort() method --- src/java/jssc/SerialNativeInterface.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 59d312c55..51b37f81c 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -258,6 +258,10 @@ public static String getLibraryMinorSuffix() { * Open port * * @param portName name of port for opening + * @param useTIOCEXCL enable/disable using of TIOCEXCL. Take effect only on *nix based systems. + * Ignored if invokedByPortList == true, and always igored on Windows + * @param invokedByPortList if true - open port only for checking handle, not for working. + * Take effect only on *nix based systems. If invokedByPortList == true value of useTIOCEXCL will be ignored * * @return handle of opened port or -1 if opening of the port was unsuccessful */ From f4e725252f99a30e81f04ba89489afa31d640ff2 Mon Sep 17 00:00:00 2001 From: scream3r Date: Thu, 18 Apr 2013 10:17:54 +0400 Subject: [PATCH 034/126] Removed using of "invockedByPortList" parameter. Using of F_GETFL/F_SETFL has no effect on already opened port --- src/cpp/_nix_based/jssc.cpp | 20 +++++++++----------- src/cpp/jssc_SerialNativeInterface.h | 4 ++-- src/java/jssc/SerialNativeInterface.java | 5 +---- src/java/jssc/SerialPort.java | 2 +- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 151e0b9e0..fd6ae274a 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2011. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * @@ -51,30 +51,28 @@ * Port opening * In 2.2.0 added useTIOCEXCL and invokedByPortList */ -JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName, jboolean useTIOCEXCL, jboolean invokedByPortList){ +JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName, jboolean useTIOCEXCL){ const char* port = env->GetStringUTFChars(portName, JNI_FALSE); jint hComm; hComm = open(port, O_RDWR | O_NOCTTY | O_NDELAY); if(hComm != -1){ - //since 2.2.0 -> + //since 2.2.0 -> (check termios structure for separating real serial devices from others) termios *settings = new termios(); if(tcgetattr(hComm, settings) == 0){ - //<- since 2.2.0 #if defined TIOCEXCL && !defined __SunOS - if(useTIOCEXCL == JNI_TRUE){//since 2.2.0 - ioctl(hComm, TIOCEXCL);//since 0.9 + if(useTIOCEXCL == JNI_TRUE){ + ioctl(hComm, TIOCEXCL); } #endif - if(invokedByPortList == JNI_FALSE){//since 2.2.0 (should not change any flags while using port list, because port can be opened by another application) - int flags = fcntl(hComm, F_GETFL, 0); - flags &= ~O_NDELAY; - fcntl(hComm, F_SETFL, flags); - } + int flags = fcntl(hComm, F_GETFL, 0); + flags &= ~O_NDELAY; + fcntl(hComm, F_SETFL, flags); } else { hComm = -2; } delete settings; + //<- since 2.2.0 } else {//since 0.9 -> if(errno == EBUSY){//Port busy diff --git a/src/cpp/jssc_SerialNativeInterface.h b/src/cpp/jssc_SerialNativeInterface.h index 4bb81ccbd..b4e555bf0 100644 --- a/src/cpp/jssc_SerialNativeInterface.h +++ b/src/cpp/jssc_SerialNativeInterface.h @@ -42,10 +42,10 @@ extern "C" { /* * Class: jssc_SerialNativeInterface * Method: openPort - * Signature: (Ljava/lang/String;ZZ)I + * Signature: (Ljava/lang/String;Z)I */ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort - (JNIEnv *, jobject, jstring, jboolean, jboolean); + (JNIEnv *, jobject, jstring, jboolean); /* * Class: jssc_SerialNativeInterface diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 51b37f81c..0e78f35a4 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -259,13 +259,10 @@ public static String getLibraryMinorSuffix() { * * @param portName name of port for opening * @param useTIOCEXCL enable/disable using of TIOCEXCL. Take effect only on *nix based systems. - * Ignored if invokedByPortList == true, and always igored on Windows - * @param invokedByPortList if true - open port only for checking handle, not for working. - * Take effect only on *nix based systems. If invokedByPortList == true value of useTIOCEXCL will be ignored * * @return handle of opened port or -1 if opening of the port was unsuccessful */ - public native int openPort(String portName, boolean useTIOCEXCL, boolean invokedByPortList); + public native int openPort(String portName, boolean useTIOCEXCL); /** * Setting the parameters of opened port diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 54a133036..e9e6d349e 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -146,7 +146,7 @@ public boolean openPort() throws SerialPortException { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_ALREADY_OPENED); } if(portName != null){ - portHandle = serialInterface.openPort(portName, true, false); + portHandle = serialInterface.openPort(portName, true); } else { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_NULL_NOT_PERMITTED);//since 2.1.0 -> NULL port name fix From e23a29229c6ae6c538082300c8cafc87fe7ca5d3 Mon Sep 17 00:00:00 2001 From: scream3r Date: Thu, 18 Apr 2013 10:25:52 +0400 Subject: [PATCH 035/126] Cleared "getUnixBasedPortNames()" method is SerialPortList class --- src/java/jssc/SerialPortList.java | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index 9237f31cd..f446eca21 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -190,23 +190,13 @@ private static String[] getUnixBasedPortNames() { if(!file.isDirectory() && !file.isFile() && PORTNAMES_REGEXP.matcher(fileName).find()){ String portName = PORTNAMES_PATH + fileName; if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ - SerialPort serialPort = new SerialPort(portName); - //try { - /*serialPort.openPort(); - serialPort.closePort();*/ - int portHandle = serialInterface.openPort(portName, false, true); - if(portHandle < 0 && portHandle != -1){ - continue; - } - else if(portHandle != -1) { - serialInterface.closePort(portHandle); - } - //} - //catch (SerialPortException ex) { - // if(!ex.getExceptionType().equals(SerialPortException.TYPE_PORT_BUSY)){ - // continue; - // } - //} + int portHandle = serialInterface.openPort(portName, false);//Open port without TIOCEXCL + if(portHandle < 0 && portHandle != -1){//If port handle == -1 it's mean that it's busy + continue; + } + else if(portHandle != -1) { + serialInterface.closePort(portHandle); + } } portsTree.add(portName); } From d0b558aa17b054a754f2d9ae4221d7ab919ce68c Mon Sep 17 00:00:00 2001 From: scream3r Date: Thu, 18 Apr 2013 11:31:58 +0400 Subject: [PATCH 036/126] Updated comment for openPort() in _nix_based jssc.cpp --- src/cpp/_nix_based/jssc.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index fd6ae274a..80e56b2cd 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -49,7 +49,8 @@ /* OK */ /* * Port opening - * In 2.2.0 added useTIOCEXCL and invokedByPortList + * + * In 2.2.0 added useTIOCEXCL */ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName, jboolean useTIOCEXCL){ const char* port = env->GetStringUTFChars(portName, JNI_FALSE); From 521909e65adae8e64a94ae96f7f82c0f0b8199da Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 18 Apr 2013 11:35:58 +0300 Subject: [PATCH 037/126] Updated Windows native "openPort()" function signature, and function comment --- src/cpp/windows/jssc.c++ | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index 170e6dfb3..c1e9f1b71 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -27,12 +27,14 @@ #include #include "../jssc_SerialNativeInterface.h" -#include +//#include /* * Port opening. + * + * In 2.2.0 added useTIOCEXCL (not used only for compatibility with _nix version) */ -JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName){ +JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName, jboolean useTIOCEXCL){ char prefix[] = "\\\\.\\"; const char* port = env->GetStringUTFChars(portName, JNI_FALSE); From 279c8b335fdef3405303470d21a2edf2fe6ac7dc Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 18 Apr 2013 12:09:47 +0300 Subject: [PATCH 038/126] Readme file update --- README.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.txt b/README.txt index 174a910b1..a75605a5f 100644 --- a/README.txt +++ b/README.txt @@ -1,5 +1,7 @@ -jSSC-2.2.0 in development +jSSC-2.3.0 in development +* Added termios structure cheking op port opening, it helps separate real serial devices from others +* Added new exception TYPE_PERMISSION_DENIED. It can be very useful for _nix based system if user have no permissions for using serial device * Added timeouts for read operations and SerialPortTimeoutException class for catching timeout exceptions * Added Raspberry Pi support Hard & Soft float * Fixed MacOS X 10.8 bug with native lib loading (*.dylib -> *.jnilib) From 235f677881a996f38813c5ebf2e86c57b7672e91 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 18 Apr 2013 13:02:17 +0300 Subject: [PATCH 039/126] Readme file update --- README.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.txt b/README.txt index a75605a5f..97db9ac98 100644 --- a/README.txt +++ b/README.txt @@ -1,6 +1,7 @@ jSSC-2.3.0 in development -* Added termios structure cheking op port opening, it helps separate real serial devices from others +* Important! Fixed bug with garbage reading on Linux, MacOSX, Solaris, cause of incorrect using of VMIN and VTIME. Now "read" methods, works correctly and are blocking like in Windows +* Added termios structure cheking on port opening, it helps separate real serial devices from others * Added new exception TYPE_PERMISSION_DENIED. It can be very useful for _nix based system if user have no permissions for using serial device * Added timeouts for read operations and SerialPortTimeoutException class for catching timeout exceptions * Added Raspberry Pi support Hard & Soft float From e4076c5efdd71ffd9dfaaf034ee14aec70333410 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 18 Apr 2013 13:06:12 +0300 Subject: [PATCH 040/126] Readme file update --- README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.txt b/README.txt index 97db9ac98..6216a2aba 100644 --- a/README.txt +++ b/README.txt @@ -1,6 +1,6 @@ jSSC-2.3.0 in development -* Important! Fixed bug with garbage reading on Linux, MacOSX, Solaris, cause of incorrect using of VMIN and VTIME. Now "read" methods, works correctly and are blocking like in Windows +* Important! Fixed bug with garbage reading on Linux, MacOSX, Solaris, cause of incorrect using of VMIN and VTIME. Now "read" methods works correctly and are blocking like in Windows * Added termios structure cheking on port opening, it helps separate real serial devices from others * Added new exception TYPE_PERMISSION_DENIED. It can be very useful for _nix based system if user have no permissions for using serial device * Added timeouts for read operations and SerialPortTimeoutException class for catching timeout exceptions From 6d056234b9acffb08a30e8f92ceb8ab8118a7bb2 Mon Sep 17 00:00:00 2001 From: scream3r Date: Thu, 18 Apr 2013 14:57:40 +0400 Subject: [PATCH 041/126] Copyright symbol fix in native header file --- src/cpp/jssc_SerialNativeInterface.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpp/jssc_SerialNativeInterface.h b/src/cpp/jssc_SerialNativeInterface.h index b4e555bf0..3b97e3554 100644 --- a/src/cpp/jssc_SerialNativeInterface.h +++ b/src/cpp/jssc_SerialNativeInterface.h @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * � Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * From 2d481ff6e77e2ac7df0d81588730b696dea2d3a1 Mon Sep 17 00:00:00 2001 From: scream3r Date: Thu, 18 Apr 2013 15:22:49 +0400 Subject: [PATCH 042/126] Added JSSC_NO_TIOCEXCL property for disable using exclusive access to serial device. See issue #6 --- src/java/jssc/SerialPort.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index e9e6d349e..1b5455a34 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -146,7 +146,7 @@ public boolean openPort() throws SerialPortException { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_ALREADY_OPENED); } if(portName != null){ - portHandle = serialInterface.openPort(portName, true); + portHandle = serialInterface.openPort(portName, (System.getProperty("JSSC_NO_TIOCEXCL") == null && System.getProperty("jssc_no_tiocexcl") == null));//since 2.3.0 -> (if JSSC_NO_TIOCEXCL defined, exclusive lock for serial port will be disabled) } else { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_NULL_NOT_PERMITTED);//since 2.1.0 -> NULL port name fix From 8e5a797e01f96c38ded6291607873129e045df0b Mon Sep 17 00:00:00 2001 From: scream3r Date: Fri, 19 Apr 2013 10:25:16 +0400 Subject: [PATCH 043/126] Added bluetooth serials to Linux port list search "rfcomm" --- src/java/jssc/SerialPortList.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index f446eca21..472bbd5f8 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -44,7 +44,7 @@ public class SerialPortList { serialInterface = new SerialNativeInterface(); switch (SerialNativeInterface.getOsType()) { case SerialNativeInterface.OS_LINUX: { - PORTNAMES_REGEXP = Pattern.compile("(ttyS|ttyUSB|ttyACM|ttyAMA)[0-9]{1,3}"); + PORTNAMES_REGEXP = Pattern.compile("(ttyS|ttyUSB|ttyACM|ttyAMA|rfcomm)[0-9]{1,3}"); PORTNAMES_PATH = "/dev/"; break; } From e8df64618d39af05a4013c3c232723ead262b7b3 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 19 Apr 2013 11:49:01 +0300 Subject: [PATCH 044/126] jSSC version number changed in SerialNativeInterface class --- src/java/jssc/SerialNativeInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 0e78f35a4..0138bf23a 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -36,7 +36,7 @@ */ public class SerialNativeInterface { - private static final String libVersion = "0.9"; //jSSC-0.9.0 Release from 21.12.2011 + private static final String libVersion = "2.3"; //jSSC-0.9.0 Release from 21.12.2011 private static final String libMinorSuffix = "0"; //since 0.9.0 public static final int OS_LINUX = 0; From cd4f05d84cdede2f8d82d8436d96efc69cca148a Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 19 Apr 2013 11:50:25 +0300 Subject: [PATCH 045/126] Added "getPortNames(String searchPath)" method and maded a little changes in "getUnixBasedPortNames()" method --- src/java/jssc/SerialPortList.java | 34 +++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index 472bbd5f8..51546ba45 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -161,7 +161,7 @@ private int[] getNumberAndLastIndex(String str, int startIndex) { public static String[] getPortNames() { //since 2.1.0 -> if(PORTNAMES_PATH != null){ - return getUnixBasedPortNames(); + return getUnixBasedPortNames(PORTNAMES_PATH); } //<- since 2.1.0 String[] portNames = serialInterface.getSerialPortNames(); @@ -173,14 +173,40 @@ public static String[] getPortNames() { return ports.toArray(new String[ports.size()]); } + /** + * Get sorted array of serial ports in the system. In Windows this method equals getPortNames() + * + * @param searchPath Path for searching serial ports. The default search paths:
+ * Linux, MacOSX: /dev/
+ * Solaris: /dev/term/
+ * Windows: ingored + * + * @return String array. If there is no ports in the system String[] + * + * @since 2.3.0 + */ + public static String[] getPortNames(String searchPath) { + if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_WINDOWS){ + return getPortNames(); + } + if(searchPath == null){ + searchPath = ""; + } + if(!searchPath.equals("") && !searchPath.endsWith("/")){ + searchPath += "/"; + } + System.out.println("Result search path: " + searchPath); + return getUnixBasedPortNames(searchPath); + } + /** * Universal method for getting port names of _nix based systems * * @return */ - private static String[] getUnixBasedPortNames() { + private static String[] getUnixBasedPortNames(String searchPath) { String[] returnArray = new String[]{}; - File dir = new File(PORTNAMES_PATH); + File dir = new File(/*PORTNAMES_PATH*/searchPath); if(dir.exists() && dir.isDirectory()){ File[] files = dir.listFiles(); if(files.length > 0){ @@ -188,7 +214,7 @@ private static String[] getUnixBasedPortNames() { for(File file : files){ String fileName = file.getName(); if(!file.isDirectory() && !file.isFile() && PORTNAMES_REGEXP.matcher(fileName).find()){ - String portName = PORTNAMES_PATH + fileName; + String portName = /*PORTNAMES_PATH*/searchPath + fileName; if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ int portHandle = serialInterface.openPort(portName, false);//Open port without TIOCEXCL if(portHandle < 0 && portHandle != -1){//If port handle == -1 it's mean that it's busy From 6ab3e83451b9ddc31b3e4221e3ad0bffe4354e3e Mon Sep 17 00:00:00 2001 From: scream3r Date: Fri, 19 Apr 2013 14:41:15 +0400 Subject: [PATCH 046/126] Added method "getPortNames(String searchPath, Pattern pattern, Comparator comparator)", added default PORTNAMES_REGEXP for Windows, modified "getUnixBasedPortNames()" method --- src/java/jssc/SerialPortList.java | 82 +++++++++++++++++++++---------- 1 file changed, 55 insertions(+), 27 deletions(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index 51546ba45..f5fa6675b 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -25,7 +25,6 @@ package jssc; import java.io.File; -import java.util.Arrays; import java.util.Comparator; import java.util.TreeSet; import java.util.regex.Pattern; @@ -58,6 +57,11 @@ public class SerialPortList { PORTNAMES_PATH = "/dev/"; break; } + case SerialNativeInterface.OS_WINDOWS: { + PORTNAMES_REGEXP = Pattern.compile(""); + PORTNAMES_PATH = ""; + break; + } default: { PORTNAMES_REGEXP = null; PORTNAMES_PATH = null; @@ -159,22 +163,12 @@ private int[] getNumberAndLastIndex(String str, int startIndex) { * with zero length will be returned (since jSSC-0.8 in previous versions null will be returned) */ public static String[] getPortNames() { - //since 2.1.0 -> - if(PORTNAMES_PATH != null){ - return getUnixBasedPortNames(PORTNAMES_PATH); - } - //<- since 2.1.0 - String[] portNames = serialInterface.getSerialPortNames(); - if(portNames == null){ - return new String[]{}; - } - TreeSet ports = new TreeSet(comparator); - ports.addAll(Arrays.asList(portNames)); - return ports.toArray(new String[ports.size()]); + return getPortNames(PORTNAMES_PATH, PORTNAMES_REGEXP, comparator); } /** - * Get sorted array of serial ports in the system. In Windows this method equals getPortNames() + * Get sorted array of serial ports in the system, located by setted searchPath. + * In Windows this method equals getPortNames() * * @param searchPath Path for searching serial ports. The default search paths:
* Linux, MacOSX: /dev/
@@ -185,36 +179,70 @@ public static String[] getPortNames() { * * @since 2.3.0 */ - public static String[] getPortNames(String searchPath) { + /*public static String[] getPortNames(String searchPath) { if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_WINDOWS){ return getPortNames(); } - if(searchPath == null){ - searchPath = ""; + return getUnixBasedPortNames(searchPath); + }*/ + + /** + * Get sorted array of serial ports in the system + * + * @param searchPath Path for searching serial ports. The default search paths:
+ * Linux, MacOSX: /dev/
+ * Solaris: /dev/term/
+ * Windows: ingored + * + * + * @return String array. If there is no ports in the system String[] + * + * @since 2.3.0 + */ + public static String[] getPortNames(String searchPath, Pattern pattern, Comparator comparator) { + if(searchPath == null || pattern == null || comparator == null){ + return new String[]{}; + } + if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_WINDOWS){ + return getWindowsPortNames(pattern, comparator); } - if(!searchPath.equals("") && !searchPath.endsWith("/")){ - searchPath += "/"; + return getUnixBasedPortNames(searchPath, pattern, comparator); + } + + /** + * Get serial port names in Windows + * + * @since 2.3.0 + */ + private static String[] getWindowsPortNames(Pattern pattern, Comparator comparator) { + String[] portNames = serialInterface.getSerialPortNames(); + if(portNames == null){ + return new String[]{}; } - System.out.println("Result search path: " + searchPath); - return getUnixBasedPortNames(searchPath); + TreeSet ports = new TreeSet(comparator); + for(String portName : portNames){ + if(pattern.matcher(portName).find()){ + ports.add(portName); + } + } + return ports.toArray(new String[ports.size()]); } /** * Universal method for getting port names of _nix based systems - * - * @return */ - private static String[] getUnixBasedPortNames(String searchPath) { + private static String[] getUnixBasedPortNames(String searchPath, Pattern pattern, Comparator comparator) { + searchPath = (searchPath.equals("") ? searchPath : (searchPath.endsWith("/") ? searchPath : searchPath + "/")); String[] returnArray = new String[]{}; - File dir = new File(/*PORTNAMES_PATH*/searchPath); + File dir = new File(searchPath); if(dir.exists() && dir.isDirectory()){ File[] files = dir.listFiles(); if(files.length > 0){ TreeSet portsTree = new TreeSet(comparator); for(File file : files){ String fileName = file.getName(); - if(!file.isDirectory() && !file.isFile() && PORTNAMES_REGEXP.matcher(fileName).find()){ - String portName = /*PORTNAMES_PATH*/searchPath + fileName; + if(!file.isDirectory() && !file.isFile() && pattern.matcher(fileName).find()){ + String portName = searchPath + fileName; if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ int portHandle = serialInterface.openPort(portName, false);//Open port without TIOCEXCL if(portHandle < 0 && portHandle != -1){//If port handle == -1 it's mean that it's busy From 1043354ec1b24d523fa1418d3943c3c2cfed5f7e Mon Sep 17 00:00:00 2001 From: scream3r Date: Fri, 19 Apr 2013 16:52:53 +0400 Subject: [PATCH 047/126] Added methods for advanced port listing by using another search path, RegExp and comparator. Also some internal method were modified --- src/java/jssc/SerialPortList.java | 117 ++++++++++++++++++++++++++---- 1 file changed, 102 insertions(+), 15 deletions(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index f5fa6675b..f3a0d03be 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -71,7 +71,7 @@ public class SerialPortList { } //since 2.1.0 -> Fully rewrited port name comparator - private static Comparator comparator = new Comparator() { + private static final Comparator PORTNAMES_COMPARATOR = new Comparator() { @Override public int compare(String valueA, String valueB) { @@ -157,43 +157,130 @@ private int[] getNumberAndLastIndex(String str, int startIndex) { //<-since 2.1.0 /** - * Get sorted array of serial ports in the system + * Get sorted array of serial ports in the system using default settings:
+ * + * Search path
+ * Windows - ""(always ignored)
+ * Linux - "/dev/"
+ * Solaris - "/dev/term/"
+ * MacOSX - "/dev/"
+ * + * RegExp
+ * Windows - ""
+ * Linux - "(ttyS|ttyUSB|ttyACM|ttyAMA|rfcomm)[0-9]{1,3}"
+ * Solaris - "[0-9]*|[a-z]*"
+ * MacOSX - "tty.(serial|usbserial|usbmodem).*"
* * @return String array. If there is no ports in the system String[] * with zero length will be returned (since jSSC-0.8 in previous versions null will be returned) */ public static String[] getPortNames() { + return getPortNames(PORTNAMES_PATH, PORTNAMES_REGEXP, PORTNAMES_COMPARATOR); + } + + /** + * Get sorted array of serial ports in the system located on searchPath + * + * @param searchPath Path for searching serial ports (not null)
+ * The default search paths:
+ * Linux, MacOSX: /dev/
+ * Solaris: /dev/term/
+ * Windows: this parameter ingored + * + * @return String array. If there is no ports in the system String[] + * + * @since 2.3.0 + */ + public static String[] getPortNames(String searchPath) { + return getPortNames(searchPath, PORTNAMES_REGEXP, PORTNAMES_COMPARATOR); + } + + /** + * Get sorted array of serial ports in the system matched pattern + * + * @param pattern RegExp pattern for matching port names (not null) + * + * @return String array. If there is no ports in the system String[] + * + * @since 2.3.0 + */ + public static String[] getPortNames(Pattern pattern) { + return getPortNames(PORTNAMES_PATH, pattern, PORTNAMES_COMPARATOR); + } + + /** + * Get sorted array of serial ports in the system matched pattern + * + * @param comparator Comparator for sotring port names (not null) + * + * @return String array. If there is no ports in the system String[] + * + * @since 2.3.0 + */ + public static String[] getPortNames(Comparator comparator) { return getPortNames(PORTNAMES_PATH, PORTNAMES_REGEXP, comparator); } /** - * Get sorted array of serial ports in the system, located by setted searchPath. - * In Windows this method equals getPortNames() + * Get sorted array of serial ports in the system located on searchPath, matched pattern * - * @param searchPath Path for searching serial ports. The default search paths:
+ * @param searchPath Path for searching serial ports (not null)
+ * The default search paths:
* Linux, MacOSX: /dev/
* Solaris: /dev/term/
- * Windows: ingored + * Windows: this parameter ingored + * @param pattern RegExp pattern for matching port names (not null) * * @return String array. If there is no ports in the system String[] * * @since 2.3.0 */ - /*public static String[] getPortNames(String searchPath) { - if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_WINDOWS){ - return getPortNames(); - } - return getUnixBasedPortNames(searchPath); - }*/ + public static String[] getPortNames(String searchPath, Pattern pattern) { + return getPortNames(searchPath, pattern, PORTNAMES_COMPARATOR); + } /** - * Get sorted array of serial ports in the system + * Get sorted array of serial ports in the system located on searchPath and sorted by comparator * - * @param searchPath Path for searching serial ports. The default search paths:
+ * @param searchPath Path for searching serial ports (not null)
+ * The default search paths:
* Linux, MacOSX: /dev/
* Solaris: /dev/term/
- * Windows: ingored + * Windows: this parameter ingored + * @param comparator Comparator for sotring port names (not null) + * + * @return String array. If there is no ports in the system String[] + * + * @since 2.3.0 + */ + public static String[] getPortNames(String searchPath, Comparator comparator) { + return getPortNames(searchPath, PORTNAMES_REGEXP, comparator); + } + + /** + * Get sorted array of serial ports in the system matched pattern and sorted by comparator * + * @param pattern RegExp pattern for matching port names (not null) + * @param comparator Comparator for sotring port names (not null) + * + * @return String array. If there is no ports in the system String[] + * + * @since 2.3.0 + */ + public static String[] getPortNames(Pattern pattern, Comparator comparator) { + return getPortNames(PORTNAMES_PATH, pattern, comparator); + } + + /** + * Get sorted array of serial ports in the system located on searchPath, matched pattern and sorted by comparator + * + * @param searchPath Path for searching serial ports (not null)
+ * The default search paths:
+ * Linux, MacOSX: /dev/
+ * Solaris: /dev/term/
+ * Windows: this parameter ingored + * @param pattern RegExp pattern for matching port names (not null) + * @param comparator Comparator for sotring port names (not null) * * @return String array. If there is no ports in the system String[] * From df65d887876d767e605795ae00efd79922593705 Mon Sep 17 00:00:00 2001 From: scream3r Date: Mon, 22 Apr 2013 09:59:59 +0400 Subject: [PATCH 048/126] Added 3 constants to SerialNativeInterface class, and made a little refactoring of SerialPort and SerialPortList classes --- src/java/jssc/SerialNativeInterface.java | 13 +++++++++++++ src/java/jssc/SerialPort.java | 6 +++--- src/java/jssc/SerialPortList.java | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 0138bf23a..dff4a072f 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -46,6 +46,19 @@ public class SerialNativeInterface { private static int osType = -1; + /** + * @since 2.3.0 + */ + public static final int ERR_PORT_BUSY = -1; + /** + * @since 2.3.0 + */ + public static final int ERR_PORT_NOT_FOUND = -2; + /** + * @since 2.3.0 + */ + public static final int ERR_PERMISSION_DENIED = -3; + static { String libFolderPath; String libName; diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 1b5455a34..b719532f7 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -151,13 +151,13 @@ public boolean openPort() throws SerialPortException { else { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_NULL_NOT_PERMITTED);//since 2.1.0 -> NULL port name fix } - if(portHandle == -1){//since 0.9.0 -> + if(portHandle == SerialNativeInterface.ERR_PORT_BUSY){//since 0.9.0 -> throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_BUSY); } - else if(portHandle == -2){ + else if(portHandle == SerialNativeInterface.ERR_PORT_NOT_FOUND){ throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_NOT_FOUND); }//<- since 0.9.0 - else if(portHandle == -3){//since 2.2.0 -> + else if(portHandle == SerialNativeInterface.ERR_PERMISSION_DENIED){//since 2.2.0 -> throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PERMISSION_DENIED); }//<- since 2.2.0 portOpened = true; diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index f3a0d03be..021fc794e 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -332,7 +332,7 @@ private static String[] getUnixBasedPortNames(String searchPath, Pattern pattern String portName = searchPath + fileName; if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ int portHandle = serialInterface.openPort(portName, false);//Open port without TIOCEXCL - if(portHandle < 0 && portHandle != -1){//If port handle == -1 it's mean that it's busy + if(portHandle < 0 && portHandle != SerialNativeInterface.ERR_PORT_BUSY){//If port handle == -1 it's mean that it's busy continue; } else if(portHandle != -1) { From 73c7a6870b4a37c50f302b90668ff4686c81e6a1 Mon Sep 17 00:00:00 2001 From: scream3r Date: Mon, 22 Apr 2013 10:12:52 +0400 Subject: [PATCH 049/126] Added constants into jssc_SerialNativeInterface.h header file --- src/cpp/jssc_SerialNativeInterface.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/cpp/jssc_SerialNativeInterface.h b/src/cpp/jssc_SerialNativeInterface.h index 3b97e3554..039872d17 100644 --- a/src/cpp/jssc_SerialNativeInterface.h +++ b/src/cpp/jssc_SerialNativeInterface.h @@ -39,6 +39,12 @@ extern "C" { #define jssc_SerialNativeInterface_OS_SOLARIS 2L #undef jssc_SerialNativeInterface_OS_MAC_OS_X #define jssc_SerialNativeInterface_OS_MAC_OS_X 3L +#undef jssc_SerialNativeInterface_ERR_PORT_BUSY +#define jssc_SerialNativeInterface_ERR_PORT_BUSY -1L +#undef jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND +#define jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND -2L +#undef jssc_SerialNativeInterface_ERR_PERMISSION_DENIED +#define jssc_SerialNativeInterface_ERR_PERMISSION_DENIED -3L /* * Class: jssc_SerialNativeInterface * Method: openPort From ef28e80bd2a088fc76c82cf7bfcf2c6b63a1b6e7 Mon Sep 17 00:00:00 2001 From: scream3r Date: Mon, 22 Apr 2013 10:16:55 +0400 Subject: [PATCH 050/126] Linux native jssc.cpp little refactoring --- src/cpp/_nix_based/jssc.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 80e56b2cd..08548c3fb 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -70,23 +70,23 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, job fcntl(hComm, F_SETFL, flags); } else { - hComm = -2; + hComm = jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND;//-2; } delete settings; //<- since 2.2.0 } else {//since 0.9 -> if(errno == EBUSY){//Port busy - hComm = -1; + hComm = jssc_SerialNativeInterface_ERR_PORT_BUSY;//-1 } else if(errno == ENOENT){//Port not found - hComm = -2; + hComm = jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND;//-2; }//-> since 2.2.0 else if(errno == EACCES){//Permission denied - hComm = -3; + hComm = jssc_SerialNativeInterface_ERR_PERMISSION_DENIED;//-3; } else { - hComm = -2; + hComm = jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND;//-2; }//<- since 2.2.0 }//<- since 0.9 env->ReleaseStringUTFChars(portName, port); From 44f6fea8fabf0cab7cc8a99db11b910a4c6159f9 Mon Sep 17 00:00:00 2001 From: scream3r Date: Mon, 22 Apr 2013 10:29:15 +0400 Subject: [PATCH 051/126] Added "ERR_INCORRECT_SERIAL_PORT" into SerialNativeInterface class and jssc_SerialNativeInterface.h header file. Also added "TYPE_INCORRECT_SERIAL_PORT" for throwing if "ERR_INCORRECT_SERIAL_PORT" --- src/cpp/jssc_SerialNativeInterface.h | 2 ++ src/java/jssc/SerialNativeInterface.java | 4 ++++ src/java/jssc/SerialPortException.java | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/src/cpp/jssc_SerialNativeInterface.h b/src/cpp/jssc_SerialNativeInterface.h index 039872d17..4fb61e5fe 100644 --- a/src/cpp/jssc_SerialNativeInterface.h +++ b/src/cpp/jssc_SerialNativeInterface.h @@ -45,6 +45,8 @@ extern "C" { #define jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND -2L #undef jssc_SerialNativeInterface_ERR_PERMISSION_DENIED #define jssc_SerialNativeInterface_ERR_PERMISSION_DENIED -3L +#undef jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT +#define jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT -4L /* * Class: jssc_SerialNativeInterface * Method: openPort diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index dff4a072f..dd09a4700 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -58,6 +58,10 @@ public class SerialNativeInterface { * @since 2.3.0 */ public static final int ERR_PERMISSION_DENIED = -3; + /** + * @since 2.3.0 + */ + public static final int ERR_INCORRECT_SERIAL_PORT = -4; static { String libFolderPath; diff --git a/src/java/jssc/SerialPortException.java b/src/java/jssc/SerialPortException.java index 41d7186b1..281c46174 100644 --- a/src/java/jssc/SerialPortException.java +++ b/src/java/jssc/SerialPortException.java @@ -56,6 +56,10 @@ public class SerialPortException extends Exception { * @since 2.2.0 */ final public static String TYPE_PERMISSION_DENIED = "Permission denied"; + /** + * @since 2.3.0 + */ + final public static String TYPE_INCORRECT_SERIAL_PORT = "Incorrect serial port"; private String portName; private String methodName; From 5b5a6041c18bfc4ee071b253c6131d2c84efebee Mon Sep 17 00:00:00 2001 From: scream3r Date: Mon, 22 Apr 2013 10:46:45 +0400 Subject: [PATCH 052/126] Added using of "ERR_INCORRECT_SERIAL_PORT" into SerialPort class. Also made a little refactoring - if/else changed to switch/case in "openPort()" method for handling error --- src/java/jssc/SerialPort.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index b719532f7..06cd58549 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -151,15 +151,18 @@ public boolean openPort() throws SerialPortException { else { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_NULL_NOT_PERMITTED);//since 2.1.0 -> NULL port name fix } - if(portHandle == SerialNativeInterface.ERR_PORT_BUSY){//since 0.9.0 -> - throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_BUSY); + switch(portHandle) { + case SerialNativeInterface.ERR_PORT_BUSY: + throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_BUSY); + case SerialNativeInterface.ERR_PORT_NOT_FOUND: + throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_NOT_FOUND); + case SerialNativeInterface.ERR_PERMISSION_DENIED: + throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PERMISSION_DENIED); + case SerialNativeInterface.ERR_INCORRECT_SERIAL_PORT: + throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_INCORRECT_SERIAL_PORT); + default: + break; } - else if(portHandle == SerialNativeInterface.ERR_PORT_NOT_FOUND){ - throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_NOT_FOUND); - }//<- since 0.9.0 - else if(portHandle == SerialNativeInterface.ERR_PERMISSION_DENIED){//since 2.2.0 -> - throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PERMISSION_DENIED); - }//<- since 2.2.0 portOpened = true; return true; } From f756417b29f466ddb13b69b73142f15dcf4aa0ec Mon Sep 17 00:00:00 2001 From: scream3r Date: Mon, 22 Apr 2013 10:49:45 +0400 Subject: [PATCH 053/126] Linux native part, used "ERR_INCORRECT_SERIAL_PORT" instead of "ERR_PORT_NOT_FOUND" if termios structure for serial port can not be get --- src/cpp/_nix_based/jssc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 08548c3fb..16ea9661e 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -70,7 +70,7 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, job fcntl(hComm, F_SETFL, flags); } else { - hComm = jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND;//-2; + hComm = jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT;//-4; } delete settings; //<- since 2.2.0 From 9544ad46cd153073beba0ea6d9320f374fc7e27b Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Mon, 22 Apr 2013 10:19:21 +0300 Subject: [PATCH 054/126] Windows native part. Added using of "ERR_INCORRECT_SERIAL_PORT", checking the DCB structure on port opening like in _nix based version and a little refactoring was made --- src/cpp/windows/jssc.c++ | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index c1e9f1b71..285117fb7 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -44,27 +44,33 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, job strcat(portFullName, port); //<- since 2.1.0 - HANDLE hComm; - hComm = CreateFile(portFullName, - GENERIC_READ | GENERIC_WRITE, - 0, - 0, - OPEN_EXISTING, - FILE_FLAG_OVERLAPPED, - 0); + HANDLE hComm = CreateFile(portFullName, + GENERIC_READ | GENERIC_WRITE, + 0, + 0, + OPEN_EXISTING, + FILE_FLAG_OVERLAPPED, + 0); env->ReleaseStringUTFChars(portName, port); - //since 0.9 -> - if(hComm == INVALID_HANDLE_VALUE){ + //since 2.3.0 -> + if(hComm != INVALID_HANDLE_VALUE){ + DCB *dcb = new DCB(); + if(!GetCommState(hComm, dcb)){ + hComm = (HANDLE)jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT;//(-4)Incorrect serial port + } + delete dcb; + } + else { DWORD errorValue = GetLastError(); if(errorValue == ERROR_ACCESS_DENIED){ - hComm = (HANDLE)-1;//Port busy + hComm = (HANDLE)jssc_SerialNativeInterface_ERR_PORT_BUSY;//(-1)Port busy } else if(errorValue == ERROR_FILE_NOT_FOUND){ - hComm = (HANDLE)-2;//Port not found + hComm = (HANDLE)jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND;//(-2)Port not found } } - //<- since 0.9 + //<- since 2.3.0 #if defined(_X86_) return (jint)hComm; #elif defined(__x86_64) From 3363195bef583f87552bd0ccc96c81724316fae6 Mon Sep 17 00:00:00 2001 From: scream3r Date: Mon, 22 Apr 2013 11:30:55 +0400 Subject: [PATCH 055/126] Removed port opening only for Linux in "getUnixBasedPortNames()" method of SerialPortList class, now port opening will be used on all _unix_based systems, because it can help to get real serial devices --- src/java/jssc/SerialPortList.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index 021fc794e..5f00ca98b 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -330,14 +330,12 @@ private static String[] getUnixBasedPortNames(String searchPath, Pattern pattern String fileName = file.getName(); if(!file.isDirectory() && !file.isFile() && pattern.matcher(fileName).find()){ String portName = searchPath + fileName; - if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ - int portHandle = serialInterface.openPort(portName, false);//Open port without TIOCEXCL - if(portHandle < 0 && portHandle != SerialNativeInterface.ERR_PORT_BUSY){//If port handle == -1 it's mean that it's busy - continue; - } - else if(portHandle != -1) { - serialInterface.closePort(portHandle); - } + int portHandle = serialInterface.openPort(portName, false);//Open port without TIOCEXCL + if(portHandle < 0 && portHandle != SerialNativeInterface.ERR_PORT_BUSY){ + continue; + } + else if(portHandle != SerialNativeInterface.ERR_PORT_BUSY) { + serialInterface.closePort(portHandle); } portsTree.add(portName); } From 394bebd794e4594654d9939fe4dd0f0b8a0f21c3 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 23 Apr 2013 11:28:54 +0300 Subject: [PATCH 056/126] Added fix for issue #10. If user home folder is read-only, the native library will be unpacked into temp folder --- src/java/jssc/SerialNativeInterface.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index dd09a4700..b6cd70d24 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -71,6 +71,11 @@ public class SerialNativeInterface { String architecture = System.getProperty("os.arch"); String userHome = System.getProperty("user.home"); String fileSeparator = System.getProperty("file.separator"); + String tmpFolder = System.getProperty("java.io.tmpdir"); + + //since 2.3.0 -> + String libRootFolder = new File(userHome).canWrite() ? userHome : tmpFolder; + //<- since 2.3.0 String javaLibPath = System.getProperty("java.library.path");//since 2.1.0 @@ -122,7 +127,7 @@ else if(architecture.equals("arm")) {//since 2.1.0 architecture = "arm" + floatStr; } - libFolderPath = userHome + fileSeparator + ".jssc" + fileSeparator + osName; + libFolderPath = libRootFolder + fileSeparator + ".jssc" + fileSeparator + osName; libName = "jSSC-" + libVersion + "_" + architecture; libName = System.mapLibraryName(libName); From 7f44d125aa9ddf950a79d06a67705427e3edeba5 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 23 Apr 2013 15:15:18 +0300 Subject: [PATCH 057/126] Removed 0.9 Windows native libs --- src/java/libs/windows/jSSC-0.9_x86.dll | Bin 62976 -> 0 bytes src/java/libs/windows/jSSC-0.9_x86_64.dll | Bin 93696 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/windows/jSSC-0.9_x86.dll delete mode 100644 src/java/libs/windows/jSSC-0.9_x86_64.dll diff --git a/src/java/libs/windows/jSSC-0.9_x86.dll b/src/java/libs/windows/jSSC-0.9_x86.dll deleted file mode 100644 index 9f0fcec9ea87efa6f6d069e9f1e0218adc5b2114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62976 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 gp|M(~N-X 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 From e8cfc9b7eaf03b43c5673b7902ad4590bed7ac15 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Tue, 23 Apr 2013 15:15:42 +0300 Subject: [PATCH 058/126] Added 2.3 Windows native libs --- src/java/libs/windows/jSSC-2.3_x86.dll | Bin 0 -> 66560 bytes src/java/libs/windows/jSSC-2.3_x86_64.dll | Bin 0 -> 122368 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/java/libs/windows/jSSC-2.3_x86.dll create mode 100644 src/java/libs/windows/jSSC-2.3_x86_64.dll diff --git a/src/java/libs/windows/jSSC-2.3_x86.dll b/src/java/libs/windows/jSSC-2.3_x86.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7cf5e31ee16caf8d839246303533afd58fb08b0 GIT binary patch literal 66560 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 BI$Qt% literal 0 HcmV?d00001 diff --git a/src/java/libs/windows/jSSC-2.3_x86_64.dll b/src/java/libs/windows/jSSC-2.3_x86_64.dll new file mode 100644 index 0000000000000000000000000000000000000000..a8abc99f37e6948409c9ea9cde1ef3eb4349cc3e GIT binary patch literal 122368 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 G1pW>5mRx24 literal 0 HcmV?d00001 From c7a199c98c8814a8c77629c82e0f20059c2fd2a7 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Wed, 24 Apr 2013 13:21:10 +0300 Subject: [PATCH 059/126] Readme update --- README.txt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.txt b/README.txt index 6216a2aba..f5c729852 100644 --- a/README.txt +++ b/README.txt @@ -1,7 +1,13 @@ -jSSC-2.3.0 in development - +jSSC-2.4.0 in development + +* Fixed native lib extraction path if user home is read only, in this situation lib will be extracted to tmp folder +* Added new exception TYPE_INCORRECT_SERIAL_PORT +* Added "ERR_" constants into SerialNativeInterface +* Added some syntax sugar to SerialPortList class, for changing search path, RegExp and comparator +* Added rfcomm (bluetooth devices in Linux) to Linux RegExp +* Added JSSC_NO_TIOCEXCL JVM property for disable using of exclusive access to serial port * Important! Fixed bug with garbage reading on Linux, MacOSX, Solaris, cause of incorrect using of VMIN and VTIME. Now "read" methods works correctly and are blocking like in Windows -* Added termios structure cheking on port opening, it helps separate real serial devices from others +* Added termios(_nix) and DCB(Windows) structure cheking on port opening, it helps separate real serial devices from others * Added new exception TYPE_PERMISSION_DENIED. It can be very useful for _nix based system if user have no permissions for using serial device * Added timeouts for read operations and SerialPortTimeoutException class for catching timeout exceptions * Added Raspberry Pi support Hard & Soft float From d818ecb60a41b2510a45cba3180d1fc189322998 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 24 Apr 2013 15:44:09 +0400 Subject: [PATCH 060/126] Changed port handle from "int" to "long" type, to prevent Win64 HANDLE problems. Don't ever seen this problem, but theory it could be --- src/java/jssc/SerialNativeInterface.java | 40 ++++++++++++------------ src/java/jssc/SerialPort.java | 24 +++++++------- src/java/jssc/SerialPortList.java | 2 +- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index b6cd70d24..b5967bb66 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -49,19 +49,19 @@ public class SerialNativeInterface { /** * @since 2.3.0 */ - public static final int ERR_PORT_BUSY = -1; + public static final long ERR_PORT_BUSY = -1; /** * @since 2.3.0 */ - public static final int ERR_PORT_NOT_FOUND = -2; + public static final long ERR_PORT_NOT_FOUND = -2; /** * @since 2.3.0 */ - public static final int ERR_PERMISSION_DENIED = -3; + public static final long ERR_PERMISSION_DENIED = -3; /** * @since 2.3.0 */ - public static final int ERR_INCORRECT_SERIAL_PORT = -4; + public static final long ERR_INCORRECT_SERIAL_PORT = -4; static { String libFolderPath; @@ -284,7 +284,7 @@ public static String getLibraryMinorSuffix() { * * @return handle of opened port or -1 if opening of the port was unsuccessful */ - public native int openPort(String portName, boolean useTIOCEXCL); + public native long openPort(String portName, boolean useTIOCEXCL); /** * Setting the parameters of opened port @@ -299,7 +299,7 @@ public static String getLibraryMinorSuffix() { * * @return If the operation is successfully completed, the method returns true, otherwise false */ - public native boolean setParams(int handle, int baudRate, int dataBits, int stopBits, int parity, boolean setRTS, boolean setDTR); + public native boolean setParams(long handle, int baudRate, int dataBits, int stopBits, int parity, boolean setRTS, boolean setDTR); /** * Purge of input and output buffer @@ -309,7 +309,7 @@ public static String getLibraryMinorSuffix() { * * @return If the operation is successfully completed, the method returns true, otherwise false */ - public native boolean purgePort(int handle, int flags); + public native boolean purgePort(long handle, int flags); /** * Close port @@ -318,7 +318,7 @@ public static String getLibraryMinorSuffix() { * * @return If the operation is successfully completed, the method returns true, otherwise false */ - public native boolean closePort(int handle); + public native boolean closePort(long handle); /** * Set events mask @@ -328,7 +328,7 @@ public static String getLibraryMinorSuffix() { * * @return If the operation is successfully completed, the method returns true, otherwise false */ - public native boolean setEventsMask(int handle, int mask); + public native boolean setEventsMask(long handle, int mask); /** * Get events mask @@ -337,7 +337,7 @@ public static String getLibraryMinorSuffix() { * * @return Method returns event mask as a variable of int type */ - public native int getEventsMask(int handle); + public native int getEventsMask(long handle); /** * Wait events @@ -347,7 +347,7 @@ public static String getLibraryMinorSuffix() { * @return Method returns two-dimensional array containing event types and their values * (events[i][0] - event type, events[i][1] - event value). */ - public native int[][] waitEvents(int handle); + public native int[][] waitEvents(long handle); /** * Change RTS line state @@ -357,7 +357,7 @@ public static String getLibraryMinorSuffix() { * * @return If the operation is successfully completed, the method returns true, otherwise false */ - public native boolean setRTS(int handle, boolean value); + public native boolean setRTS(long handle, boolean value); /** * Change DTR line state @@ -367,7 +367,7 @@ public static String getLibraryMinorSuffix() { * * @return If the operation is successfully completed, the method returns true, otherwise false */ - public native boolean setDTR(int handle, boolean value); + public native boolean setDTR(long handle, boolean value); /** * Read data from port @@ -377,7 +377,7 @@ public static String getLibraryMinorSuffix() { * * @return Method returns the array of read bytes */ - public native byte[] readBytes(int handle, int byteCount); + public native byte[] readBytes(long handle, int byteCount); /** * Write data to port @@ -387,7 +387,7 @@ public static String getLibraryMinorSuffix() { * * @return If the operation is successfully completed, the method returns true, otherwise false */ - public native boolean writeBytes(int handle, byte[] buffer); + public native boolean writeBytes(long handle, byte[] buffer); /** * Get bytes count in buffers of port @@ -400,7 +400,7 @@ public static String getLibraryMinorSuffix() { * * @since 0.8 */ - public native int[] getBuffersBytesCount(int handle); + public native int[] getBuffersBytesCount(long handle); /** * Set flow control mode @@ -412,7 +412,7 @@ public static String getLibraryMinorSuffix() { * * @since 0.8 */ - public native boolean setFlowControlMode(int handle, int mask); + public native boolean setFlowControlMode(long handle, int mask); /** * Get flow control mode @@ -423,7 +423,7 @@ public static String getLibraryMinorSuffix() { * * @since 0.8 */ - public native int getFlowControlMode(int handle); + public native int getFlowControlMode(long handle); /** * Get serial port names like an array of String @@ -443,7 +443,7 @@ public static String getLibraryMinorSuffix() { *
element 2 - RING line state
*
element 3 - RLSD line state
*/ - public native int[] getLinesStatus(int handle); + public native int[] getLinesStatus(long handle); /** * Send Break singnal for setted duration @@ -454,5 +454,5 @@ public static String getLibraryMinorSuffix() { * * @since 0.8 */ - public native boolean sendBreak(int handle, int duration); + public native boolean sendBreak(long handle, int duration); } diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 06cd58549..181f72c9a 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -34,7 +34,7 @@ public class SerialPort { private SerialNativeInterface serialInterface; private SerialPortEventListener eventListener; - private int portHandle; + private long portHandle; private String portName; private boolean portOpened = false; private boolean maskAssigned = false; @@ -151,17 +151,17 @@ public boolean openPort() throws SerialPortException { else { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_NULL_NOT_PERMITTED);//since 2.1.0 -> NULL port name fix } - switch(portHandle) { - case SerialNativeInterface.ERR_PORT_BUSY: - throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_BUSY); - case SerialNativeInterface.ERR_PORT_NOT_FOUND: - throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_NOT_FOUND); - case SerialNativeInterface.ERR_PERMISSION_DENIED: - throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PERMISSION_DENIED); - case SerialNativeInterface.ERR_INCORRECT_SERIAL_PORT: - throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_INCORRECT_SERIAL_PORT); - default: - break; + if(portHandle == SerialNativeInterface.ERR_PORT_BUSY){ + throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_BUSY); + } + else if(portHandle == SerialNativeInterface.ERR_PORT_NOT_FOUND){ + throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_NOT_FOUND); + } + else if(portHandle == SerialNativeInterface.ERR_PERMISSION_DENIED){ + throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PERMISSION_DENIED); + } + else if(portHandle == SerialNativeInterface.ERR_INCORRECT_SERIAL_PORT){ + throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_INCORRECT_SERIAL_PORT); } portOpened = true; return true; diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index 5f00ca98b..bd97d55b1 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -330,7 +330,7 @@ private static String[] getUnixBasedPortNames(String searchPath, Pattern pattern String fileName = file.getName(); if(!file.isDirectory() && !file.isFile() && pattern.matcher(fileName).find()){ String portName = searchPath + fileName; - int portHandle = serialInterface.openPort(portName, false);//Open port without TIOCEXCL + long portHandle = serialInterface.openPort(portName, false);//Open port without TIOCEXCL if(portHandle < 0 && portHandle != SerialNativeInterface.ERR_PORT_BUSY){ continue; } From f83f0d397e24db4727c3f8e04ccc492f4ab2dc63 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 24 Apr 2013 16:08:12 +0400 Subject: [PATCH 061/126] Updated "jssc_SerialNativeInterface.h" header file. jint changed to jlong --- src/cpp/jssc_SerialNativeInterface.h | 72 ++++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/cpp/jssc_SerialNativeInterface.h b/src/cpp/jssc_SerialNativeInterface.h index 4fb61e5fe..237b02422 100644 --- a/src/cpp/jssc_SerialNativeInterface.h +++ b/src/cpp/jssc_SerialNativeInterface.h @@ -40,124 +40,124 @@ extern "C" { #undef jssc_SerialNativeInterface_OS_MAC_OS_X #define jssc_SerialNativeInterface_OS_MAC_OS_X 3L #undef jssc_SerialNativeInterface_ERR_PORT_BUSY -#define jssc_SerialNativeInterface_ERR_PORT_BUSY -1L +#define jssc_SerialNativeInterface_ERR_PORT_BUSY -1LL #undef jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND -#define jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND -2L +#define jssc_SerialNativeInterface_ERR_PORT_NOT_FOUND -2LL #undef jssc_SerialNativeInterface_ERR_PERMISSION_DENIED -#define jssc_SerialNativeInterface_ERR_PERMISSION_DENIED -3L +#define jssc_SerialNativeInterface_ERR_PERMISSION_DENIED -3LL #undef jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT -#define jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT -4L +#define jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT -4LL /* * Class: jssc_SerialNativeInterface * Method: openPort - * Signature: (Ljava/lang/String;Z)I + * Signature: (Ljava/lang/String;Z)J */ -JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort +JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort (JNIEnv *, jobject, jstring, jboolean); /* * Class: jssc_SerialNativeInterface * Method: setParams - * Signature: (IIIIIZZ)Z + * Signature: (JIIIIZZ)Z */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams - (JNIEnv *, jobject, jint, jint, jint, jint, jint, jboolean, jboolean); + (JNIEnv *, jobject, jlong, jint, jint, jint, jint, jboolean, jboolean); /* * Class: jssc_SerialNativeInterface * Method: purgePort - * Signature: (II)Z + * Signature: (JI)Z */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_purgePort - (JNIEnv *, jobject, jint, jint); + (JNIEnv *, jobject, jlong, jint); /* * Class: jssc_SerialNativeInterface * Method: closePort - * Signature: (I)Z + * Signature: (J)Z */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_closePort - (JNIEnv *, jobject, jint); + (JNIEnv *, jobject, jlong); /* * Class: jssc_SerialNativeInterface * Method: setEventsMask - * Signature: (II)Z + * Signature: (JI)Z */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setEventsMask - (JNIEnv *, jobject, jint, jint); + (JNIEnv *, jobject, jlong, jint); /* * Class: jssc_SerialNativeInterface * Method: getEventsMask - * Signature: (I)I + * Signature: (J)I */ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_getEventsMask - (JNIEnv *, jobject, jint); + (JNIEnv *, jobject, jlong); /* * Class: jssc_SerialNativeInterface * Method: waitEvents - * Signature: (I)[[I + * Signature: (J)[[I */ JNIEXPORT jobjectArray JNICALL Java_jssc_SerialNativeInterface_waitEvents - (JNIEnv *, jobject, jint); + (JNIEnv *, jobject, jlong); /* * Class: jssc_SerialNativeInterface * Method: setRTS - * Signature: (IZ)Z + * Signature: (JZ)Z */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setRTS - (JNIEnv *, jobject, jint, jboolean); + (JNIEnv *, jobject, jlong, jboolean); /* * Class: jssc_SerialNativeInterface * Method: setDTR - * Signature: (IZ)Z + * Signature: (JZ)Z */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setDTR - (JNIEnv *, jobject, jint, jboolean); + (JNIEnv *, jobject, jlong, jboolean); /* * Class: jssc_SerialNativeInterface * Method: readBytes - * Signature: (II)[B + * Signature: (JI)[B */ JNIEXPORT jbyteArray JNICALL Java_jssc_SerialNativeInterface_readBytes - (JNIEnv *, jobject, jint, jint); + (JNIEnv *, jobject, jlong, jint); /* * Class: jssc_SerialNativeInterface * Method: writeBytes - * Signature: (I[B)Z + * Signature: (J[B)Z */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_writeBytes - (JNIEnv *, jobject, jint, jbyteArray); + (JNIEnv *, jobject, jlong, jbyteArray); /* * Class: jssc_SerialNativeInterface * Method: getBuffersBytesCount - * Signature: (I)[I + * Signature: (J)[I */ JNIEXPORT jintArray JNICALL Java_jssc_SerialNativeInterface_getBuffersBytesCount - (JNIEnv *, jobject, jint); + (JNIEnv *, jobject, jlong); /* * Class: jssc_SerialNativeInterface * Method: setFlowControlMode - * Signature: (II)Z + * Signature: (JI)Z */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setFlowControlMode - (JNIEnv *, jobject, jint, jint); + (JNIEnv *, jobject, jlong, jint); /* * Class: jssc_SerialNativeInterface * Method: getFlowControlMode - * Signature: (I)I + * Signature: (J)I */ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_getFlowControlMode - (JNIEnv *, jobject, jint); + (JNIEnv *, jobject, jlong); /* * Class: jssc_SerialNativeInterface @@ -170,18 +170,18 @@ JNIEXPORT jobjectArray JNICALL Java_jssc_SerialNativeInterface_getSerialPortName /* * Class: jssc_SerialNativeInterface * Method: getLinesStatus - * Signature: (I)[I + * Signature: (J)[I */ JNIEXPORT jintArray JNICALL Java_jssc_SerialNativeInterface_getLinesStatus - (JNIEnv *, jobject, jint); + (JNIEnv *, jobject, jlong); /* * Class: jssc_SerialNativeInterface * Method: sendBreak - * Signature: (II)Z + * Signature: (JI)Z */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_sendBreak - (JNIEnv *, jobject, jint, jint); + (JNIEnv *, jobject, jlong, jint); #ifdef __cplusplus } From aa73deab573136873f0950e9827f266ae061f6c2 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 24 Apr 2013 16:41:49 +0400 Subject: [PATCH 062/126] Updated _nix "jssc.cpp" file. jint changed to jlong --- src/cpp/_nix_based/jssc.cpp | 39 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 16ea9661e..d03244ce3 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -52,10 +52,9 @@ * * In 2.2.0 added useTIOCEXCL */ -JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName, jboolean useTIOCEXCL){ +JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName, jboolean useTIOCEXCL){ const char* port = env->GetStringUTFChars(portName, JNI_FALSE); - jint hComm; - hComm = open(port, O_RDWR | O_NOCTTY | O_NDELAY); + jlong hComm = open(port, O_RDWR | O_NOCTTY | O_NDELAY); if(hComm != -1){ //since 2.2.0 -> (check termios structure for separating real serial devices from others) termios *settings = new termios(); @@ -223,7 +222,7 @@ int getDataBitsByNum(jint byteSize) { * Set serial port settings */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams - (JNIEnv *env, jobject object, jint portHandle, jint baudRate, jint byteSize, jint stopBits, jint parity, jboolean setRTS, jboolean setDTR){ + (JNIEnv *env, jobject object, jlong portHandle, jint baudRate, jint byteSize, jint stopBits, jint parity, jboolean setRTS, jboolean setDTR){ jboolean returnValue = JNI_FALSE; speed_t baudRateValue = getBaudRateByNum(baudRate); @@ -396,7 +395,7 @@ const jint PURGE_TXCLEAR = 0x0004; * PurgeComm */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_purgePort - (JNIEnv *env, jobject object, jint portHandle, jint flags){ + (JNIEnv *env, jobject object, jlong portHandle, jint flags){ int clearValue = -1; if((flags & PURGE_RXCLEAR) && (flags & PURGE_TXCLEAR)){ clearValue = TCIOFLUSH; @@ -419,7 +418,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_purgePort /* OK */ /* Closing the port */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_closePort - (JNIEnv *env, jobject object, jint portHandle){ + (JNIEnv *env, jobject object, jlong portHandle){ #if defined TIOCNXCL && !defined __SunOS ioctl(portHandle, TIOCNXCL);//since 2.1.0 Clear exclusive port access on closing #endif @@ -431,7 +430,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_closePort * Setting events mask */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setEventsMask - (JNIEnv *env, jobject object, jint portHandle, jint mask){ + (JNIEnv *env, jobject object, jlong portHandle, jint mask){ //Don't needed in linux, implemented in java code return JNI_TRUE; } @@ -441,7 +440,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setEventsMask * Getting events mask */ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_getEventsMask - (JNIEnv *env, jobject object, jint portHandle){ + (JNIEnv *env, jobject object, jlong portHandle){ //Don't needed in linux, implemented in java code return -1; } @@ -451,7 +450,7 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_getEventsMask * RTS line status changing (ON || OFF) */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setRTS - (JNIEnv *env, jobject object, jint portHandle, jboolean enabled){ + (JNIEnv *env, jobject object, jlong portHandle, jboolean enabled){ int returnValue = 0; int lineStatus; ioctl(portHandle, TIOCMGET, &lineStatus); @@ -470,7 +469,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setRTS * DTR line status changing (ON || OFF) */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setDTR - (JNIEnv *env, jobject object, jint portHandle, jboolean enabled){ + (JNIEnv *env, jobject object, jlong portHandle, jboolean enabled){ int returnValue = 0; int lineStatus; ioctl(portHandle, TIOCMGET, &lineStatus); @@ -489,7 +488,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setDTR * Writing data to the port */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_writeBytes - (JNIEnv *env, jobject object, jint portHandle, jbyteArray buffer){ + (JNIEnv *env, jobject object, jlong portHandle, jbyteArray buffer){ jbyte* jBuffer = env->GetByteArrayElements(buffer, JNI_FALSE); jint bufferSize = env->GetArrayLength(buffer); jint result = write(portHandle, jBuffer, (size_t)bufferSize); @@ -505,7 +504,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_writeBytes * it makes read operation blocking, like in Windows version, and prevent reading of garbage) */ JNIEXPORT jbyteArray JNICALL Java_jssc_SerialNativeInterface_readBytes - (JNIEnv *env, jobject object, jint portHandle, jint byteCount){ + (JNIEnv *env, jobject object, jlong portHandle, jint byteCount){ termios *settings = new termios(); if(tcgetattr(portHandle, settings) == 0){ if(settings->c_cc[VMIN] != byteCount){ @@ -527,7 +526,7 @@ JNIEXPORT jbyteArray JNICALL Java_jssc_SerialNativeInterface_readBytes * Get bytes count in serial port buffers (Input and Output) */ JNIEXPORT jintArray JNICALL Java_jssc_SerialNativeInterface_getBuffersBytesCount - (JNIEnv *env, jobject object, jint portHandle){ + (JNIEnv *env, jobject object, jlong portHandle){ jint returnValues[2]; returnValues[0] = -1; //Input buffer returnValues[1] = -1; //Output buffer @@ -549,7 +548,7 @@ const jint FLOWCONTROL_XONXOFF_OUT = 8; * Setting flow control mode */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setFlowControlMode - (JNIEnv *env, jobject object, jint portHandle, jint mask){ + (JNIEnv *env, jobject object, jlong portHandle, jint mask){ jboolean returnValue = JNI_FALSE; termios *settings = new termios(); if(tcgetattr(portHandle, settings) == 0){ @@ -579,7 +578,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setFlowControlMode * Getting flow control mode */ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_getFlowControlMode - (JNIEnv *env, jobject object, jint portHandle){ + (JNIEnv *env, jobject object, jlong portHandle){ jint returnValue = 0; termios *settings = new termios(); if(tcgetattr(portHandle, settings) == 0){ @@ -601,7 +600,7 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_getFlowControlMode * Send break for setted duration */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_sendBreak - (JNIEnv *env, jobject object, jint portHandle, jint duration){ + (JNIEnv *env, jobject object, jlong portHandle, jint duration){ jboolean returnValue = JNI_FALSE; if(duration > 0){ if(ioctl(portHandle, TIOCSBRK, 0) >= 0){ @@ -625,7 +624,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_sendBreak * Return "statusLines" from ioctl(portHandle, TIOCMGET, &statusLines) * Need for "_waitEvents" and "_getLinesStatus" */ -int getLinesStatus(jint portHandle) { +int getLinesStatus(jlong portHandle) { int statusLines; ioctl(portHandle, TIOCMGET, &statusLines); return statusLines; @@ -643,7 +642,7 @@ int getLinesStatus(jint portHandle) { * 3 - Overrun * 4 - Parity */ -void getInterruptsCount(jint portHandle, int intArray[]) { +void getInterruptsCount(jlong portHandle, int intArray[]) { #ifdef TIOCGICOUNT struct serial_icounter_struct *icount = new serial_icounter_struct(); if(ioctl(portHandle, TIOCGICOUNT, icount) >= 0){ @@ -689,7 +688,7 @@ const jint events[] = {INTERRUPT_BREAK, * */ JNIEXPORT jobjectArray JNICALL Java_jssc_SerialNativeInterface_waitEvents - (JNIEnv *env, jobject object, jint portHandle) { + (JNIEnv *env, jobject object, jlong portHandle) { jclass intClass = env->FindClass("[I"); jobjectArray returnArray = env->NewObjectArray(sizeof(events)/sizeof(jint), intClass, NULL); @@ -812,7 +811,7 @@ JNIEXPORT jobjectArray JNICALL Java_jssc_SerialNativeInterface_getSerialPortName * returnValues[3] - RLSD(DCD) */ JNIEXPORT jintArray JNICALL Java_jssc_SerialNativeInterface_getLinesStatus - (JNIEnv *env, jobject object, jint portHandle){ + (JNIEnv *env, jobject object, jlong portHandle){ jint returnValues[4]; for(jint i = 0; i < 4; i++){ returnValues[i] = 0; From 33d9953eb02f7e9a62abe74058ca6a1cd51179a4 Mon Sep 17 00:00:00 2001 From: scream3r Date: Wed, 24 Apr 2013 16:43:18 +0400 Subject: [PATCH 063/126] Updated library version to 2.4 --- src/java/jssc/SerialNativeInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index b5967bb66..1cc2f0cda 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -36,7 +36,7 @@ */ public class SerialNativeInterface { - private static final String libVersion = "2.3"; //jSSC-0.9.0 Release from 21.12.2011 + private static final String libVersion = "2.4"; //jSSC-0.9.0 Release from 21.12.2011 private static final String libMinorSuffix = "0"; //since 0.9.0 public static final int OS_LINUX = 0; From 771f1caca9515463490e55f236f5a522d843a6f2 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Wed, 24 Apr 2013 15:58:08 +0300 Subject: [PATCH 064/126] Updated Windows "jssc.c++" file. jint changed to jlong --- src/cpp/windows/jssc.c++ | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index 285117fb7..696783b25 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2013. * * This file is part of jSSC. * @@ -34,7 +34,7 @@ * * In 2.2.0 added useTIOCEXCL (not used only for compatibility with _nix version) */ -JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName, jboolean useTIOCEXCL){ +JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName, jboolean useTIOCEXCL){ char prefix[] = "\\\\.\\"; const char* port = env->GetStringUTFChars(portName, JNI_FALSE); @@ -71,18 +71,14 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, job } } //<- since 2.3.0 -#if defined(_X86_) - return (jint)hComm; -#elif defined(__x86_64) - return (intptr_t)hComm; -#endif + return (jlong)hComm;//since 2.4.0 changed to jlong }; /* * Setting serial port params. */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams - (JNIEnv *env, jobject object, jint portHandle, jint baudRate, jint byteSize, jint stopBits, jint parity, jboolean setRTS, jboolean setDTR){ + (JNIEnv *env, jobject object, jlong portHandle, jint baudRate, jint byteSize, jint stopBits, jint parity, jboolean setRTS, jboolean setDTR){ HANDLE hComm = (HANDLE)portHandle; DCB *dcb = new DCB(); jboolean returnValue = JNI_FALSE; @@ -144,7 +140,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams * PurgeComm */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_purgePort - (JNIEnv *env, jobject object, jint portHandle, jint flags){ + (JNIEnv *env, jobject object, jlong portHandle, jint flags){ HANDLE hComm = (HANDLE)portHandle; DWORD dwFlags = (DWORD)flags; return (PurgeComm(hComm, dwFlags) ? JNI_TRUE : JNI_FALSE); @@ -154,7 +150,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_purgePort * Port closing */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_closePort - (JNIEnv *env, jobject object, jint portHandle){ + (JNIEnv *env, jobject object, jlong portHandle){ HANDLE hComm = (HANDLE)portHandle; return (CloseHandle(hComm) ? JNI_TRUE : JNI_FALSE); } @@ -163,7 +159,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_closePort * Set events mask */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setEventsMask - (JNIEnv *env, jobject object, jint portHandle, jint mask){ + (JNIEnv *env, jobject object, jlong portHandle, jint mask){ HANDLE hComm = (HANDLE)portHandle; DWORD dwEvtMask = (DWORD)mask; return (SetCommMask(hComm, dwEvtMask) ? JNI_TRUE : JNI_FALSE); @@ -173,7 +169,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setEventsMask * Get events mask */ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_getEventsMask - (JNIEnv *env, jobject object, jint portHandle){ + (JNIEnv *env, jobject object, jlong portHandle){ HANDLE hComm = (HANDLE)portHandle; DWORD lpEvtMask; if(GetCommMask(hComm, &lpEvtMask)){ @@ -188,7 +184,7 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_getEventsMask * Change RTS line state (ON || OFF) */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setRTS - (JNIEnv *env, jobject object, jint portHandle, jboolean enabled){ + (JNIEnv *env, jobject object, jlong portHandle, jboolean enabled){ HANDLE hComm = (HANDLE)portHandle; if(enabled == JNI_TRUE){ return (EscapeCommFunction(hComm, SETRTS) ? JNI_TRUE : JNI_FALSE); @@ -202,7 +198,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setRTS * Change DTR line state (ON || OFF) */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setDTR - (JNIEnv *env, jobject object, jint portHandle, jboolean enabled){ + (JNIEnv *env, jobject object, jlong portHandle, jboolean enabled){ HANDLE hComm = (HANDLE)portHandle; if(enabled == JNI_TRUE){ return (EscapeCommFunction(hComm, SETDTR) ? JNI_TRUE : JNI_FALSE); @@ -218,7 +214,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setDTR * buffer - byte array for sending */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_writeBytes - (JNIEnv *env, jobject object, jint portHandle, jbyteArray buffer){ + (JNIEnv *env, jobject object, jlong portHandle, jbyteArray buffer){ HANDLE hComm = (HANDLE)portHandle; DWORD lpNumberOfBytesTransferred; DWORD lpNumberOfBytesWritten; @@ -248,7 +244,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_writeBytes * byteCount - count of bytes for reading */ JNIEXPORT jbyteArray JNICALL Java_jssc_SerialNativeInterface_readBytes - (JNIEnv *env, jobject object, jint portHandle, jint byteCount){ + (JNIEnv *env, jobject object, jlong portHandle, jint byteCount){ HANDLE hComm = (HANDLE)portHandle; DWORD lpNumberOfBytesTransferred; DWORD lpNumberOfBytesRead; @@ -275,7 +271,7 @@ JNIEXPORT jbyteArray JNICALL Java_jssc_SerialNativeInterface_readBytes * Get bytes count in serial port buffers (Input and Output) */ JNIEXPORT jintArray JNICALL Java_jssc_SerialNativeInterface_getBuffersBytesCount - (JNIEnv *env, jobject object, jint portHandle){ + (JNIEnv *env, jobject object, jlong portHandle){ HANDLE hComm = (HANDLE)portHandle; jint returnValues[2]; returnValues[0] = -1; @@ -310,7 +306,7 @@ const jint FLOWCONTROL_XONXOFF_OUT = 8; * since 0.8 */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setFlowControlMode - (JNIEnv *env, jobject object, jint portHandle, jint mask){ + (JNIEnv *env, jobject object, jlong portHandle, jint mask){ HANDLE hComm = (HANDLE)portHandle; jboolean returnValue = JNI_FALSE; DCB *dcb = new DCB(); @@ -347,7 +343,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setFlowControlMode * since 0.8 */ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_getFlowControlMode - (JNIEnv *env, jobject object, jint portHandle){ + (JNIEnv *env, jobject object, jlong portHandle){ HANDLE hComm = (HANDLE)portHandle; jint returnValue = 0; DCB *dcb = new DCB(); @@ -375,7 +371,7 @@ JNIEXPORT jint JNICALL Java_jssc_SerialNativeInterface_getFlowControlMode * since 0.8 */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_sendBreak - (JNIEnv *env, jobject object, jint portHandle, jint duration){ + (JNIEnv *env, jobject object, jlong portHandle, jint duration){ HANDLE hComm = (HANDLE)portHandle; jboolean returnValue = JNI_FALSE; if(duration > 0){ @@ -394,7 +390,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_sendBreak * portHandle - port handle */ JNIEXPORT jobjectArray JNICALL Java_jssc_SerialNativeInterface_waitEvents - (JNIEnv *env, jobject object, jint portHandle) { + (JNIEnv *env, jobject object, jlong portHandle) { HANDLE hComm = (HANDLE)portHandle; DWORD lpEvtMask = 0; DWORD lpNumberOfBytesTransferred = 0; @@ -660,7 +656,7 @@ JNIEXPORT jobjectArray JNICALL Java_jssc_SerialNativeInterface_getSerialPortName * */ JNIEXPORT jintArray JNICALL Java_jssc_SerialNativeInterface_getLinesStatus - (JNIEnv *env, jobject object, jint portHandle){ + (JNIEnv *env, jobject object, jlong portHandle){ HANDLE hComm = (HANDLE)portHandle; DWORD lpModemStat; jint returnValues[4]; From 30accf3130be8c9149e53eb19952fc2519861a9c Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 25 Apr 2013 09:33:05 +0300 Subject: [PATCH 065/126] Readme file update --- README.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/README.txt b/README.txt index f5c729852..86eaad28b 100644 --- a/README.txt +++ b/README.txt @@ -1,5 +1,6 @@ jSSC-2.4.0 in development +* The port handle now stored in variable of type "long" instead of "int", to prevent potential problems with type conversions on Win64 * Fixed native lib extraction path if user home is read only, in this situation lib will be extracted to tmp folder * Added new exception TYPE_INCORRECT_SERIAL_PORT * Added "ERR_" constants into SerialNativeInterface From d613a3dabed5f999255b48e8ffc30408420f19d5 Mon Sep 17 00:00:00 2001 From: scream3r Date: Thu, 25 Apr 2013 15:00:00 +0400 Subject: [PATCH 066/126] Enabled using of TIOCEXCL and TIOCNXCL for Solaris OS (SunOS) --- src/cpp/_nix_based/jssc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index d03244ce3..55df8632f 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -59,7 +59,7 @@ JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jo //since 2.2.0 -> (check termios structure for separating real serial devices from others) termios *settings = new termios(); if(tcgetattr(hComm, settings) == 0){ - #if defined TIOCEXCL && !defined __SunOS + #if defined TIOCEXCL //&& !defined __SunOS if(useTIOCEXCL == JNI_TRUE){ ioctl(hComm, TIOCEXCL); } @@ -419,7 +419,7 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_purgePort /* Closing the port */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_closePort (JNIEnv *env, jobject object, jlong portHandle){ -#if defined TIOCNXCL && !defined __SunOS +#if defined TIOCNXCL //&& !defined __SunOS ioctl(portHandle, TIOCNXCL);//since 2.1.0 Clear exclusive port access on closing #endif return close(portHandle) == 0 ? JNI_TRUE : JNI_FALSE; From 9b2554b8de6eaa1adeae9909ed47e95422f0e831 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 25 Apr 2013 14:41:40 +0300 Subject: [PATCH 067/126] Removed Solaris native libs --- src/java/libs/solaris/libjSSC-0.9_x86.so | Bin 15220 -> 0 bytes src/java/libs/solaris/libjSSC-0.9_x86_64.so | Bin 20336 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/solaris/libjSSC-0.9_x86.so delete mode 100644 src/java/libs/solaris/libjSSC-0.9_x86_64.so diff --git a/src/java/libs/solaris/libjSSC-0.9_x86.so b/src/java/libs/solaris/libjSSC-0.9_x86.so deleted file mode 100644 index 1a2b6af9a567b58757e7f4ff899959b47022a0eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15220 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 From 5aaaf63115e331e096680c937a2b65250da0df2e Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 25 Apr 2013 14:42:01 +0300 Subject: [PATCH 068/126] Added 2.4 Solaris native libs --- src/java/libs/solaris/libjSSC-2.4_x86.so | Bin 0 -> 13392 bytes src/java/libs/solaris/libjSSC-2.4_x86_64.so | Bin 0 -> 17112 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/java/libs/solaris/libjSSC-2.4_x86.so create mode 100644 src/java/libs/solaris/libjSSC-2.4_x86_64.so diff --git a/src/java/libs/solaris/libjSSC-2.4_x86.so b/src/java/libs/solaris/libjSSC-2.4_x86.so new file mode 100644 index 0000000000000000000000000000000000000000..bca11c43a543d6a6292def2ddd707c4f3e011858 GIT binary patch literal 13392 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 AEC2ui literal 0 HcmV?d00001 diff --git a/src/java/libs/solaris/libjSSC-2.4_x86_64.so b/src/java/libs/solaris/libjSSC-2.4_x86_64.so new file mode 100644 index 0000000000000000000000000000000000000000..5b80347fe8d1a419206e99f1a08b0a73ce66ec3f GIT binary patch literal 17112 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 Od$*~}M3xK|R{R%6`Cmi; literal 0 HcmV?d00001 From 4f3f66c30f280976f3e14f9962a7702beabaf27c Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 25 Apr 2013 14:44:36 +0300 Subject: [PATCH 069/126] Readme update --- README.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/README.txt b/README.txt index 86eaad28b..d28f9403c 100644 --- a/README.txt +++ b/README.txt @@ -1,5 +1,6 @@ jSSC-2.4.0 in development +* Enabled TIOCEXCL support in Solaris * The port handle now stored in variable of type "long" instead of "int", to prevent potential problems with type conversions on Win64 * Fixed native lib extraction path if user home is read only, in this situation lib will be extracted to tmp folder * Added new exception TYPE_INCORRECT_SERIAL_PORT From 4b4ad8b4b1d78ef1c6abf005c91ae8250a8bcb5c Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Thu, 25 Apr 2013 16:10:49 +0300 Subject: [PATCH 070/126] Removed 0.9 native libs for MacOS X --- src/java/libs/mac_os_x/libjSSC-0.9_ppc.jnilib | Bin 14400 -> 0 bytes src/java/libs/mac_os_x/libjSSC-0.9_ppc64.jnilib | Bin 14496 -> 0 bytes src/java/libs/mac_os_x/libjSSC-0.9_x86.jnilib | Bin 18204 -> 0 bytes .../libs/mac_os_x/libjSSC-0.9_x86_64.jnilib | Bin 14432 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/mac_os_x/libjSSC-0.9_ppc.jnilib delete mode 100644 src/java/libs/mac_os_x/libjSSC-0.9_ppc64.jnilib delete mode 100644 src/java/libs/mac_os_x/libjSSC-0.9_x86.jnilib delete mode 100644 src/java/libs/mac_os_x/libjSSC-0.9_x86_64.jnilib diff --git a/src/java/libs/mac_os_x/libjSSC-0.9_ppc.jnilib b/src/java/libs/mac_os_x/libjSSC-0.9_ppc.jnilib deleted file mode 100644 index 27b869497d4acf50ea8dc1d2ef4b92b4d8e7817e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14400 zcmeHOeQ;CPl|N5%p>~i%7)FWIR{o%4*T8r|beJ^llaOU>uw{+) z3?h-EXNQ=kp{)TgA&DWT?Rqk^{lhzx&eG5{PC}=i3A;-tyIFRVPGPb$OSWv6ZpbW~ zN&WVB?t4#u{s6nPf9yYc!}U4$eBE=;J@?$JCp7&ZpZ*;Ym7*1)<)bYll7B)g=^5Y> z{vA`4(AGU6^kzLCvnOByI(cRzMNwlZ)no(A*DnNh

c&lKBrm+6)SvL}xU4xO;C; zS5ocU`_OzF_d(y`A!0}l*5?N{Tn0uSMTz#rlQWLYw^8vbWP?NkW^I`I0>DO6?d^>3 zGl>h>xCNFIHW=D%WN}4_btvt#rMHFK_ zm4w<0zvlT-4BbZ9U}(3&^I3@ooqf@$5=%v62~|-edl#_L3b8e?!EnJxQQ}>T_>q7j z=HX#z_k;JwTGOZm=u?z!%{yAQHa3S$D%ApUqcL;^@rQk9S?gI2gqh`NS$bFJ-u=6F zH9T0m@ew7Fh;G~;?*vJxtY+Dw@1K$LfBSUlzc+sM_rKmWaTzrB3pQ#e03RfJcn@5@ z4jg-zTG9Anf4SX*#&&p*-{IMG35*A3nCzmEM=W_lwZniOG+vv{Xzag(3J@mD(A$^n z^}=IrNwqCnUA=M3Mx=~6huJzjYc#tKuWEARLpGH;yOn#=1Aw+m#@ddvX!T zMIaY}B}X9ba*Wr%OnLp^ag3*3&hdUNn)>oFqJd-ge%Al2b39$_wEDMqXtJmOxoE0I z*Dq!DIt;xpAArt*d#Cz4o#QMQh6mhO?u|PAdiuxJsq|~rDc=}q>D8%WiCiO<`WVY_ z(;Cnm`Rmh##+a~C8PLd)esXmxe1!6wsC2vcX-seN#7%pgDD(7(sZ8U$sZ8ws6nw0)`{=8raOOw9OKF(T1)e8jxI-h4rJvrrI^_$? z6W&32V*6S0)SaPW?;s8N!Zc*|gXnKUf0NlSN1xCq?)$>J&h|iS0j-5;z~jNQ`gP3d zI`Apbr%YWp`lrCV1l~V*2c;TcSgJ8}9D6{274(aiZw$SIEf}jsj0N8sy@Q2eU$`(l zW3Rvky)^Vjyo05azHsTJVQ-xVdK>6R?Dl-HnQr)8DoocXgL#;C%9$RfQ-TJ)8t8=r zI0+5ex3aRJIm2|sl9PGvm|xt4rwr)WW55EJ0oQ2^*%rgF7|U2c@6(j;BZ;uqO_*O5 z`g!aN=a7$d9e&i#kuUJ!Xa~O>vMwJv3I1NOWYSLOtT8yh(?6;f`J9*(IXzJ~NEN_k z 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 diff --git a/src/java/libs/mac_os_x/libjSSC-0.9_ppc64.jnilib b/src/java/libs/mac_os_x/libjSSC-0.9_ppc64.jnilib deleted file mode 100644 index 96319f6d4d82fb1f272278d095ff1d80bddab7db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14496 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 diff --git a/src/java/libs/mac_os_x/libjSSC-0.9_x86.jnilib b/src/java/libs/mac_os_x/libjSSC-0.9_x86.jnilib deleted file mode 100644 index 025becf362d7b6b24b14849e7f78b887acffd092..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18204 zcmeHPeQ;CPmA|rutxO!Ak{S$2z=DVc65`lwhLR0CRg51K0=N!Xgp}Dnge`%HEP1Uf zKC*F;`y|5at6is?b~@Wmo6e-WY@6A#vov)xY-2uRd~pom4Va zN9tb2R)Cpm>icFFbVPYuFucnoPSsJiz!*2x)~m?UP!#`eCD7(;@f*mgI-HPAL4azj z9EP?dr-uA!7k;dJtnslN7PSk-Ia%l8K(U}pQJQ_+XTV1LMtR{s*Y$l*N(dbXLd}yH zMY&#w9kLFPskYibDM31RH8m;z{Z0N>u5jPZsXEFayAT3YPj_MXtQSR5)^BR~{N~AQ zss@sLVAkXVDmhyer8N=^bAMYDNL)9Q7e0V|PKNj>mvfh*?1{CslI0;0#i=?xkoAI@ zYO5UlLSYm6MfGYFMcKH%euG@MJ~sjnkWLiT_rh?pop^KC9RQ$~%|o%`L&2SUwrpAZ zV0G0a%Kp`>s`i9~KrwcY$@{Y(kNoH}$KH7T;XA)~@uxrk=qQbibZqo6c0cN`)H2qM zfg{gY0}5T_2P$(==A&SWO?%Zr{w^!kW7tP=q~SQwu0u`h!NVxjH`&1KMuZ-UMcW>N z#Z;oax#@uis#aAs9}r`>K}L++#;h`wQPHZJoXCy+un0Q4US`XIDEGHi)#ioBp2Ah| zK*0kA4-`C5@Ib)>EKNSxmOc7FIb(YKA>6Ym1EZ*ng(ief&y<_NdjT^mE_tbf|`v`hePrJ0yFDe74(mw#(&$77G z)lUA4^taGdR~JcN@0DH~RX-^jIWASkp_rMKx92GO(JtyIuO7PblO36D7;NkZ13gqj6^z(%8_DmujlUvw zbqRr99MpQ~#$W8n#Ft>K$r!8{=plGY|7vFC(Unrd5Bl>pYGy+Z#>}LI7i~2YmXd3P zU>L|#9hq+sExBBv2tKuh0ZzUnCFc+h91LhFSt>XP2Fig0pp+cDMg|aks@w34argGn zVNdv9&6IH0^Hpl5w1 z9Q?i`_Sd1D#h#!<(PbxP-SI_uSnZ819q1v_DX^d~7W?2xQS8zYTP&RqPXcJh25Ndw zS?ztj7)Xn{7NL&+>&Sna<1zaeeLV=`K(beQ3CY)cs#~h`Ft6xVyEtHK^$No+ZIWN6 zwNG@mk7==S>9tt7_MF>6^J5RUd(1(ccfp9!YiD@1>L0tBV`$;_xXJMEV9;aZdi%t{ zmBAC~N<`flkGg5heiQ!A>G*{|Z)s1x)t*mpqW{6^^uwN_oA7^HIgS1K^~dYbi*#>! zZUGS?@jA3}EI}zm6!RIYk6^KqUIj_(qxD3`+61SX{`xWX2a$e~7=u!JCZRZEnJKp_ zpbtK3dLOxlm}1SL6(^rCaS}1@tJV=W|7hpBg=%Va`RUH*+%Ao~9T;h@$NP;Q^&;Ty z!t7p)*Y@dF0bupCQxlfu%`x&1^qOq?Dn9+la~KoHVzW3WdpD-ZApssr|hbf7`CjB^6TQb6A%~eloScBL2;huH5`E zRw$mG<*Qj_ht_TR{XgRQ~Ko?3}%u`vXg zq|)C9Tfawy28q6!(tI85&;|z4`6nsyGD3)GwOh8bu@<7f>lNrP^(uP{Z zOibjBaD#ff+Q@%c76(IaTITGNUh}#;+RN$0q0967N{D|eX3WIx-XU!(660Q^eo_KD{_CqiXoLFP z_}RltvcH(fb_B{;2FI0v{aVLIcEntp+qcfe`qnL?B}8p^*`&lA3=dF|l(@%$iuoM0 z?Of7j7pZOz|nD3N>V&Qp~mpvlSn0;UcM5jl|s!yp=K7ifZhPK zaoF4qG!Qs#o;NzBJ}11NOH1%)apu^1HKjPvf-4Mo%# zz6}H{BUp^#`Qg761Fy@S&*NvS)wi6q$ITsPAjQu*^X*X~SdL(cMWYchl1Dq`Q93?Q zw6;}<6NE*1iWC3M*3Pfy8jm@E9xCtwtgFLDZ&G8~~3JAoNVL5|MN zvG<4qV0Z)2Kmug3lRy$Myb4Ib)Wh)ofG6WE)|V~nr4Sy_(xiI39&_pycxLKUw_{$@ znJ2q>o?byK7tv{GbRM9mDvT@pHTvk-Oc|nyl@ZffKHe!05l7lLm$6PcWtvVX;uA|G zQgyAMzMn(Wp_MXt1<<T=b&3k0{hmbZVfN{q&f|OWFsrXeJ=6OjrNpCz&n>^k`l5N?)l11< zjM8{urENg>9?|;5!z_jR`W2myXY^o8tGe#(1sBd``Df7Mw9aL_d!QsM_p0(~yV~A+ zyOj7Y)a&wT-HB%+SiwIlbv=o|qlJBf&p-HCK#<`QYCEh)Y;(L~mQ9Ur&zbEsV;wgQBaw?DoNAxnCS;y?jg+YkfOSL zTs1#F~WW*utNmCE5HQ@BhtQhQ?Wj@$P`k*QV`fa-77!2K48ybJWFT@`L zOZ9KF*=59v_O1B8P5e0d?IG3~@Sg>LEBLR@fS>$70e;W#vRQ00H`fomh(B^_H~3zh zj?WT*;%@~1Iq+|V(KE3-0e%NgKu@8*IX}f$okbZ&`j3HcHFk|(-DnRs6o!1HSwP^;HK-Hd}o6GEi$#_7PV*3Wd0E6+BSzK*0kA4-`C5@Ib)>1rHQFQ1C#(0|gHh zJW%k!pS1_Z{uI}rwMPqsFLOA;DLe%3LYqUpx}Xm2MQi2c;HXq0hf6H z#cn%SQ8N2uH?tp`S23?*sq~`#^9!C{RQBA~n8J%Tj{~Mx zKwT1J^z&|lUxwg6n{Wg0^xg{LQ+Nr7-bW#rUecj=O$hD=e`^k3#@IiY@XNCqd((tn z_#yPD2{+&!Bzk3(WJjTYtqFSox0&!!@c&~Dj~`S2(u8+_=l3T3GT!W5g7{I5VTHqZPIB0>n1wLqj@z%Wfy*b_j7QbJocc}1_0ft{h zFc-=ql*K6bp}0}#{Tf`JzrbxN3cYi(9L0rS*SG9e#IMMe-F{!Qzm1{MtVDTir?N8` zZpME(fDmd00e_A_q(Cg(q=X`oXJV~P@$dDAd6X$n`1bmgJ<({Bvc=yP^o8nuJh<1t zp8iH4;A`?LO`%BC-w{ zw=Ky1rh}C))I5y9TM{LNiSvb;Rg~7gSo3BdvDU|0Ced~H%aPh3N4n?HtHCWMPg|^& z8&e?E5QHLccpoOEve_Sv;r~&fxH;6Ym+J7o7F3GAtt~<`RoS(Fzk*2{jf8!nAU~k& zt!7G70HY5^TmAlKvk}QPXnMN6_3O8-tgik`rUaV8JY;DHBTXCzhkfBlH01ZUT1b?! kmL}zzrOBHDp;&Y`Q+N}GODU9T=fX52SA(Hvn;PL6#H$qYo3NiOq- zAMSyfdNXYLhQz5W-SSrVio2ukysEuguFmozQsY37WHf5PAK)z~!F6F`K=EozlZd?g ze7k#K5~9Z1{WD$Z?(g^8{r&d0zun(&_j{T5*4UZzC5lo|q$o-;^5w`IW++NrxdM=) zT!*}qsew3+z%| zbv>{_54QQ61ER-7d96}jyHtwsoNVI2K3OX`MM>uAC?Gq!oGYDqEoBmx>zdmiio|K3 zklfr_>w3eMrUuD_>g(j?#F4ywy)JSJNY_KyBVwzx8f}-zvxA?K+_XLSzxY4rJ^t*Ew%=5xy-hYCdN;*XeL2_LsY!8krzx$qK4KHH_^DJ>XpJYU_Gun}lpvV0sPdQGQk z3rt(!k81&EowxJ)Yrn88XPs4{UaKhTLdB|>10czhPh-E+*qT8v3uHa)oR>A9^|Hu_ zW}Yt75+xq?p5w5WeQqT+oP()igmR7bdf2OubaoEHj5%Vl9%D7@P0coxG7wLxisCq& zq7#W72Yv{+IrwFY!Wuiy_JfoH$&;{^d)dd3>}98{WG#fVquxYAd8w9IQ0`4MmD{}u zqkLYbC%cIx++{cVv&|eT>^^TyhmMFrTC)OZV2zD0#h*_+O{TYDGz``g;Aw; z{T+q|=>(Bb7`Lijrv+($0Z1r}`Dl+70YRb0UqWk8T^K{9D48C0VLJh`idx%&1iQB@ z#z))MMXf$y-BcLwZhJgx-GZ~Cn+oG#)LMmr8wq8)sm_UsT5D$#|Js?xu5BBmRvJOR zn+oIUsMTHphCj=6Q{4j98!B(R$NpvwE}&1y$UNoXMb7L38A{nQp3qmf{eIyp!psx+l|3ymCCBX%%-r2rwWe(cV@*CD?4i*CVU-Lu(nBEH}Gmf;>RM@d#E^RFAXnt@|q3R0@su(gvHphZip z$$ArkvtJB&6U`%;ec6SWaFt@#9J37{%F}1+_}s$|Trk(mpkR++4sTH#oHVl3lW>*WJ&C#Hh=b7B94WXi^Ti?aL=oaa zpY8L5Hr3rnU}^iwLV&BCf1P1{(tpKL;XI3skY@(4Xw7HoIE!bT>^-&XWti1*7+&^M zoLDaQMRpm6MP%ssXEeZ?(JxQo^m<~wt8ut$xvIQEm+9>3Qd-j76`#INqRYu4Gn7-mQJjV#5@F0coA1T#<9sxSKHMMvpM;9@mw zcFd7t=UzHLjS98vIBIjG1O$jS=9(j=LBK_7{B1M{HXdHGJ197giz2%~;ZelO{x?8) z#T_2=yk#tf&1lO7IZ^GPyM`qFl_Xs!gvVf2OvOBBsj*^^CCR@=Fnm2DHRg?fo5Ew0@p4W?5Q=^%eq_SzmhoV0EQ(u-XBos_h75wzFtu zSD9Pw1!}AW(*snf#;zAok#Q|>n{h?LZHI5gw?h*#Um51C>?v#)%&Ns>9aLkZG>gta zzdZb0%<{4iv%lb7HhbH*zKlWs9(@w-e%vORyT5(w9*~AWG6%l`j_%;4;}*O!dadT{ zTkPZ3N5;#m(I!IbBu9W?5M{!>*Xlz6+H|n}O`FCB$V@{=a0Qj?9fUx0WQH2M9W>`& z@`<5Eyjj>kI?CtnOl`-l?f6%?#nnVd`)FZORI0JpLBoE;OroQ-n9dZHYV5y2kB-vS zQH@{A=>!iw2XelC=ICwC7jZ$1aWP{MX^uYNOo>}!3y9`uNR7Y82c(f~}gD~dEXl#E9w-31CDW{cOi=Bn(^kXK^^C(EqLA~yNbWpN=SVA=R@mMGtXcs8i zUyFtVJbLpdr(c4Sa35g%ove4?$1|M!J}ognEO45q3Yc#f+rKYcjB|b8$ED2uoYv{y zjW*`ni9wS?PeCATF7}@}R;tEm|EN!X2D&*0w{ZY9$86ZMM9)3mi2nS#1O{4Qs3Mjc66yrq}%fUtj7^_X!u<`ohq|9BGG41sph` zjiac`i1S`F4Zn8ryfDY?#@*&vnHs+lEeZE?%>Ba9wHNsl?p;Kg0g9GzKd+ewG+ZZ~ zYn(rE>Y1K|dndJ?!k)uMC-4{t`v^P)FzMq*t<#5tQ0x!vjzxL?)$59ljr5|#&H(VZ5SW&`G6Sv<}9RF^vqKVbtE zWKBsqz_3{cD%!y!DShULRq?~BtES&^n7RA-%GUJ11OqGLti@y(Y3wMUZ>GnpAUCio zF5~4aUe4jAotIbgaxO2g;pIGD&gbOHM z;CBQ(o8UeHdkEf}N8c^rnMB_O7={!tx5=c~$^6A@*+r062Pjqiz3ys{qAUPRso?Qi z?+T@0v%TcmPI!skKC7fOiH@f`!fj(Y*6 zwoCX(U9LB&Fph67bXz6)=-oG^N%Vx7#`Af>S0(vK8A_AzT{2z_eDl5|AFT^LlAV=y z3G&e<9S;vp(9=fi&{-sw$7Un_Ow54f*bwV-R z0DrQm%SQW->+=-kbVz&b0F6@V&uG1nF4=E1uN}pIT;kcKg5aMN_k(Ug0^Qx2r>GqH~z<5Ip!4sn{c9Z~?z}Lh z)`1kf;6F59eqWJ%PfK}|@DVAu4=7&HlkJ6g;RW&>#@{LB`~)ziN#x}1C)xmFYnMD( z!~uGep+xddL&omUh5eRdZ%~>RIW`QIhUp4P1=AV=1@_5u0_9MUZLf8b*he@fQnl3pq6UrBn0tp8Tl zSy|7M{c`_DKOpHlW&L|uE3#j=#4W36{+~jRCCE`y=x4~2&4b#e)3gPqEii3?X$wqS zVA=xH7MQlcv<0RuFl~Wp3rt&J+5(eWK>ohBxD2g$WmUXL)|IlR-_8=fO4gdJYh}Gk z)@xWAty6 zcp1I5L;6>V@0R)>%C$@WQHk5>?I%(N-o9~t<@kRg@d3MN4@x{O^{0RIQ-8bE|0#)| zmHmGWyg(_yC?dVW@hCV%>YaeUDf*)n=?KU9zX~|v%!Kx_33v(C660Oqr?t(;ubzO@ zyT$zW@(K9T3HTio@E=XUT@&z!Cg6`u!0B}sz1pJR$J75n=y&Q1k;{<(1o=kfn~=+q zE0DjB`~&1g$cvGGh)nNb{}^&02IJ~_^9K6ZqLIFO@i*YB7y9x-dO>&>Z zh>tS#U?fzpH?_1p7HL)Vz{Wtx2rK&i{*8Y9(Qvq4uM4y_`kNl~8;u(So{$k}3;OE= zdVNz%I8fWtW_)|s^#NmfBp3{|g_mzJ0^#bGNN8$YZmvs>Km6E~2Dz`PWm9!a$Y^V6 zs%dEmOo_+a7z%{z48IYX!kjS?VGNr0gZRc~3Op^XfzZ^<)Ea49KShhSVPUx~zkQD3 zK&W9k`cJ`x;eg>t`A0w}nmW4JXCXpl%t4k7nc^k99+Xj1gXmU^n11I_5K=plcoCEOGUz};zkDmv{aMK|h$ bO_A^h0-&wmpwFs|dT Date: Thu, 25 Apr 2013 16:11:55 +0300 Subject: [PATCH 071/126] Added 2.4 MacOS X native libs --- src/java/libs/mac_os_x/libjSSC-2.4_ppc.jnilib | Bin 0 -> 14392 bytes src/java/libs/mac_os_x/libjSSC-2.4_ppc64.jnilib | Bin 0 -> 14480 bytes src/java/libs/mac_os_x/libjSSC-2.4_x86.jnilib | Bin 0 -> 18208 bytes .../libs/mac_os_x/libjSSC-2.4_x86_64.jnilib | Bin 0 -> 14416 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/java/libs/mac_os_x/libjSSC-2.4_ppc.jnilib create mode 100644 src/java/libs/mac_os_x/libjSSC-2.4_ppc64.jnilib create mode 100644 src/java/libs/mac_os_x/libjSSC-2.4_x86.jnilib create mode 100644 src/java/libs/mac_os_x/libjSSC-2.4_x86_64.jnilib diff --git a/src/java/libs/mac_os_x/libjSSC-2.4_ppc.jnilib b/src/java/libs/mac_os_x/libjSSC-2.4_ppc.jnilib new file mode 100644 index 0000000000000000000000000000000000000000..698ebbacffe1d9c4765d80461041e27fde38ce8d GIT binary patch literal 14392 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 literal 0 HcmV?d00001 diff --git a/src/java/libs/mac_os_x/libjSSC-2.4_ppc64.jnilib b/src/java/libs/mac_os_x/libjSSC-2.4_ppc64.jnilib new file mode 100644 index 0000000000000000000000000000000000000000..f75fea208d9927063280c4ed5ff49f891c2dc545 GIT binary patch literal 14480 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 E8<7xA$^ZZW literal 0 HcmV?d00001 diff --git a/src/java/libs/mac_os_x/libjSSC-2.4_x86.jnilib b/src/java/libs/mac_os_x/libjSSC-2.4_x86.jnilib new file mode 100644 index 0000000000000000000000000000000000000000..ab1e49d27e044097f9619b457dd6b12489a9dddc GIT binary patch literal 18208 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 OO0Nfp)qH|%A^i^oUFc8% literal 0 HcmV?d00001 From 432eed12f123b9b784d9027fb0de53498a405065 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 26 Apr 2013 10:32:55 +0300 Subject: [PATCH 072/126] Removed Windows 2.3 native libs --- src/java/libs/windows/jSSC-2.3_x86.dll | Bin 66560 -> 0 bytes src/java/libs/windows/jSSC-2.3_x86_64.dll | Bin 122368 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/windows/jSSC-2.3_x86.dll delete mode 100644 src/java/libs/windows/jSSC-2.3_x86_64.dll diff --git a/src/java/libs/windows/jSSC-2.3_x86.dll b/src/java/libs/windows/jSSC-2.3_x86.dll deleted file mode 100644 index e7cf5e31ee16caf8d839246303533afd58fb08b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66560 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 BI$Qt% diff --git a/src/java/libs/windows/jSSC-2.3_x86_64.dll b/src/java/libs/windows/jSSC-2.3_x86_64.dll deleted file mode 100644 index a8abc99f37e6948409c9ea9cde1ef3eb4349cc3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122368 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 G1pW>5mRx24 From 0bfbc3ed09c56922bb55e63a32109680a892ee4e Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 26 Apr 2013 10:33:18 +0300 Subject: [PATCH 073/126] Added Windows 2.4 native libs --- src/java/libs/windows/jSSC-2.4_x86.dll | Bin 0 -> 66560 bytes src/java/libs/windows/jSSC-2.4_x86_64.dll | Bin 0 -> 122368 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/java/libs/windows/jSSC-2.4_x86.dll create mode 100644 src/java/libs/windows/jSSC-2.4_x86_64.dll diff --git a/src/java/libs/windows/jSSC-2.4_x86.dll b/src/java/libs/windows/jSSC-2.4_x86.dll new file mode 100644 index 0000000000000000000000000000000000000000..c3627e6294b7baaebcc70f296bfdc3d72b9d5b15 GIT binary patch literal 66560 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

<{T;aN zZGp%X^jf2Dw8V$d?SSfcwU6hA_QNe$4tQ^Cc-svr#*wgP#d=>&&NmvsH{t#EYcWyf zjpp4LEuh6&_6x|rb<91-!Bj z$WrVo<#}GMN;GOLT9T@5|K3Q~>U;;$*7sTT3xxe-T(}AT-?%^)$DxmS-C@R)lGA$!>zX72ifUg>+6yD8i&xvngJ|UJw78k();6j^*8x# z`I{2>f5+k9+a$2xkXA!?AMpK)37J&ajHIT@_NLrv3nm`xZ%q4cj)-Lp7GGzirdcc3fh zXpe)o5e{tRWm(`=T+opiAIWM$B20{f;}l>JKwNO z7`#OQq2XK1tM)>m4i~S8S!crdv0oOklgxl@Acf4T4P-#D#78P_H_zK|y->CJg~$H6 z3IqPxUai%$uowK3h28i_oEuQ2yAoc9jt-vR!V^$}W-;pCW^TPx)FFpTI3J^on-RS= zPz_L!$U%i!$}B@$u)501aDd*RgU$T<0Mf&O7?M!E#Q^a+MOf2OB+v-sx7e$F=+S=k zD7Ol~J-nF=0UhS@yOMPEZAVwBn2CMR)yoTmujzIv#^t;S`bQ<02D!Tg^#U>&h-_2B z4*@&t^lN4>6GG5Fp@&tVL@tJG;kca*=k*fYqI5G#@AY6>GnvoD&A_tAD1I83T!`@; z#G9ha0wDl_;ea^{o)EG!krqapIT6pG!F-5c36B6x<+jW48x0F7nqNY>VBH5pEps`! zIt6)gNsj|945Vfm(1gKqFR~mK=tyN1HNmRKkHhoXv;xZn&&EY2s+8%}z$o600y*)# zZ;_W5*{p<19Z^FddIJ!}Ngv$EGtrnG8#tZyl?~i6>%0ANUi9JL+E>SbT6h?%K$3J^ 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 literal 0 HcmV?d00001 diff --git a/src/java/libs/windows/jSSC-2.4_x86_64.dll b/src/java/libs/windows/jSSC-2.4_x86_64.dll new file mode 100644 index 0000000000000000000000000000000000000000..8245b006150d00390df2c08a76bc85fc879e824d GIT binary patch literal 122368 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%0DMyU-9ImEvskaL_9C@aEYX~3t0KTOj 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 Date: Fri, 26 Apr 2013 11:04:14 +0300 Subject: [PATCH 074/126] Removed Linux 0.9 native libs --- src/java/libs/linux/libjSSC-0.9_x86.so | Bin 13808 -> 0 bytes src/java/libs/linux/libjSSC-0.9_x86_64.so | Bin 14488 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/linux/libjSSC-0.9_x86.so delete mode 100644 src/java/libs/linux/libjSSC-0.9_x86_64.so diff --git a/src/java/libs/linux/libjSSC-0.9_x86.so b/src/java/libs/linux/libjSSC-0.9_x86.so deleted file mode 100644 index fa08c409f1493f0294e8248b09b4db787a8a08d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13808 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 diff --git a/src/java/libs/linux/libjSSC-0.9_x86_64.so b/src/java/libs/linux/libjSSC-0.9_x86_64.so deleted file mode 100644 index 2639593aa119f278ae74f8f097d3a5cad4a7cfc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14488 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 From 14963e8e9a4597e0240911a4124111f993f1dadf Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 26 Apr 2013 11:04:27 +0300 Subject: [PATCH 075/126] Added Linux 2.4 native libs --- src/java/libs/linux/libjSSC-2.4_x86.so | Bin 0 -> 13676 bytes src/java/libs/linux/libjSSC-2.4_x86_64.so | Bin 0 -> 14392 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/java/libs/linux/libjSSC-2.4_x86.so create mode 100644 src/java/libs/linux/libjSSC-2.4_x86_64.so diff --git a/src/java/libs/linux/libjSSC-2.4_x86.so b/src/java/libs/linux/libjSSC-2.4_x86.so new file mode 100644 index 0000000000000000000000000000000000000000..50945a9838f9b7926a1312e3b59b588deab89f7c GIT binary patch literal 13676 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 literal 0 HcmV?d00001 diff --git a/src/java/libs/linux/libjSSC-2.4_x86_64.so b/src/java/libs/linux/libjSSC-2.4_x86_64.so new file mode 100644 index 0000000000000000000000000000000000000000..4090ffff093bf06ecc8c2a00b3a996b45341b523 GIT binary patch literal 14392 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 E10bHM-T(jq literal 0 HcmV?d00001 From 8d1652d5a967af54e04fe40cec09edb04eb0e9e0 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 26 Apr 2013 13:46:27 +0300 Subject: [PATCH 076/126] Removed Linux ARM 0.9 soft-float native lib --- src/java/libs/linux/libjSSC-0.9_armsf.so | Bin 10431 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/linux/libjSSC-0.9_armsf.so diff --git a/src/java/libs/linux/libjSSC-0.9_armsf.so b/src/java/libs/linux/libjSSC-0.9_armsf.so deleted file mode 100644 index 937c3a0371c9cc92133311269fa3593e7fa0ba18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10431 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 From db6c0822bac1f7f257cf2a3b7566b6cd90e4f2ce Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 26 Apr 2013 13:46:59 +0300 Subject: [PATCH 077/126] Added Linux ARM 2.4 soft-float native lib --- src/java/libs/linux/libjSSC-2.4_armsf.so | Bin 0 -> 10103 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/java/libs/linux/libjSSC-2.4_armsf.so diff --git a/src/java/libs/linux/libjSSC-2.4_armsf.so b/src/java/libs/linux/libjSSC-2.4_armsf.so new file mode 100644 index 0000000000000000000000000000000000000000..ff72606067fc34e1c524ad1b2c75aafc499fd1e9 GIT binary patch literal 10103 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 V#+qa3cktBP Date: Fri, 26 Apr 2013 14:07:25 +0300 Subject: [PATCH 078/126] Removed Linux ARM 0.9 hard-float native lib --- src/java/libs/linux/libjSSC-0.9_armhf.so | Bin 10523 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/linux/libjSSC-0.9_armhf.so diff --git a/src/java/libs/linux/libjSSC-0.9_armhf.so b/src/java/libs/linux/libjSSC-0.9_armhf.so deleted file mode 100644 index 27fbe6551463de089fe5eeee30dc5d61ccdc0ea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10523 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 From 906964f2bcacdd7b89df2acc5c753ed718f3cfb1 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 26 Apr 2013 14:07:48 +0300 Subject: [PATCH 079/126] Added Linux ARM 2.4 hard-float native lib --- src/java/libs/linux/libjSSC-2.4_armhf.so | Bin 0 -> 10031 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/java/libs/linux/libjSSC-2.4_armhf.so diff --git a/src/java/libs/linux/libjSSC-2.4_armhf.so b/src/java/libs/linux/libjSSC-2.4_armhf.so new file mode 100644 index 0000000000000000000000000000000000000000..d285e3b23a7f604fbfa5e4d9ed5bdf0210023dad GIT binary patch literal 10031 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 Yj6189n``KE@YLJo;6-gz)V7KL0gNDsa{vGU literal 0 HcmV?d00001 From eada9f7540d9eafead70faa3249f273f31541766 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 26 Apr 2013 14:35:38 +0300 Subject: [PATCH 080/126] Readme file update --- README.txt | 72 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/README.txt b/README.txt index d28f9403c..af5e72af7 100644 --- a/README.txt +++ b/README.txt @@ -1,33 +1,45 @@ -jSSC-2.4.0 in development - -* Enabled TIOCEXCL support in Solaris -* The port handle now stored in variable of type "long" instead of "int", to prevent potential problems with type conversions on Win64 -* Fixed native lib extraction path if user home is read only, in this situation lib will be extracted to tmp folder -* Added new exception TYPE_INCORRECT_SERIAL_PORT -* Added "ERR_" constants into SerialNativeInterface -* Added some syntax sugar to SerialPortList class, for changing search path, RegExp and comparator -* Added rfcomm (bluetooth devices in Linux) to Linux RegExp -* Added JSSC_NO_TIOCEXCL JVM property for disable using of exclusive access to serial port -* Important! Fixed bug with garbage reading on Linux, MacOSX, Solaris, cause of incorrect using of VMIN and VTIME. Now "read" methods works correctly and are blocking like in Windows -* Added termios(_nix) and DCB(Windows) structure cheking on port opening, it helps separate real serial devices from others -* Added new exception TYPE_PERMISSION_DENIED. It can be very useful for _nix based system if user have no permissions for using serial device -* Added timeouts for read operations and SerialPortTimeoutException class for catching timeout exceptions -* Added Raspberry Pi support Hard & Soft float -* Fixed MacOS X 10.8 bug with native lib loading (*.dylib -> *.jnilib) -* Fixed Windows native lib port name concatenation error -* Null port name fix. If try to invoke method openPort() for SerialPort(null) object, exception TYPE_NULL_NOT_PERMITTED will be thrown -* Fixed error with garbage reading in Windows using jSSC after another application used serial port. To prevent this effect COMMTIMEOUTS structure zeroing added to setParams() method -* Fixed Linux error with exclusive access to serial port (TIOCEXCL). TIOCNXCL added to closePort() method for clearing exclusive access -* Rewrited comparator for sorting port names. Now it's a common comparator for Windows, Linux, Solaris and MacOS X -* Added common for Linux, Solaris, MacOS X method getUnixBasedPortNames() for listing serial ports -* Added precompiled RegExp's for Linux, Solaris, MacOS X for more faster port listing -* Added ttyACM, ttyAMA to Linux RegExp and tty.usbmodem to MacOS X RegExp - -jSSC-0.9.0 Release version (21.12.2011) - -This version contains native libs for Windows(x86, x86-64), Linux(x86, x86-64), Solaris(x86, x86-64), Mac OS X(x86, x86-64, PPC, PPC64). +jSSC-2.4.0 Release version (26.04.2013) + +This version contains native libs for Windows(x86, x86-64), Linux(x86, x86-64, ARM soft & hard float), Solaris(x86, x86-64), Mac OS X(x86, x86-64, PPC, PPC64). All native libs contains in the jssc.jar file and you don't need manage native libs manually. +In this build: + + Fixes: + * Important! Fixed bug with garbage reading on Linux, MacOSX, Solaris, cause of incorrect using of VMIN and VTIME. Now "read" methods works correctly and are blocking like in Windows + * Important! Fixed error with garbage reading in Windows using jSSC after another application used serial port. To prevent this effect COMMTIMEOUTS structure zeroing added to setParams() method + * Important! The port handle now stored in variable of type "long" instead of "int", to prevent potential problems with type conversions on Win64 + * Fixed MacOS X 10.8 bug with native lib loading (*.dylib -> *.jnilib) + * Fixed Linux error with exclusive access to serial port (TIOCEXCL). TIOCNXCL added to closePort() method for clearing exclusive access + * Fixed Windows native lib port name concatenation error + * Fixed native lib extraction path if user home is read only, in this situation lib will be extracted to tmp folder + * Null port name fix. If try to invoke method openPort() for SerialPort(null) object, exception TYPE_NULL_NOT_PERMITTED will be thrown + * Enabled TIOCEXCL support in Solaris + + Additions: + * Added ARM Soft & Hard float support (Tested of Raspberry Pi with Oracle JDK(6-7-8)) + * Added ttyACM, ttyAMA, rfcomm to Linux RegExp and tty.usbmodem to MacOS X RegExp + * Added precompiled RegExp's for Linux, Solaris, MacOS X for more faster port listing + * Added private common for Linux, Solaris, MacOS X method getUnixBasedPortNames() for listing serial ports + * Rewrited comparator for sorting port names. Now it's a common comparator for Windows, Linux, Solaris and MacOS X + * Added some syntax sugar to SerialPortList class, for changing search path, RegExp and comparator + * Added timeouts for read operations and SerialPortTimeoutException class for catching timeout exceptions + * Added JSSC_NO_TIOCEXCL JVM property for disable using of exclusive access to serial port + * Added termios(_nix) and DCB(Windows) structure cheking on port opening, it helps separate real serial devices from others + * Added "ERR_" constants into SerialNativeInterface + * Added new exception TYPE_INCORRECT_SERIAL_PORT + * Added new exception TYPE_PERMISSION_DENIED. It can be very useful for _nix based system if user have no permissions for using serial device + +And other little modifications... + +With Best Regards, Sokolov Alexey aka scream3r. + +============= Previous Builds ============== + +/////////////////////////////////////////// +//jSSC-0.9.0 Release version (21.12.2011)// +/////////////////////////////////////////// + In this build: * Added Solaris support (x86, x86-64) * Added Mac OS X support 10.5 and higher(x86, x86-64, PPC, PPC64) @@ -50,10 +62,6 @@ Important Note: * Included javadoc and source codes -With Best Regards, Sokolov Alexey. - -============= Previous Builds ============== - ///////////////////////////////////////// //jSSC-0.8 Release version (28.11.2011)// ///////////////////////////////////////// From 7a166d0722ce6ac629f4b9e500f1bc3a65b49178 Mon Sep 17 00:00:00 2001 From: scream3r Date: Sat, 27 Apr 2013 15:30:28 +0400 Subject: [PATCH 081/126] Rewrited _nux native "readBytes()" function to prevent problems with events in MacOS X --- src/cpp/_nix_based/jssc.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 55df8632f..d13d89cac 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -30,6 +30,8 @@ #include #include //-D_TS_ERRNO use for Solaris C++ compiler +#include //since 2.5.0 + #ifdef __linux__ #include #endif @@ -500,21 +502,23 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_writeBytes /* * Reading data from the port * - * Rewrited in 2.2.0 (using of termios structure for setting min count of bytes to read, - * it makes read operation blocking, like in Windows version, and prevent reading of garbage) + * Rewrited in 2.5.0 (using select() function for correct block reading in MacOS X) */ JNIEXPORT jbyteArray JNICALL Java_jssc_SerialNativeInterface_readBytes (JNIEnv *env, jobject object, jlong portHandle, jint byteCount){ - termios *settings = new termios(); - if(tcgetattr(portHandle, settings) == 0){ - if(settings->c_cc[VMIN] != byteCount){ - settings->c_cc[VMIN] = byteCount; - tcsetattr(portHandle, TCSANOW, settings); + fd_set read_fd_set; + jbyte *lpBuffer = new jbyte[byteCount]; + int byteRemains = byteCount; + while(byteRemains > 0) { + FD_ZERO(&read_fd_set); + FD_SET(portHandle, &read_fd_set); + select(portHandle + 1, &read_fd_set, NULL, NULL, NULL); + int result = read(portHandle, lpBuffer + (byteCount - byteRemains), byteRemains); + if(result > 0){ + byteRemains -= result; } } - delete settings; - jbyte *lpBuffer = new jbyte[byteCount]; - read(portHandle, lpBuffer, byteCount); + FD_CLR(portHandle, &read_fd_set); jbyteArray returnArray = env->NewByteArray(byteCount); env->SetByteArrayRegion(returnArray, 0, byteCount, lpBuffer); delete lpBuffer; From 99938e2bdcd67e2a82059fef6d61c640cd32fa79 Mon Sep 17 00:00:00 2001 From: scream3r Date: Sat, 27 Apr 2013 15:35:09 +0400 Subject: [PATCH 082/126] Replaced Linux 2.4 native libs to 2.5 --- src/java/libs/linux/libjSSC-2.4_x86.so | Bin 13676 -> 0 bytes src/java/libs/linux/libjSSC-2.4_x86_64.so | Bin 14392 -> 0 bytes src/java/libs/linux/libjSSC-2.5_x86.so | Bin 0 -> 13684 bytes src/java/libs/linux/libjSSC-2.5_x86_64.so | Bin 0 -> 14408 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/linux/libjSSC-2.4_x86.so delete mode 100644 src/java/libs/linux/libjSSC-2.4_x86_64.so create mode 100755 src/java/libs/linux/libjSSC-2.5_x86.so create mode 100755 src/java/libs/linux/libjSSC-2.5_x86_64.so diff --git a/src/java/libs/linux/libjSSC-2.4_x86.so b/src/java/libs/linux/libjSSC-2.4_x86.so deleted file mode 100644 index 50945a9838f9b7926a1312e3b59b588deab89f7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13676 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 diff --git a/src/java/libs/linux/libjSSC-2.4_x86_64.so b/src/java/libs/linux/libjSSC-2.4_x86_64.so deleted file mode 100644 index 4090ffff093bf06ecc8c2a00b3a996b45341b523..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14392 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 E10bHM-T(jq diff --git a/src/java/libs/linux/libjSSC-2.5_x86.so b/src/java/libs/linux/libjSSC-2.5_x86.so new file mode 100755 index 0000000000000000000000000000000000000000..56f99f8b7f71061d5176f7c72a46fb0fb4fb89ad GIT binary patch literal 13684 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 Date: Sat, 27 Apr 2013 14:43:02 +0300 Subject: [PATCH 083/126] Renamed Windows native libs --- .../windows/{jSSC-2.4_x86.dll => jSSC-2.5_x86.dll} | Bin .../{jSSC-2.4_x86_64.dll => jSSC-2.5_x86_64.dll} | Bin 2 files changed, 0 insertions(+), 0 deletions(-) rename src/java/libs/windows/{jSSC-2.4_x86.dll => jSSC-2.5_x86.dll} (100%) rename src/java/libs/windows/{jSSC-2.4_x86_64.dll => jSSC-2.5_x86_64.dll} (100%) diff --git a/src/java/libs/windows/jSSC-2.4_x86.dll b/src/java/libs/windows/jSSC-2.5_x86.dll similarity index 100% rename from src/java/libs/windows/jSSC-2.4_x86.dll rename to src/java/libs/windows/jSSC-2.5_x86.dll diff --git a/src/java/libs/windows/jSSC-2.4_x86_64.dll b/src/java/libs/windows/jSSC-2.5_x86_64.dll similarity index 100% rename from src/java/libs/windows/jSSC-2.4_x86_64.dll rename to src/java/libs/windows/jSSC-2.5_x86_64.dll From b835781e8f4be81daeb5951698580cb1fbb527c3 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Sat, 27 Apr 2013 15:14:07 +0300 Subject: [PATCH 084/126] Replaced MacOS X 2.4 native libs to 2.5 --- .../libs/mac_os_x/libjSSC-2.4_ppc64.jnilib | Bin 14480 -> 0 bytes .../libs/mac_os_x/libjSSC-2.4_x86_64.jnilib | Bin 14416 -> 0 bytes ...-2.4_ppc.jnilib => libjSSC-2.5_ppc.jnilib} | Bin 14392 -> 14436 bytes .../libs/mac_os_x/libjSSC-2.5_ppc64.jnilib | Bin 0 -> 18624 bytes ...-2.4_x86.jnilib => libjSSC-2.5_x86.jnilib} | Bin 18208 -> 18260 bytes .../libs/mac_os_x/libjSSC-2.5_x86_64.jnilib | Bin 0 -> 14464 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/mac_os_x/libjSSC-2.4_ppc64.jnilib delete mode 100644 src/java/libs/mac_os_x/libjSSC-2.4_x86_64.jnilib rename src/java/libs/mac_os_x/{libjSSC-2.4_ppc.jnilib => libjSSC-2.5_ppc.jnilib} (51%) create mode 100644 src/java/libs/mac_os_x/libjSSC-2.5_ppc64.jnilib rename src/java/libs/mac_os_x/{libjSSC-2.4_x86.jnilib => libjSSC-2.5_x86.jnilib} (52%) create mode 100644 src/java/libs/mac_os_x/libjSSC-2.5_x86_64.jnilib diff --git a/src/java/libs/mac_os_x/libjSSC-2.4_ppc64.jnilib b/src/java/libs/mac_os_x/libjSSC-2.4_ppc64.jnilib deleted file mode 100644 index f75fea208d9927063280c4ed5ff49f891c2dc545..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14480 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 E8<7xA$^ZZW diff --git a/src/java/libs/mac_os_x/libjSSC-2.4_x86_64.jnilib b/src/java/libs/mac_os_x/libjSSC-2.4_x86_64.jnilib deleted file mode 100644 index e37b03dfaa85fb51328760f79b6237749d0be5bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14416 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 OO0Nfp)qH|%A^i^oUFc8% diff --git a/src/java/libs/mac_os_x/libjSSC-2.4_ppc.jnilib b/src/java/libs/mac_os_x/libjSSC-2.5_ppc.jnilib similarity index 51% rename from src/java/libs/mac_os_x/libjSSC-2.4_ppc.jnilib rename to src/java/libs/mac_os_x/libjSSC-2.5_ppc.jnilib index 698ebbacffe1d9c4765d80461041e27fde38ce8d..13dcf754657546c0bc12462f85a74f3d0d1ea0d5 100644 GIT binary patch delta 1770 zcmb_dYitx%6h3!m+wQ<_clyvSyWQ>fWh*UZp&*M3bXRFyB7vGTLO?^Y^arHTO>D@J z44rM@2L>VwhgcphuHg|dm0%WQV;k8*O)&7IiT$CWX=-Rp5yUDrpi!>p&a8&`+napn ze&?R=+{d{$GlTKzcyjl=yfJ{nQGmR$BZ;tb3_ywic#a(z4J+dSKu+m6wn!eVVC70N zjmQALVqDL{ikrj}6+!+ z;_>!|U2pH~-1(NN@sf3yDt#MI4P}NWx9lp}dg-GE8WWSya=}6B$#3kU`DgKfT*iv< zh|N>6bczDiglr3nzKGx_sFZj-JuTmtF=F==y6gA8C!g0HvbOpVK+hp}Eq2-~*<(!F zx3N7qYcKIdLn){aB>;5YtHq$Gz_|WUGxpyR{41|-_9hNEUy||{;H>i?`vmp;nDONZ|5kq#*7V(8O}|6^ zWTTd3U_VyQ)fhOM7x&U(_IR~uKU8h{I`>H^0&LUd%pc(%2jupgN2QG?xo4QWCvaztV1$O-Fcj=Q>l%4iVP5p@V<2vbxK`MPFAWKH*f-w*?5 zv)(`0Vzl4ZjC1!i{X|7EjTO|>=_5U0H_ptoEba%0_VWugSwqhY0Nv9=TKDy|ro)&y zM`B&>T74be+xjAHL&8>`c%3vq3~5HqO-td3$amolPWpC zJX8*|qN)k1%on0!cKQ5<1OzbSYGN0Us{2?o?pNE{NP0%yW@Fpav1eXkY-Kw6Y$an? z@Jh*H)|FoC?v+>{PI$`jwkN>ig0T>;@|LkV(~do5GbTTaecq<5rqvt)Tvb}ercFC; z+8d_TP1}hRrQ3@ZstyKb6VExo`Hyqh;%oE;$fH+AR?TlIh;|c!T0)%j2m3MQTPQua zfwz2hte$M8B9iAg|2c_O{<`Qgy4YIIXC2f>%t`DYveQz(+-EzLb29ft-f?@c^1(bM zYR268v&>qdp7d>;|5A*H{B=1=V&gdMugMwa{MQi9`0J|g6MIZ+Ez4%MWw%C|lAZI1 zt0*3DR)`inF^AVvYbMZ z@R`Mx%fxS4e7?}!$!a1vx8(Ecs|@7qJGR|;ihuJIpTyCn8&@x)Ny`ZV!gBv1ychrg delta 1656 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 literal 0 HcmV?d00001 diff --git a/src/java/libs/mac_os_x/libjSSC-2.4_x86.jnilib b/src/java/libs/mac_os_x/libjSSC-2.5_x86.jnilib similarity index 52% rename from src/java/libs/mac_os_x/libjSSC-2.4_x86.jnilib rename to src/java/libs/mac_os_x/libjSSC-2.5_x86.jnilib index ab1e49d27e044097f9619b457dd6b12489a9dddc..35492c122f1dbe86d06d2c2df6b042f4c0e68261 100644 GIT binary patch delta 1215 zcmYjRUuaWj6hGh1ZOFggd)p*!N|T$UCYxPtte`9%)ZMgeSEypuX6TD`YGe-z1yfkr zI@6gvTraDchrH~eI>ugRM>paaii7Cpio!sd107Skhe0+grrl^a5bn;GMoi$l=XcKe zoxk6`xj4)2&9Z#jQLzI=-2fH)*B=ZCY#eV218fZKmK|&dzHaeG=gwa3S{Qlw+tKy- z$dw05PyhfQoiPny3(3p<02gt}5@c?i5!)M%k?z4Or0>Fn=qWz2Sge?L*u2gb03##Q z(_AW3ARI6DkCgQ&CY=X_ zeNkL+`g-HUd;Fo1tSr6}5gXGG(mj##W^TM(wvnKC9$1S%6IbNyLDI|1=UwgWPSNk` z64(+BOG)8u2VRi2IC?t(c$t?w@E7R_`w8Q6h|S|cIVMbpQI~fLePO&M2L*o^|B}1e z6Z9$X37>_qplGLOmP<5{G3YZU6Y`eUp)4MPJuf&-@(`$)=!FRa`VBpIjO1hGcuWpviAF^V+(OgR;I<4INS+qC zr@TN_jcP`F_B)<#gKOk?E}|)%MbgEkJ{A#qiYlg-4IWGb6nJlXI%4arSgI3HDV=s) zPVt#mJ8uljyH|5-@;Tn=dVxO;SG8z(qbMG3@~3_@1f#&`r%W%(j71b9>7&XnBWa_& zW?r-Kma9bS;gSk4^FxVuS2;9(>wCU2+SiLM(PlPQ^e68UOHB!8pwO(bJvh)j&F-CcB+o?=Y(;nhG3)9`L! zE1SSi18q2`N)7kPeebzu7wMMbE2cSz+tf{%QN{Lo((?T7xCCJT-zbZF4UVQ+X2ldFXJ=Kg{kL799W@ zVTp*L0KhO|nK%l5thEYDYi$G>V1UB8cND#eO??v* zz<)K%oi_RxpsV2CJTdpyaE7`$Uc+BG0j6uX2PYGl?55X_0V5kgq7IMN;qf{=QHQ7M saJCMg!@>Uj4X;qfu419TQ?#B;ojjFFEkysiSH9W9YU20U~3Dg#Z8m delta 958 zcmYjPTSydP6h8m#xU948&hF~EYw7G*vt_2XMukF`S#|BgR(9Fc9#kYEh^SzTA}!4# zhap)w5EfKEL~p0tIS7yJ2zc`X$CaE#&>jPgb4X`9WCDSiZV`40a&@-bsq6tJHkqS z^+>l!Pe|~{01SXZ=|zhw^*ws=1&^t$sXB+Z%SJ?>8*r N@qP133~yY);4d$u5bgi~ diff --git a/src/java/libs/mac_os_x/libjSSC-2.5_x86_64.jnilib b/src/java/libs/mac_os_x/libjSSC-2.5_x86_64.jnilib new file mode 100644 index 0000000000000000000000000000000000000000..74a96680ecb49d2eca1778e60adbfd77ec076f71 GIT binary patch literal 14464 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 Date: Sat, 27 Apr 2013 16:03:10 +0300 Subject: [PATCH 085/126] Replaced Solaris 2.4 native libs to 2.5 --- src/java/libs/solaris/libjSSC-2.4_x86.so | Bin 13392 -> 0 bytes src/java/libs/solaris/libjSSC-2.4_x86_64.so | Bin 17112 -> 0 bytes src/java/libs/solaris/libjSSC-2.5_x86.so | Bin 0 -> 13728 bytes src/java/libs/solaris/libjSSC-2.5_x86_64.so | Bin 0 -> 17400 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/solaris/libjSSC-2.4_x86.so delete mode 100644 src/java/libs/solaris/libjSSC-2.4_x86_64.so create mode 100644 src/java/libs/solaris/libjSSC-2.5_x86.so create mode 100644 src/java/libs/solaris/libjSSC-2.5_x86_64.so diff --git a/src/java/libs/solaris/libjSSC-2.4_x86.so b/src/java/libs/solaris/libjSSC-2.4_x86.so deleted file mode 100644 index bca11c43a543d6a6292def2ddd707c4f3e011858..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13392 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 AEC2ui diff --git a/src/java/libs/solaris/libjSSC-2.4_x86_64.so b/src/java/libs/solaris/libjSSC-2.4_x86_64.so deleted file mode 100644 index 5b80347fe8d1a419206e99f1a08b0a73ce66ec3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17112 zcmeHOeRN#Kb)S`Gdu>bFwJ}AB4PF~L7_fytuxr4kT77vJucSpEAew~LvRYXi%i7KE z6WD~pDr=`U4-?Un#!b@JIVU|0r)lfc5{?r%%K8H=7if$jsR(H*KGLjMNDYak z{t6>fBzbBx1!@C@W3vsa#_q&?gP&^b??JFl6De|NFL zt8p!pdQj!6{$Q9pNK)CKEXK%;_c_@f1$;`%tA?Rl9h7#v6p+=x&Xgu)!v7LtTQuV~ zvPtMk?73Qq5zq_Y$rNiwb7j2W<8Nd!fC^?hxW;NUg-P5B9MhZOi}Tn{2{e6W1DkOSOma65w_VPGzhE?gV}};w(Qt9(jw3%77YmbwaNFB62jgk3nuPFG(xpMm@`C7-uY6~}sd8tHb}K8R5s zDA~jMY!C%-4-M9BZr7?HnSibn;QjesfyhE1T! z9LT0H)j5<(N>)kpjmArb)iUz?pts1l+J3ADuY9yj5`Q2gRiM=}UL&cQ)PkwUvjGo{ zlL{Etu`o-c%6y&nBt!lCHu-3ALOhu zWD`^2WEWH6)W1X0j6aROPH;9G;7eA0f?eA;QzhZ=MG415W*Y$uiF5>!+&s z&lxWiv86_ZwCA93a2k2q2f0{c;_D}}ob)mSr#%RT52h*Sw3M%sj`L+hTr7p&TrzGZ zv_GbPJ#Fb%J8-feT0bbz9)ZFmQhvZ9|8Ig>G^v#6+X^KV~WaGr+0+F==noe1)HJnb}0{od)j)J|7;%`u+DsmdAXQ z<*RkzuUOtG_E_3;faM)ReXlK*bsqulGPOfR-;w2y$nw?r&%>fj{n~4(_ZHwZ4&SoW z`#F|ZrH<2}l;3NS|FXnKBre^7_{KEl?4Jft%W|Hyls_!-v;{vc@qHG22?ln-c(cc1 z>!-oJ)8NgF7m8zYaXc+fLUAopnh-TL1`PzlTLYcpcz6@CgyVsr1|Xt| zKp+(B=}QEL}yK9;nTbrAFf#%khn%0(pw-MEshwj`I)@p-VusWh8 zs<$=vZCO(v2}Al05v7h5{^fLJ&i#va(~#{i{^I)L*c*!@rV|#-lm18XqdOL zwXV6j&EJZ~U9=$7Z`9zA#BtS`PPOkEH>GN_>wqbh=^2a480=w?vU;ukFka=u7! zIMD*}KIpzDnh1;DU~e?h6As5FYt}G=W@!ZRaPZ!$?4R)o90NE_mGNCpUcxqikwxy@U$1+ScaD#ns&vsBM`V zZ}zp+PMM*(y~g8iMz34i8t)FctGyMNk+DE598W}hgFO*#n+RZT(o8K6wLmvK0pfiz zEm0Hg>($oO_rxNB`vX%K?rq#~(cZ9vSsPSE#pX5jvHPh&Ed*<2iwV@;)97yS)?BnG zG|w>BhG1gz)@9S+~LGmH`UiG=PDa<$AjT`6n3N~NV`57SoYRY!&?WiJjCO@(MuUd ztIK1fX_PPc?*$)|Puet7~iQWsd z<5HFqa$3`@B+9#8#?X@s3HY0vYU*m+n(G2SZ{tQcEtBqQU)>b*bbMA+H`lp0PVTT- zy^T$cb*3G||408XjsTrI`0=>#T#E-^(0p!1XL)p_K<8|921n;c^eIw=rvZ-_Pd%Om zc$VYw;h`-qodY`Y(AgG!n$o$`9e8LPOPzdMtRcY|n_SmwH3vse)6=6He!dDioV=b)Lv+CS09| z5^gu)^3#OHhh@F^%$acZx9+$Fa;tB>!X|Rd*Wo>YkXufC zHzkjboMMR4z07}_czorH(E;Wc5Krbb znq+=1@nlA$G3N7#r)f0W!Td)Hz|SGx&-{nP)AS#$V*Xv?=Mi7V{9DA6s~B}L|1;vr zjg2~)KTbRi<)~o(pNS`TGkW3zfaM2?rzti%!u$`3Clee!#{54LPi}5B4IY$3n@2CS zBgLb?;^}{vn(xui<`#VZpb!I;_TGGzMpi2mXuzilEp6^rcboez_uZb3Hk}Ie!+9(1xD5ZX$YP7>Zja#j?;If`>K);l@!?eoPemzLJe6fAt-rLcIEL* zIgr%IIsF*5L(dJ8&NGVvW@mekJpVDq67^&j5wL+`^AY3p%ypD=ty3$@T+OjOZAs<| zjum>2q;XXw=Q(l!JldM^IqF8aK;k|6Jd6N!UH=Jc%{}2q=e_##p48!DcfftG`}6M4 zeg3nD%wy_Ul0>`2j$GgD%JeAxjGf9=^v&JR7JUn|8^N+c-@t4yShnXyVEc1lL2e*y z(RAwGpZhZdVVgdUczChGJ&vd{{tg-$OB>P z{tHGrkP3wDTW2H<+v}UXpDaB4P=7ADoLMsP?3VtV*vKr|clKVeXe)%tyt7SU-(;4o zJ6i?zpp8<=n6u?zx6dG!+(UL5ShNN#d6DcDV4X!`KXj1$!Bs#UwFiDP)i^trY)2{$ z^31;c%5-)`DmM#-aE*&ox!H)jkeqdv#I}cXu3h>!W@4y2?|d z9T?fv*^0h-?m@)h6`0>hJS(w^`Cj5#i*$pb|14_}5UcTOhFFb&SdViVVm$(4MY3wo zvLXSoCf`AY{byN|fLN8UFvO|^#JU`0h;<2wmHD>}u`&U%Huo^Z+62T7YX?KDQM-GP zRod5omQ@O#bs7dwIt9;4Z3F+N!Sfi`fhVmZoz=P;JgF5t>vcJJ(kpmY?3Li5Soa`l zc0Xyh)=_)HojOD6dn0=zV$k2ST=q3!pulHckjl;nV}F)&85$f`PUdyo>GA0!Uj1X` zWd0RML+E|XTep5bL+NlbW$x4kxTpIu@DO$Dr!uaOD8cbqXdJp)LagL-5Z{0_w_aOf zPmTO|-tdn1wX0Ik=Thfw56n!xSd}ew@A_PceRLUwQg8pL|7|qyk^UExP!uP)`#Vbt zwto?htiPlre*`quS(1Oj{X%WYLP751*e*gUimp4ns5=3oR0;Cr*PIWm+F*bg{0avt>*WM`*_ z@+e|1=F?Qn78G;f%#z*hwrpPI8yNS@mw-5)IRp>t9P^)qhk$2#@iIHpfi5+_F)!_> z56}$It~^aYatN||!G6?HcOqM8fZ9Tyq@K`6nK;UVcArdV3-tr3k-XHKws{8}UrRfl zNuzT61ZUDU(BcXG4E@*74Hi+mzkfQH)6ZpYS7jj6L^sd=d_o!0@k_FwEcFx8TiSS? z-A#iQdRITMzwY6M%^3YPs6Khlrp<=E6r9V>Okn}eSA(mcALOx}4)|btbBfInTc8|&YKXBh)L+kBOH~=$NICFJflzz&lV}g8W8k;xb#}c$EN9R9 zW-beDyrFG4O+WvOK8OBl>aD!gM|s-JU3K=XomQ|UV)~)fNPg-}e&4MAqxAKfdfT2l zXNOP&))7GYLQr%TUXVs@FfBu!tI!5=8i&YTVT+r2={M}IxM##a2R?HIuSw%i9?GM? zt5&5N$V@aWHzA?(Pq*wHc|Qd_>Vyc!421 z+QV)ObDYdzH44a7;WeQdZ0^RiH|(9-q`$u74aeh8p?G#QQ1{@MpjK?CkA29UeQY<< z`p;#sNIX>eqgNa5bLvM8My0~AUgHFdang757bn7DZ~=F8akPB(igeC%Mizxs}u z^yNf;CU<8UyB&OR90d!IcT(^?9mW)@t9-w9S5L`GvRcfVmFB6GKwBuWj8e*E3eTr| zkV4?i66B`WQqz6F^qH^ZQv)!QV|LH3){-jEE)8DdmDF1^ zyWqpv`0Nm=Gq%3@p54BZmHHg_uEzY)mr&6F&8|g+mPzy(peFmnX0310qrQ?Aj%SW? zF53N0NO$%XBHb?2v)fW2!s zT>=Be47k?Qd}6@GfMdOI0kETt5(3=2W*Ogk(1*!I`t&pKdS3lB^xmMqfJF9q?4il$ zv1yzmhe#{ZkKOufFpL-s!<{;8!wm4G&dhUs`5Amh8s4#cnh!=}zM_x`7AyU^3zkVv z1q1E$?4J1ygE94 z*u}oG&7;59qK*{&0|VJv1FU_YzWh#`4a?hWIJO|4;Yr;pv}>>g<`z)?RaBcNwN_|z zz4~({$7mac`bgTPq!&#oI>e#_w6{|u{n?`jk%xn|J=2IOaWX0z4YCxDP*Z95$$(-= z247Rt|h2{i=*Nr(ifJlA-X3IWSykq8Cry&wa{eK*U!iwlx3av2iW zNLniC?UFW1datCtl0Gcy_lbNJy06Xl*&2{K)=KR!88?yqIKB1+D6dZOI-lz^qYVT)YLG;#{&&RAY5Z7Pa8 z5BLE*Oj~9SY|DtzmWhHjeZYV@eJA47pCq1DwjhP?H@X>zZDTki!X_ZYbKUR}~<;OP~DgVIy7*uY05ez%bCKYbIzpHTT zeJ_Pu@0lfsje4#3*p$5W{;ukm^**SQx86TX4jJWJ?^!0Ddy~{f>%Csp9_u~hq|+$J zdhb@rlbt8=d|leb*Oq}n7`fh{rzBl^gTen?(zBA@bEAR(jilR44gQ;wK2#=oNuQRq zy4=A3PExDgx{PF=UvxrGc1k9zey3Bv&qdH zQYeV4U!B`}gIgjYQ5xxeC|{2&<*QGnbUP7gQNGYtx+#ie+^R`*qhq*g7~UER$Eat4c(8X9 zT?aJe?n@-PL}@G%8e>Ii4?w(CQ9VXduvdEe(h$r9x9vn}qC26*wcvfyfA8ZkOlR&0iau?y zV{esT0m~3E=O2(8EJdqic}m`zeC6sKP^IsOne$N2}-wxo}Xuq#9Mf%I^V2U0jBTg8DyQMb-c58mUGZ zDo)go2cN2A?N|SIt0)~(Q&8)ds$ca#h%}0;_N)J+RkWKLjbI%=)&4C=qx{t*grNQ} zS5ftUyp*4Q<52ah{Iu_*DpdQ_y=6tKWc?7~pzpIx{1#UHktM(K z^NKzy^C_b0SA5EnU)}Rpbg2@Q)S7>n%&*2@-6L1@F-v}H`=5~c)iiO+{h#{3_hXj) zs(wZ37=Xr4;z{ObRP{N_s?rZTMc|LAwjPyM4YQR8>H^}jrxpSyOs`RTW1*{2CZ zbE*CRxy+9;{#*IqMt=P65e1nLRQ-IIYD%%%&-+NT>V(AYw-}ikEQuCYoPrpQy~_|E Od$*~}M3xK|R{R%6`Cmi; diff --git a/src/java/libs/solaris/libjSSC-2.5_x86.so b/src/java/libs/solaris/libjSSC-2.5_x86.so new file mode 100644 index 0000000000000000000000000000000000000000..b084572d9f724d46841cade39f0ac57a3c604371 GIT binary patch literal 13728 zcmeHOeRP!7nZFYT7$A^=#x)fzV?|2^BLqd3O3l}V3FKqQx2rge$;6o$GI2f-tkk4$ z!r}ELHMX{g?r~Sn(X*>v_mpk18(T{g%~EiwjV*4|E!{>B$4(4wv1R2$W%l>G_kEMs zgaV$k|LxwxljlAk_qq2z&;5GuTpsn7l{g%Z84jV+G%-zB`CGxtS*iH93XgD#rQ%w# zNPLt|M-PBaU~-$_l$01RZ;~Q=nUFADG8|H_c&es5fCw{9c?R&H31qEMYNlM-_pnkk zWdiU0ybyDN+iwzL9`FnR+jAOaS?|$VLd*tUia(Tn2;m%Hnwc-emR8UUfVV*TQ@|{n z4SX8JRlxnA&wiASK8(hlNB>!t?c4`|9&L!L0mV>e{s5S;C)*Aa!UaHGTj;aT0GK|2 z9pX=ePh$&#zX*C7AbXkFX)63Lr%Ko>x7lP(>50o-8nK4+6%EPIQMnP1@!n&ZVvq&*e^Oqye4KL-d>21a5&@G%=* zOM#iFf3HOVlWv|w+en$+YGW`q$w_qQBziaKd^r9$zzY!R?*bpj;N?7;j~VhSU@Oty z?*K#S1m_j?uYm)45xjjSU2by-_3J0m!AW!r=qGLUb%TD&M*lr%|7V1VnD!5Ye$FO; z7qpc)m;Xfl<%&5UGx!{`y*B-;xJa0Z?OO=iTBqhubBmRrkJ|LBLAPUqPlqo18@HAB zfcJNk=odiu*~uO=&MvoSamC7AE5e{M%>Nx5k>Bpgn*)LBDLX7q-dS zpEl6@Z1P>8C;ahgVSpaC$-fPH1r|8Y7548C=pp!<>kR2rpif){0%<;0gV`7u$8F_5 z&w*kl*1sO~mg~`0_?_h+2F?A9Yvuy1x*e1BcY*d})8ROv{&zqRVe!~t(*Hh5|5u

7^0>K0rk%R~Y8rxfw@j!E=Ei%q*iN_mr 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 Bl)L}{ literal 0 HcmV?d00001 From 3cd01f96a00f157ab3d28afb8eb6fe0b7627c916 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Sat, 27 Apr 2013 16:54:48 +0300 Subject: [PATCH 086/126] Replaced Linux ARM 2.4 native libs to 2.5 --- src/java/libs/linux/libjSSC-2.4_armhf.so | Bin 10031 -> 0 bytes src/java/libs/linux/libjSSC-2.4_armsf.so | Bin 10103 -> 0 bytes src/java/libs/linux/libjSSC-2.5_armhf.so | Bin 0 -> 10287 bytes src/java/libs/linux/libjSSC-2.5_armsf.so | Bin 0 -> 10431 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/linux/libjSSC-2.4_armhf.so delete mode 100644 src/java/libs/linux/libjSSC-2.4_armsf.so create mode 100644 src/java/libs/linux/libjSSC-2.5_armhf.so create mode 100644 src/java/libs/linux/libjSSC-2.5_armsf.so diff --git a/src/java/libs/linux/libjSSC-2.4_armhf.so b/src/java/libs/linux/libjSSC-2.4_armhf.so deleted file mode 100644 index d285e3b23a7f604fbfa5e4d9ed5bdf0210023dad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10031 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 Yj6189n``KE@YLJo;6-gz)V7KL0gNDsa{vGU diff --git a/src/java/libs/linux/libjSSC-2.4_armsf.so b/src/java/libs/linux/libjSSC-2.4_armsf.so deleted file mode 100644 index ff72606067fc34e1c524ad1b2c75aafc499fd1e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10103 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 V#+qa3cktBPhtsq+ z_Uzfm`S||a?|%2*?|$ER@0*u3*Ef7qQ50c6PEjq$9Umz~EpX-%Asj*!)e2Pj1+mwC80KBiBBv5n?)HU2M^^k6g#0&KgO3Qz%G^jw7o z`mszZOaT6hq`kmCN!J2b0ftMS=;8vJqz5o@kc|GM|G0L-B|YxhzQE|-y3MXKabG|< z()}*CD!TnUN}Z0KZc~?bIS;Ord&Y!3gQD0^y8{%z{isZ(!# zF!H`%G<~fx8(e5L!tk?*(s{^Z!Ai)*STPElSM`Ef43_}A9xfBgS885~ZzQ!eBIA16G%(jv|O8DIZAh)0@S zcvMjIf&Hi;9=91__Fp@Q{~41{K5Tz*5dVPP2+a2H77R%K2ZP#I58^X}?ClxUfA667 zYX`O8IEdde$o?mT_($wSfSmK2KB&JoNT0cAKa)W`fk5B*lqKh!CqH^JstKkXlI_Nyh&e6r(V z4C3MESWgy{TrKUd8D#Gz*n7Fa-ZO*dzYP7?BUuhg`+pC99_&>~z7BS)F8X}F-yhWf ze%Rj#`^+oO_a@+e6s#)9$#+7(aDBC~UxD#jrG5|Wv!EWA`bWSYNAc*A?F#f;k^H+Q z-w3^0jJH_wAEEtD6b##6j}MyPW#C)TzDw!{VLy%aq$R(H_OafS#!l_idSlS#*wW6`5HLwD6h_tuI;=$H_Vk@Ju zmSA%t5lpoE&}sTCn3)~!XjvFeMP{$MsiO_+u%vUtsqpM*DrrlliD*l7#gG%n36YQ-b0l`!X^*mM)F7BLpzwoOnkpHDo6&>Hw zQWXPO>B}I!Dcpw587ij#c%Cc^ZB|79wXC^0m?Sry@@7jOjI=Hjj9p*#3A<%aFEtjssbIM+Nkm0{VCX z{cZvMb^(2)fIe72?<=5RETDH6&^rt0CkyCa(B;1EM!CA(aQZf79lk9mglNVT~cgrfju2Mo-}w?uvpjV8cB#e`Sugx*kD%!xrx> zBGY4>yBYKJYPp^JpEMk4Ehjj3Kd@iR)uYc@FXrE)#y5?ZblW2~SJ5zw8XY?(-8%aA(b6>*1-D^{tK z`shd99_YEiJFdu>{6_Glkl)V!zFxxx+6{ZVW^6HrsalR}D~7BDvU8hWJ-Nx$>oL68 zo8RQ~r4C@Eap?$PM=0yW*v>PMD(v*4l`^{{`NG$$6TD*y;)BqlD(< z9wWt$y*-_K704Y`wii)$31o+*?4Xn(*N*LzvX`aoMalO|ez)YWfe&^n+YQ*t%^wxe zOXOI1|2(#JWI!J-d6a`=TSo-+5t5&ed5yGb$S;Q-5ByI%i>2)*Io8+Ew?WG0Nm;Hm zp!+3VFWXQu#@EWZ#JEq=K1$B9t>ED!(+`J1!`~*o0W?bAcTx2KsXE=L0*W4&#G<{TO@DFZ=Hnmalh7ey8L$$)C#S$8SSEaP7TP z)+2Rt!vlJkO~Yrug6?Xm>y~p?B=*l9CETdT+LTL$2ROUzDlrmR47*m00?r(oCPt8V zmk1Z}8*WhyTmn#cl!zi=G>MQtPLzU9ub&`>1B>3#Vi@s$ML2++00mGa`~&b0WAi~T z=gpi~ww&NPY#$xLIdT>`>N&b#z=1sT_4FBa{e1>}oU2dt8T&s&PNcP5t>`ljlMX?S z^*jsuLLU0H+{54*(RkmSHHwv-WmT6Kp7cxbx&}T#6 zjXV^{U7zm&@_9qf9a?YrLx-Goj6*Nln5Sy5F}ZDn{&3~%`kHH@7e1s5P1Eo7zOG+` zeu}zZceWnFYwIH2<6VzF>(OVuaglb=7zdzDyz3%=7wI8j)Ej+~IoCz{9l!#-it)HE z)*F|qy-u7IcedyYC zIgzf;3aO(Y{+!db+%|9bKqk~@jNb*l{`CW{9^4Jm0L-N~&^_Qx+?OrKJ^=f^I*>5({kxdiBSPt!!bvZ?lx}WI#4$}*mH+>X_hs(Sj8CLb=j|( z`+{>Z6v_y3t9~M%f1@00-iFvvd~35_&}mTy`;Qo zpc`!-0Q2z34BR0Tm~+62HFv0cfc}|_T;ZB*dAuU+CNLML7^gcX ztt~^}u`bZc*VmQ7##lG$Yb^RSd{$R5*Voa%aGtxQJHqpbu*)_n&hMzz)}Y59fgS1~4DS+CuQ0tKYPtiEHr61z{*o(ef_+ifDd(U^+yD|{3~%IJs1!f(yy1X+Zhv=y2h)m2DE2GoeBZWUAbO7n6A(~HdG z`u8}}FMe$CuHS+0-<7TgX8TE#-<=Nqo_d$2>;C}!yeqwrxc|9y=#%`K@4?0`|z$}{_O(p?&cc#y;|(R?~RhDYbs#mU5E`ibNr z`ce=7*1~>vVv+yfV2?$-9_z+0*(G2X?0h$C!*6Yw>WVfBhmcm zC6r4+7R?gH#cpMoQtBAvDp$rT7db1GuPEak7dtDJ3680Xs7WqQrrJ~CC88!4Pep2$ z#X4%1bVOTQrbSzX$t@4#<5Nw`s#tPWn}zZD&1_kLk0kusR>%a=)*fl4zC|QjQ=-QF zURaZgbb>a&8rHPO&7bybu3NaECej&g=@d1Q<-w)+dKR(NgW>k}@G48)rtfZsbyyC! zMVm2d9M&u=_&y+Nn&WM4_?{(9oBYTYUDCmCMqmD6oRt8WwjW8T0=6HZ^9Yb24w0`uNuIysmHjtfnzXUse_+Y%$O!mJ#(U%Ec3&D zFa`6$Zxv>&Q;%^@NPxCgDJNVHU~Z6Reh@;S3&#a3ctybd!tBHRA~4cyd&JDMy8yNx z^O3+jWjohr>n#P%xiZiB-JSr|3y*C#42i90=bGPMB-*G)Xf4p=-((T0Sq$W3+iM4J z+w-VajpDrR$JXnFfO_;xxoQD@U_Z8A8UpAg)&ehAE$9Jluf^7T$kH?Ior501ZbQ=r z`ccrBy1D1)HS6!e{+!+p=&&R+7FbWkq|a?oWcT?#Xw1)wA?UfjK<|gp;apbvqjU5?uYy{oANb`TT5#9#C7DL^9z6ZVOHUmr@KE$T)Ob##X&^s<^qC!2!o%IYi=lx;< QPra85cu^G=RW0Iw0nuqFC;$Ke literal 0 HcmV?d00001 diff --git a/src/java/libs/linux/libjSSC-2.5_armsf.so b/src/java/libs/linux/libjSSC-2.5_armsf.so new file mode 100644 index 0000000000000000000000000000000000000000..869af78d5e9daab7729bc31273c410f7b503e55d GIT binary patch literal 10431 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 Date: Sat, 27 Apr 2013 16:56:57 +0300 Subject: [PATCH 087/126] Changed jSSC library version to 2.5.0 --- src/java/jssc/SerialNativeInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 1cc2f0cda..052eb3d43 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -36,7 +36,7 @@ */ public class SerialNativeInterface { - private static final String libVersion = "2.4"; //jSSC-0.9.0 Release from 21.12.2011 + private static final String libVersion = "2.5"; //jSSC-2.5.0 Release from 27.04.2013 private static final String libMinorSuffix = "0"; //since 0.9.0 public static final int OS_LINUX = 0; From 7419d9b0bd2fc1d9c497fd6cdd9fc0d6ddf5a549 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Sat, 27 Apr 2013 17:01:23 +0300 Subject: [PATCH 088/126] Readme file update --- README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.txt b/README.txt index af5e72af7..27c6741ce 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -jSSC-2.4.0 Release version (26.04.2013) +jSSC-2.5.0 Release version (27.04.2013) This version contains native libs for Windows(x86, x86-64), Linux(x86, x86-64, ARM soft & hard float), Solaris(x86, x86-64), Mac OS X(x86, x86-64, PPC, PPC64). All native libs contains in the jssc.jar file and you don't need manage native libs manually. From 4d98a70e340c34bb70ac7e904395ec1f005ce368 Mon Sep 17 00:00:00 2001 From: scream3r Date: Sat, 27 Apr 2013 18:12:13 +0400 Subject: [PATCH 089/126] Added include of for SunOS into _nix "jssc.cpp" file --- src/cpp/_nix_based/jssc.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index d13d89cac..41e4ec3c9 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -37,6 +37,7 @@ #endif #ifdef __SunOS #include //Needed for FIONREAD in Solaris + #include //Needed for select() function #endif #ifdef __APPLE__ #include //Needed for IOSSIOSPEED in Mac OS X (Non standard baudrate) From 48af99b78016ee5f19043e1095756af3a95eb7d9 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 31 May 2013 10:43:09 +0300 Subject: [PATCH 090/126] Readme update --- README.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.txt b/README.txt index 27c6741ce..5724cb243 100644 --- a/README.txt +++ b/README.txt @@ -1,3 +1,5 @@ +jSSC-2.6.0 In development + jSSC-2.5.0 Release version (27.04.2013) This version contains native libs for Windows(x86, x86-64), Linux(x86, x86-64, ARM soft & hard float), Solaris(x86, x86-64), Mac OS X(x86, x86-64, PPC, PPC64). From c5dfff9ec04785998991eb952e9afef755798264 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 31 May 2013 10:49:00 +0300 Subject: [PATCH 091/126] Added os.name - "Darwin" and os.arch - "universal" to SerialNativeInterface.class --- src/java/jssc/SerialNativeInterface.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 052eb3d43..3fdb9bec3 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -91,7 +91,7 @@ else if(osName.equals("SunOS")){ osName = "solaris"; osType = OS_SOLARIS; } - else if(osName.equals("Mac OS X")){ + else if(osName.equals("Mac OS X") || osName.equals("Darwin")){//os.name "Darwin" since 2.6.0 osName = "mac_os_x"; osType = OS_MAC_OS_X; }//<- since 0.9.0 @@ -99,7 +99,7 @@ else if(osName.equals("Mac OS X")){ if(architecture.equals("i386") || architecture.equals("i686")){ architecture = "x86"; } - else if(architecture.equals("amd64")){ + else if(architecture.equals("amd64") || architecture.equals("universal")){//os.arch "universal" since 2.6.0 architecture = "x86_64"; } else if(architecture.equals("arm")) {//since 2.1.0 From d57c122e2f09ae1f754c7a6ffbd6281a475ebba5 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 31 May 2013 14:27:49 +0300 Subject: [PATCH 092/126] Added ttyO to Linux RegExp for finding serial ports provided by Linux OMAP serial driver --- src/java/jssc/SerialPortList.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index bd97d55b1..7628cc5c7 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -43,7 +43,7 @@ public class SerialPortList { serialInterface = new SerialNativeInterface(); switch (SerialNativeInterface.getOsType()) { case SerialNativeInterface.OS_LINUX: { - PORTNAMES_REGEXP = Pattern.compile("(ttyS|ttyUSB|ttyACM|ttyAMA|rfcomm)[0-9]{1,3}"); + PORTNAMES_REGEXP = Pattern.compile("(ttyS|ttyUSB|ttyACM|ttyAMA|rfcomm|ttyO)[0-9]{1,3}"); PORTNAMES_PATH = "/dev/"; break; } From a9b6a006eff20e4c3f719315e9f71e8f5e7a9322 Mon Sep 17 00:00:00 2001 From: scream3r Date: Sat, 1 Jun 2013 11:42:57 +0400 Subject: [PATCH 093/126] Added support of "int flags" for "setParams()" method, and also added flags PARAMS_FLAG_IGNPAR, PARAMS_FLAG_PARMRK for changing state of INGPAR, PARMRK in _nix based version of jSSC. --- src/cpp/_nix_based/jssc.cpp | 20 ++++++++++++++++++-- src/cpp/jssc_SerialNativeInterface.h | 4 ++-- src/java/jssc/SerialNativeInterface.java | 7 ++++--- src/java/jssc/SerialPort.java | 23 ++++++++++++++--------- 4 files changed, 38 insertions(+), 16 deletions(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 41e4ec3c9..230e2489d 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -220,12 +220,19 @@ int getDataBitsByNum(jint byteSize) { } } +//since 2.6.0 -> +const jint PARAMS_FLAG_IGNPAR = 1; +const jint PARAMS_FLAG_PARMRK = 2; +//<- since 2.6.0 + /* OK */ /* * Set serial port settings + * + * In 2.6.0 added flags parameter */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams - (JNIEnv *env, jobject object, jlong portHandle, jint baudRate, jint byteSize, jint stopBits, jint parity, jboolean setRTS, jboolean setDTR){ + (JNIEnv *env, jobject object, jlong portHandle, jint baudRate, jint byteSize, jint stopBits, jint parity, jboolean setRTS, jboolean setDTR, jint flags){ jboolean returnValue = JNI_FALSE; speed_t baudRateValue = getBaudRateByNum(baudRate); @@ -299,12 +306,21 @@ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams settings->c_cflag &= ~CRTSCTS; settings->c_lflag &= ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL | ECHOCTL | ECHOPRT | ECHOKE | ISIG | IEXTEN); - settings->c_iflag &= ~(IXON | IXOFF | IXANY | INPCK | PARMRK | ISTRIP | IGNBRK | BRKINT | INLCR | IGNCR| ICRNL); + settings->c_iflag &= ~(IXON | IXOFF | IXANY | INPCK | IGNPAR | PARMRK | ISTRIP | IGNBRK | BRKINT | INLCR | IGNCR| ICRNL); #ifdef IUCLC settings->c_iflag &= ~IUCLC; #endif settings->c_oflag &= ~OPOST; + //since 2.6.0 -> + if((flags & PARAMS_FLAG_IGNPAR) == PARAMS_FLAG_IGNPAR){ + settings->c_iflag |= IGNPAR; + } + if((flags & PARAMS_FLAG_PARMRK) == PARAMS_FLAG_PARMRK){ + settings->c_iflag |= PARMRK; + } + //<- since 2.6.0 + //since 0.9 -> settings->c_cc[VMIN] = 0; settings->c_cc[VTIME] = 0; diff --git a/src/cpp/jssc_SerialNativeInterface.h b/src/cpp/jssc_SerialNativeInterface.h index 237b02422..e3182e134 100644 --- a/src/cpp/jssc_SerialNativeInterface.h +++ b/src/cpp/jssc_SerialNativeInterface.h @@ -58,10 +58,10 @@ JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort /* * Class: jssc_SerialNativeInterface * Method: setParams - * Signature: (JIIIIZZ)Z + * Signature: (JIIIIZZI)Z */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams - (JNIEnv *, jobject, jlong, jint, jint, jint, jint, jboolean, jboolean); + (JNIEnv *, jobject, jlong, jint, jint, jint, jint, jboolean, jboolean, jint); /* * Class: jssc_SerialNativeInterface diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 3fdb9bec3..4f1d84087 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -36,7 +36,7 @@ */ public class SerialNativeInterface { - private static final String libVersion = "2.5"; //jSSC-2.5.0 Release from 27.04.2013 + private static final String libVersion = "2.6"; //jSSC-2.5.0 Release from 27.04.2013 private static final String libMinorSuffix = "0"; //since 0.9.0 public static final int OS_LINUX = 0; @@ -280,7 +280,7 @@ public static String getLibraryMinorSuffix() { * Open port * * @param portName name of port for opening - * @param useTIOCEXCL enable/disable using of TIOCEXCL. Take effect only on *nix based systems. + * @param useTIOCEXCL enable/disable using of TIOCEXCL. Take effect only on *nix based systems * * @return handle of opened port or -1 if opening of the port was unsuccessful */ @@ -296,10 +296,11 @@ public static String getLibraryMinorSuffix() { * @param parity parity * @param setRTS initial state of RTS line (ON/OFF) * @param setDTR initial state of DTR line (ON/OFF) + * @param flags additional Native settings. Take effect only on *nix based systems * * @return If the operation is successfully completed, the method returns true, otherwise false */ - public native boolean setParams(long handle, int baudRate, int dataBits, int stopBits, int parity, boolean setRTS, boolean setDTR); + public native boolean setParams(long handle, int baudRate, int dataBits, int stopBits, int parity, boolean setRTS, boolean setDTR, int flags); /** * Purge of input and output buffer diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 181f72c9a..440b427b9 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -108,6 +108,11 @@ public class SerialPort { public static final int ERROR_PARITY = 0x0004; //<- since 0.8 + //since 2.6.0 -> + private static final int PARAMS_FLAG_IGNPAR = 1; + private static final int PARAMS_FLAG_PARMRK = 2; + //<- since 2.6.0 + public SerialPort(String portName) { this.portName = portName; serialInterface = new SerialNativeInterface(); @@ -180,14 +185,7 @@ else if(portHandle == SerialNativeInterface.ERR_INCORRECT_SERIAL_PORT){ * @throws SerialPortException */ public boolean setParams(int baudRate, int dataBits, int stopBits, int parity) throws SerialPortException { - checkPortOpened("setParams()"); - if(stopBits == 1){ - stopBits = 0; - } - else if(stopBits == 3){ - stopBits = 1; - } - return serialInterface.setParams(portHandle, baudRate, dataBits, stopBits, parity, true, true); + return setParams(baudRate, dataBits, stopBits, parity, true, true); } /** @@ -214,7 +212,14 @@ public boolean setParams(int baudRate, int dataBits, int stopBits, int parity, b else if(stopBits == 3){ stopBits = 1; } - return serialInterface.setParams(portHandle, baudRate, dataBits, stopBits, parity, setRTS, setDTR); + int flags = 0; + if(System.getProperty("JSSC_IGNPAR") != null || System.getProperty("jssc_ignpar") != null){ + flags |= PARAMS_FLAG_IGNPAR; + } + if(System.getProperty("JSSC_PARMRK") != null || System.getProperty("jssc_parmrk") != null){ + flags |= PARAMS_FLAG_PARMRK; + } + return serialInterface.setParams(portHandle, baudRate, dataBits, stopBits, parity, setRTS, setDTR, flags); } /** From b63e7dbfc168d082aeff76960dd1e6e54937db28 Mon Sep 17 00:00:00 2001 From: scream3r Date: Sat, 1 Jun 2013 11:44:06 +0400 Subject: [PATCH 094/126] Added generics for "Comparator" parameters --- src/java/jssc/SerialPortList.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index 7628cc5c7..e65df18fa 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -217,7 +217,7 @@ public static String[] getPortNames(Pattern pattern) { * * @since 2.3.0 */ - public static String[] getPortNames(Comparator comparator) { + public static String[] getPortNames(Comparator comparator) { return getPortNames(PORTNAMES_PATH, PORTNAMES_REGEXP, comparator); } @@ -253,7 +253,7 @@ public static String[] getPortNames(String searchPath, Pattern pattern) { * * @since 2.3.0 */ - public static String[] getPortNames(String searchPath, Comparator comparator) { + public static String[] getPortNames(String searchPath, Comparator comparator) { return getPortNames(searchPath, PORTNAMES_REGEXP, comparator); } @@ -267,7 +267,7 @@ public static String[] getPortNames(String searchPath, Comparator comparator) { * * @since 2.3.0 */ - public static String[] getPortNames(Pattern pattern, Comparator comparator) { + public static String[] getPortNames(Pattern pattern, Comparator comparator) { return getPortNames(PORTNAMES_PATH, pattern, comparator); } @@ -286,7 +286,7 @@ public static String[] getPortNames(Pattern pattern, Comparator comparator) { * * @since 2.3.0 */ - public static String[] getPortNames(String searchPath, Pattern pattern, Comparator comparator) { + public static String[] getPortNames(String searchPath, Pattern pattern, Comparator comparator) { if(searchPath == null || pattern == null || comparator == null){ return new String[]{}; } @@ -301,7 +301,7 @@ public static String[] getPortNames(String searchPath, Pattern pattern, Comparat * * @since 2.3.0 */ - private static String[] getWindowsPortNames(Pattern pattern, Comparator comparator) { + private static String[] getWindowsPortNames(Pattern pattern, Comparator comparator) { String[] portNames = serialInterface.getSerialPortNames(); if(portNames == null){ return new String[]{}; @@ -318,7 +318,7 @@ private static String[] getWindowsPortNames(Pattern pattern, Comparator comparat /** * Universal method for getting port names of _nix based systems */ - private static String[] getUnixBasedPortNames(String searchPath, Pattern pattern, Comparator comparator) { + private static String[] getUnixBasedPortNames(String searchPath, Pattern pattern, Comparator comparator) { searchPath = (searchPath.equals("") ? searchPath : (searchPath.endsWith("/") ? searchPath : searchPath + "/")); String[] returnArray = new String[]{}; File dir = new File(searchPath); From 20171d97f7d7b7a24907ea7a44c3e05956784161 Mon Sep 17 00:00:00 2001 From: scream3r Date: Sat, 1 Jun 2013 12:53:38 +0400 Subject: [PATCH 095/126] Added const-s for properties: PROPERTY_JSSC_NO_TIOCEXCL, PROPERTY_JSSC_IGNPAR, PROPERTY_JSSC_PARMRK --- src/java/jssc/SerialNativeInterface.java | 13 +++++++++++++ src/java/jssc/SerialPort.java | 8 +++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 4f1d84087..b5154862b 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -63,6 +63,19 @@ public class SerialNativeInterface { */ public static final long ERR_INCORRECT_SERIAL_PORT = -4; + /** + * @since 2.6.0 + */ + public static final String PROPERTY_JSSC_NO_TIOCEXCL = "JSSC_NO_TIOCEXCL"; + /** + * @since 2.6.0 + */ + public static final String PROPERTY_JSSC_IGNPAR = "JSSC_IGNPAR"; + /** + * @since 2.6.0 + */ + public static final String PROPERTY_JSSC_PARMRK = "JSSC_PARMRK"; + static { String libFolderPath; String libName; diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 440b427b9..10f978730 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -151,7 +151,9 @@ public boolean openPort() throws SerialPortException { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_ALREADY_OPENED); } if(portName != null){ - portHandle = serialInterface.openPort(portName, (System.getProperty("JSSC_NO_TIOCEXCL") == null && System.getProperty("jssc_no_tiocexcl") == null));//since 2.3.0 -> (if JSSC_NO_TIOCEXCL defined, exclusive lock for serial port will be disabled) + boolean useTIOCEXCL = (System.getProperty(SerialNativeInterface.PROPERTY_JSSC_NO_TIOCEXCL) == null && + System.getProperty(SerialNativeInterface.PROPERTY_JSSC_NO_TIOCEXCL.toLowerCase()) == null); + portHandle = serialInterface.openPort(portName, useTIOCEXCL);//since 2.3.0 -> (if JSSC_NO_TIOCEXCL defined, exclusive lock for serial port will be disabled) } else { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_NULL_NOT_PERMITTED);//since 2.1.0 -> NULL port name fix @@ -213,10 +215,10 @@ else if(stopBits == 3){ stopBits = 1; } int flags = 0; - if(System.getProperty("JSSC_IGNPAR") != null || System.getProperty("jssc_ignpar") != null){ + if(System.getProperty(SerialNativeInterface.PROPERTY_JSSC_IGNPAR) != null || System.getProperty(SerialNativeInterface.PROPERTY_JSSC_IGNPAR.toLowerCase()) != null){ flags |= PARAMS_FLAG_IGNPAR; } - if(System.getProperty("JSSC_PARMRK") != null || System.getProperty("jssc_parmrk") != null){ + if(System.getProperty(SerialNativeInterface.PROPERTY_JSSC_PARMRK) != null || System.getProperty(SerialNativeInterface.PROPERTY_JSSC_PARMRK.toLowerCase()) != null){ flags |= PARAMS_FLAG_PARMRK; } return serialInterface.setParams(portHandle, baudRate, dataBits, stopBits, parity, setRTS, setDTR, flags); From 72fa4b5b460aa55df399bd03b2677dad21858b5b Mon Sep 17 00:00:00 2001 From: scream3r Date: Sat, 1 Jun 2013 12:57:14 +0400 Subject: [PATCH 096/126] Removed Linux native libs --- src/java/libs/linux/libjSSC-2.5_armhf.so | Bin 10287 -> 0 bytes src/java/libs/linux/libjSSC-2.5_armsf.so | Bin 10431 -> 0 bytes src/java/libs/linux/libjSSC-2.5_x86.so | Bin 13684 -> 0 bytes src/java/libs/linux/libjSSC-2.5_x86_64.so | Bin 14408 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/linux/libjSSC-2.5_armhf.so delete mode 100644 src/java/libs/linux/libjSSC-2.5_armsf.so delete mode 100755 src/java/libs/linux/libjSSC-2.5_x86.so delete mode 100755 src/java/libs/linux/libjSSC-2.5_x86_64.so diff --git a/src/java/libs/linux/libjSSC-2.5_armhf.so b/src/java/libs/linux/libjSSC-2.5_armhf.so deleted file mode 100644 index b97977cdd8abfff1852a4918083b95f2f30e67f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10287 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 QPra85cu^G=RW0Iw0nuqFC;$Ke diff --git a/src/java/libs/linux/libjSSC-2.5_armsf.so b/src/java/libs/linux/libjSSC-2.5_armsf.so deleted file mode 100644 index 869af78d5e9daab7729bc31273c410f7b503e55d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10431 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 Date: Sat, 1 Jun 2013 12:57:51 +0400 Subject: [PATCH 097/126] Added Linux x86 and x86-64 native libs --- src/java/libs/linux/libjSSC-2.6_x86.so | Bin 0 -> 13720 bytes src/java/libs/linux/libjSSC-2.6_x86_64.so | Bin 0 -> 14464 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 src/java/libs/linux/libjSSC-2.6_x86.so create mode 100755 src/java/libs/linux/libjSSC-2.6_x86_64.so diff --git a/src/java/libs/linux/libjSSC-2.6_x86.so b/src/java/libs/linux/libjSSC-2.6_x86.so new file mode 100755 index 0000000000000000000000000000000000000000..a654a2cff9472cb5910a254716c865566f26a22f GIT binary patch literal 13720 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 literal 0 HcmV?d00001 From 44a750fda0ddc76b078ef722025db1c2dca478d2 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Sat, 1 Jun 2013 12:12:53 +0300 Subject: [PATCH 098/126] Added "jint flags" to Windows-native setParams() method, for compatibility with _nix version --- src/cpp/windows/jssc.c++ | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index 696783b25..dae4980f8 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -32,7 +32,7 @@ /* * Port opening. * - * In 2.2.0 added useTIOCEXCL (not used only for compatibility with _nix version) + * In 2.2.0 added useTIOCEXCL (not used in Windows, only for compatibility with _nix version) */ JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jobject object, jstring portName, jboolean useTIOCEXCL){ char prefix[] = "\\\\.\\"; @@ -76,9 +76,11 @@ JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jo /* * Setting serial port params. + * + * In 2.6.0 added flags (not used in Windows, only for compatibility with _nix version) */ JNIEXPORT jboolean JNICALL Java_jssc_SerialNativeInterface_setParams - (JNIEnv *env, jobject object, jlong portHandle, jint baudRate, jint byteSize, jint stopBits, jint parity, jboolean setRTS, jboolean setDTR){ + (JNIEnv *env, jobject object, jlong portHandle, jint baudRate, jint byteSize, jint stopBits, jint parity, jboolean setRTS, jboolean setDTR, jint flags){ HANDLE hComm = (HANDLE)portHandle; DCB *dcb = new DCB(); jboolean returnValue = JNI_FALSE; From f24483ef0568d616f1f59615f93fdf436d5ee9a7 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Sat, 1 Jun 2013 12:33:51 +0300 Subject: [PATCH 099/126] Replaced 2.5 Windows-native libs with 2.6 --- .../{jSSC-2.5_x86.dll => jSSC-2.6_x86.dll} | Bin 66560 -> 66560 bytes ...SSC-2.5_x86_64.dll => jSSC-2.6_x86_64.dll} | Bin 122368 -> 122368 bytes 2 files changed, 0 insertions(+), 0 deletions(-) rename src/java/libs/windows/{jSSC-2.5_x86.dll => jSSC-2.6_x86.dll} (64%) rename src/java/libs/windows/{jSSC-2.5_x86_64.dll => jSSC-2.6_x86_64.dll} (96%) diff --git a/src/java/libs/windows/jSSC-2.5_x86.dll b/src/java/libs/windows/jSSC-2.6_x86.dll similarity index 64% rename from src/java/libs/windows/jSSC-2.5_x86.dll rename to src/java/libs/windows/jSSC-2.6_x86.dll index c3627e6294b7baaebcc70f296bfdc3d72b9d5b15..76af90f40b404cf0ef974bd1d8d0c4033867ba29 100644 GIT binary patch delta 11218 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 VY7`>@h4>n2#@`B=;!jrs{{aRRyO;m~ delta 11218 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 VvZP2r5xz#6@wY;z_|3Jze*!gtl?(s? diff --git a/src/java/libs/windows/jSSC-2.5_x86_64.dll b/src/java/libs/windows/jSSC-2.6_x86_64.dll similarity index 96% rename from src/java/libs/windows/jSSC-2.5_x86_64.dll rename to src/java/libs/windows/jSSC-2.6_x86_64.dll index 8245b006150d00390df2c08a76bc85fc879e824d..55a49bad631d57e727d24a1f2fc99f4185f10dbf 100644 GIT binary patch delta 3672 zcmcJSeP~-{6o>CkbhWc}=`4sPb7`HMA26dWn;)&DeoTa6i>M4i=-dPi!h$*&>bUU> ziw;azF;J^U9MjIJ7n}y6VvvF&4yz2sFl-o921UtGDEN=Q=f2OWH!q6*qo#INMelPY!=NGx5TvgqNQr4lb$@iTfu5;yw zxsD%gw;7iEC&yoMxCyVKKF;Tu*m6LEPGC94l8}7YPUvhJ#991y{MGnz z7QY+66W`^bJ`$27#Mw8ojrbk-{jfAoOb#b64hD(n9>rO@4&&<-;w&{Iv5qo`%RBJ9 z#59+~leZ>!UYjRJx5?!K{&}{Ax58!xn}PsWR}klRQ}GPGoVZ->sUN_XT)E;qATxRy ze{JNpvUxHBFMGtEvL1rVGtK}mf8h8oe}b=1Nh=4Q_XP>M196sjU zzMf$VuQv@JjoNzNn}=F=LbyD*#ox$_st0(6hRWW1woZ@WKKiXDt^>QA#@EOD5$Y}@ zuJ7eF0fB8KxP=cA*F0@lqV6jE&tQEU_7I;Zu5}HkZgB1Uc7WUA*FQU5OI~N%E zAcnrjQ?MI${0FRW?J zZw&muTsZ%g)&WX}t2=M-M{b`SO?C#UX=`UbvKqoUxZ;#+e$mOV!L_N@;k2JuwQ(6< z_rhr4X+rMr6IT45w@WF0^wSLu>th-h5}=uw55b!6>4m zy%eCOb(XUiS#824IJMr-PxN-D8w^;ZPv{QVB%z5h{~rg;m;q#W3#u7AV2WKY^jJTK zHjFPTOlL_5F^XtY6Glm>vD6Utj7A*_Bs4MR(Uc~XNJ#bBIe2J>gaLijvTC5CbQ(jm zXpX{arR4AKmw*1sZFBy&{+4Qe&d+tpzk$8o9hKMY3tKQM&;6XA9?mABUAh@fn|D=q REt^S1DT{v9uls)_{{)Rj_@w{< delta 3672 zcmcJSeP~-{6o>CkbhWc{=`4sPb!j&@KVU{%oFA>EeoTa6i>M4i=-dP=!h$*&({bY$ z79E(bVxU%y*i<{G2Al?=LXd(Y4y%Y_7&Z(lgQ8?86hzSX-1j;4=0(weypaC-oZmU; z{kr!y&CRvs=34S&@&2xZC3vZRp3bqCTuC5@;t)}8>d^vHs+*3b{FS&9>cR*(J z68?tJZDw<41YY{6J!L%vmuH;;Tz=p2UH%wf?~-N?Jnu6SbO)j=Cw&56ewWMTZyn#| zMSMNOCf;ZoJ{q?5yf>zscS5+(f3?4b2UQR73=NgNcWs>>!F}{wOI!zbIf<{g_aoF@ zN?f1IYXSm0NN@|o*NE{nPaEc`yOO$3V0{|)5nmv#b#%awg64i-L!LLQ);=K+}qk%ShlfY3_?indK4p&f#$>$?@4wct{#OL8p zQSHCP0zM}$xyB2;F9>|uY^z4g~w%B)V4 zxQsGW?+j;rB$6+a`iZ;-D(@?a{|c|5x`31H#BUNe#SRbUC~YmDjnfx)0tS$(Nez;OM~8XP{gP z!dFCw1PRLLM)(#~n#<=lcqghmGz8z_#P5Q4q0(Dw?t$+u^9I#MBN%&}g8ShIP(9;^ z;C-m{kwG4YqkSZPnzP@p`EveJw2W~8Ly~2XgYY3OAU_8`h3bT!g`Y!p#fRY+P+jny ziwt}OL!aYG*p0tJyol}N9rd3ag)zU zsGnWmoL}$ze>r>p%gqDi4Oe#G;1AtCF&tkPB&MvL`p{|_&cH>dT=R2Ieig1xHV>!$ zyo!y>@VXa915Xn&f1j}G=l;bn{)4X*F5@d#L!P)P-kB^j=j?@cZX;;5w=`f!Sfx+d9k4+{17qPo4wy0n$nIuUQ+B`v zyPoZ|eg>@@Usjk*lTgOUp$$zKCZWnw%cy5G?2sj)fw6!lG$BtyqQ}m`LsKO5>8+Ml z10AN*2%1JS6jq9Pe{Zk+^H*q@_rLc0Dz$k((=Pu8c6YQDU$qZx)~MX~^L}zLJrnNI X&1lj*tFmk9)J&MN Date: Sat, 1 Jun 2013 12:50:10 +0300 Subject: [PATCH 100/126] Replaced 2.5 Solaris-native libs with 2.6 --- src/java/libs/solaris/libjSSC-2.5_x86.so | Bin 13728 -> 0 bytes src/java/libs/solaris/libjSSC-2.5_x86_64.so | Bin 17400 -> 0 bytes src/java/libs/solaris/libjSSC-2.6_x86.so | Bin 0 -> 13872 bytes src/java/libs/solaris/libjSSC-2.6_x86_64.so | Bin 0 -> 17576 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/solaris/libjSSC-2.5_x86.so delete mode 100644 src/java/libs/solaris/libjSSC-2.5_x86_64.so create mode 100644 src/java/libs/solaris/libjSSC-2.6_x86.so create mode 100644 src/java/libs/solaris/libjSSC-2.6_x86_64.so diff --git a/src/java/libs/solaris/libjSSC-2.5_x86.so b/src/java/libs/solaris/libjSSC-2.5_x86.so deleted file mode 100644 index b084572d9f724d46841cade39f0ac57a3c604371..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13728 zcmeHOeRP!7nZFYT7$A^=#x)fzV?|2^BLqd3O3l}V3FKqQx2rge$;6o$GI2f-tkk4$ z!r}ELHMX{g?r~Sn(X*>v_mpk18(T{g%~EiwjV*4|E!{>B$4(4wv1R2$W%l>G_kEMs zgaV$k|LxwxljlAk_qq2z&;5GuTpsn7l{g%Z84jV+G%-zB`CGxtS*iH93XgD#rQ%w# zNPLt|M-PBaU~-$_l$01RZ;~Q=nUFADG8|H_c&es5fCw{9c?R&H31qEMYNlM-_pnkk zWdiU0ybyDN+iwzL9`FnR+jAOaS?|$VLd*tUia(Tn2;m%Hnwc-emR8UUfVV*TQ@|{n z4SX8JRlxnA&wiASK8(hlNB>!t?c4`|9&L!L0mV>e{s5S;C)*Aa!UaHGTj;aT0GK|2 z9pX=ePh$&#zX*C7AbXkFX)63Lr%Ko>x7lP(>50o-8nK4+6%EPIQMnP1@!n&ZVvq&*e^Oqye4KL-d>21a5&@G%=* zOM#iFf3HOVlWv|w+en$+YGW`q$w_qQBziaKd^r9$zzY!R?*bpj;N?7;j~VhSU@Oty z?*K#S1m_j?uYm)45xjjSU2by-_3J0m!AW!r=qGLUb%TD&M*lr%|7V1VnD!5Ye$FO; z7qpc)m;Xfl<%&5UGx!{`y*B-;xJa0Z?OO=iTBqhubBmRrkJ|LBLAPUqPlqo18@HAB zfcJNk=odiu*~uO=&MvoSamC7AE5e{M%>Nx5k>Bpgn*)LBDLX7q-dS zpEl6@Z1P>8C;ahgVSpaC$-fPH1r|8Y7548C=pp!<>kR2rpif){0%<;0gV`7u$8F_5 z&w*kl*1sO~mg~`0_?_h+2F?A9Yvuy1x*e1BcY*d})8ROv{&zqRVe!~t(*Hh5|5u

7^0>K0rk%R~Y8rxfw@j!E=Ei%q*iN_mr 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 Bl)L}{ diff --git a/src/java/libs/solaris/libjSSC-2.6_x86.so b/src/java/libs/solaris/libjSSC-2.6_x86.so new file mode 100644 index 0000000000000000000000000000000000000000..2d4c41c45105792c163b6b83315ea97923b741d6 GIT binary patch literal 13872 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 literal 0 HcmV?d00001 From d668c2c00d69479cf80859ef4388c38767793406 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Sat, 1 Jun 2013 13:14:56 +0300 Subject: [PATCH 101/126] Replaced 2.5 MacOSX-native libs with 2.6 --- src/java/libs/mac_os_x/libjSSC-2.5_ppc.jnilib | Bin 14436 -> 0 bytes src/java/libs/mac_os_x/libjSSC-2.6_ppc.jnilib | Bin 0 -> 14436 bytes ..._ppc64.jnilib => libjSSC-2.6_ppc64.jnilib} | Bin 18624 -> 18624 bytes ...-2.5_x86.jnilib => libjSSC-2.6_x86.jnilib} | Bin 18260 -> 18260 bytes ...86_64.jnilib => libjSSC-2.6_x86_64.jnilib} | Bin 14464 -> 14464 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/mac_os_x/libjSSC-2.5_ppc.jnilib create mode 100644 src/java/libs/mac_os_x/libjSSC-2.6_ppc.jnilib rename src/java/libs/mac_os_x/{libjSSC-2.5_ppc64.jnilib => libjSSC-2.6_ppc64.jnilib} (66%) rename src/java/libs/mac_os_x/{libjSSC-2.5_x86.jnilib => libjSSC-2.6_x86.jnilib} (70%) rename src/java/libs/mac_os_x/{libjSSC-2.5_x86_64.jnilib => libjSSC-2.6_x86_64.jnilib} (51%) diff --git a/src/java/libs/mac_os_x/libjSSC-2.5_ppc.jnilib b/src/java/libs/mac_os_x/libjSSC-2.5_ppc.jnilib deleted file mode 100644 index 13dcf754657546c0bc12462f85a74f3d0d1ea0d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14436 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 diff --git a/src/java/libs/mac_os_x/libjSSC-2.6_ppc.jnilib b/src/java/libs/mac_os_x/libjSSC-2.6_ppc.jnilib new file mode 100644 index 0000000000000000000000000000000000000000..98deba8e4de607cf5c5eb6cfb20022d780996cea GIT binary patch literal 14436 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 bQyrwFqi`{j=AUz=qtI@kPjV#l>_qXW@pfyu z4PyisjNp?&aX?rY8*?$~Qp`qz35NZk!5@5EVpI~$W&$?GEykqFHtTcB%SHbIZ*tGM zpYQpe^Ss>KE)KKBVK($Zt`E|e=`MiLcWwM7Eqf9ZTD$N@@aBVlQ}LNR$&m!luX zEjpKgLq=OcEc~AKQYc3&Hw^-;587sN!DwRx_=E8{n?bj!(B9#S0Jx^W8w%NEFPNK@ zr9Wk*?>2wFhux-H>x!SE@|&DmasqdF!8C)5ro#I7mDAj7obdwqXnxc%l}bgl08#`5 z&m=UGwocmLo0^8S3es-H1@n@Ib>jDyXEHmL=>#3JyAq46UFD*GLw))efqi3SgFwq`Sti!(YwrpE%s6S z`gUzSytdqV9!9yzv(M|mr2VWpk4e)2l#-!gyRhuvG3t2U{_DRt=X|P6>*qE$=e~sx z9aq^3&KAE@^9lDoI6(Ij7(!tlD0^(9o~%QS5fPNfmSx^He_!`WT5CeDc%0qBm^fn2 zYHEzQb*>B0%{P#t%L`eRc(mjN9JX0-zQp`$iPW!)g?_A+!-WUraQ#6!+pTv`Igo zZfm+th7R5z_axLw3#kkS5c z5Dp~d`#m7gnPM<7+Z+riZNLTkew|9?v2A1`w0ZxJb zm-fH_P#{AvaH3akzJ4iKsk2z=XZ_kKFS!=M-8KyBU$IN3p_n2OP7_+KOf`&G-s)S3YjVRhK~T

;i|!x7bEo3~ delta 1564 zcmc(f{YzU{7{{M;bE}E3*OA!7m=`;oFRR|9I+mi{61&Z;-Ai1z;eL^nRcbfNEIM{A zi8ojg+d7u+X?;i6^@p(+aEyTx27&#ev@Uy26mPqKU>EK= z_wzm9d!Cnjl7&lb;S!5}mK%liWtssnMrTLg(6Q$*p|eS~JyRFYT)g$?^4d-%L=DwLyB4h;aT4_MnUWVA9r4jWIh*3V6QZB?EKfM*>1p^#Pa zgK0}$`dd+Z|Dfl>S*$hHSYkm6%x`k)$O+s*&Q^?=_8xp)J;%MqRzE<1=DT&{sZ>M< zAV)y*jX^zW)1>{gqY0#ylXfM(VpOlG{xE=E=%3&!^j%Zj1g9 z?}v8`YUMkr6!m4lb{sMm<#V*ns8Ifx_Wh1#lw;g45PDrntN?c2=B^FajlpMx*?=u}4EQuTYpQqoStE!BRV{?_vRrY?Zl5Xwh{|v8asl-Z)sda zL4~s#TfD^68rx=wf7AG>l5qf?UK1=q-0(SkTc}k zifzqmNu3-tV#MG-L^L6o?H{8t;FMu7V~{BrC8>sxRv;Ff1O@l}?&~A5N$>g2_nmw0 zx#!+@r!ssh!-pf*Nh@O^2V;|;Mb9eyaq2cX?H#A5ethe8&*g3VceuyaXM0Arn|4~L zU@djExEM>v+AwO_9K&xzI_7tgt!xc{jQY#!`0o@g^VT|=7)zdsJU1RHJk&I8JT#3_ zODzoKPSR-EM!tt^<(?%Q8X3F!db+nTzC2*Ah%hxZCy?urrbmF!E}7i=wawI$5!fe?l`At=5fm8I#Mbq=mL^{5HL3Q~CGwxorVIMmbwI zf03Gn%Dd=ku|TP)r~TppAERlpR`IH|(!Q5pq%Z7U{8PGbS9y{=m9Ov%bhvUAf0M3N z2EZ#-!RB2)xw(C=baXn^708vtjepagDs1lmZY(?uw&R}U|D+vNef$oct$Km4CaE0}wm|7Pw=M-HKLw%T(4(T)wD_8KycrnyX8JByo zNs4`?u^SJ|d#|VZO4A_~VzLc%?8XC0SYi`H2Y=JFhuXpLZ1#_)#lz;AMuzi+nzGyr zwev_x{JdF*O2ibmA=|}sD^zxFMLk1IJR0C4QHM?dDI(EOM5ahxJX#YlN2=4IfL!wf z>?y2oT_4F`?dP|syLt)#nGRHMTi#ciADhv%|AnAOC9+5OiG&>*9C_{XW?V8z~?u62*&+Mny+^)eMD4+*K za-x`a04CoFHav`6Tkt_*hBPAK)mJ%+04QgwbVVAGP@sT|;X4t@WHFI+@_Br5>Cm)n zW@tJ;pl<>j#_q1L^Y{5E4JH$UG__ zmMfiwoAj*g3QE+wv|TRO>xPROSn{$+JP+n(7QyUY#`ay23P64-Xpn$x-`5}|$Txum zmTB`fz$528r%aYZw{R~wZT9)B@{T@({~7wIu8pg73F8{#z7{@;ah}zTmb>q0+K1HP zYoM6V%nwo0*J3H$)wD&$6ah>hLYSGZ`R0{u!c+7B!G5a>{ul7=)ZuR^+4PsD9g|7Q z=HqHj!h6|_3g(V{?BA-+y6UjlnE5NR2RlnI@aAQ;Z=3GZs-SOBKA){f67ZJSq5zpFiv^Y$xE*+pfsa=*cEZ4GoQz$1gc0+%fhX~WH_B%Od3FoN d)*5&V3JM!|xE!}7YB+XObmWmR5`F4Q$$#bN7}@{; delta 1615 zcmX|B4QNwW6uviotx0QhUz;XPnwmW8>*`jmRrXV*(ny;!RIn9W=6;;R8OD%KY6?!w z8kc1F41~gw!6pha7#kMcsAD)7bbq!Jw^dirftJjPB>0zM=X7?yeK&nBkaxfHednBe z?zunH89triBT+}e!C0eL_um#}0kfd~(B;%RByV+i?0fH8}Qq$*wXQ zQ8b!z*gX{<#?o6P+&|J_E$QsdE06XC*~X_^z^ zS$s|7X+3Aq;qt9~GuK=ZQj;QTCO_x-S@1zInUVefGtJd>3>FX*T z{MD+^(oF%mxFJtEHfyx&xf_cZOMKsI6t=zk<9Cq}uq*FL{#ROG-Ota{@#+_OGtE^m z=9?(sdW(Na8P^khkiKwfj<@UQ%k7{UR~_F-4_pa8NwJy)?;`H@@u$e|-nD$Ejj;nU zFWVqnl9fX=EHZa2_V;-fLv)46oTgLmCElSD#ze3Sh21Zk2w!6yqAoHsbjR%%7hpw3 zCKP=c_AloopQnEHb9KcvbtYn2GrBh2mqineExMAs>XU*v_$-3b;UbOA%1v2xkOn;7 z;W8=q+vC^gD*CP&{q}TNLrhA5j$eNW!k9{X;^z)Fn!n7M2O zBgnNKHxChV5Xtu9EJxq~WxTqm$U!6aMu&$ZSi&Z_99;mI>-@pJ0`c7d9G^~3(!;N!;RepBE--V5titISA%P7Ow1l#)d9R1t9+tXpn$x=v$By$`* zN#AHm+2~DdKBsMgfI}X|jreEj_@Wg&MCb9{O+3)dr}1raC}?`ypQd??RtA<(JfPrK zrvlAo>Rr=pn@^!5{2<(Px)NwA-H#XNA)JE_4g6*BJ+v~oq;&sZrg>B*DPM+@Re;s6 zpn`_6PlB&$3+}thoJ^S^HMGipf-mj#Q^`GA9|{c1mvT801&~N7XDkHlL;?+$|9N0} z)Kw>Adn`Ov!`P=5-VXkfg&AJkh47XBAzc1;3y;Hpw}mz2|IotmO2&TRY`7TEs-oh@ z0usr)ArmpdSf_=1FxjAm$Ez6o*uuNrjGcds;q$=4@*+3N*8+J)kf+zeaTFA>@Mje` TEiubzMMZ}n3uCc$7fb&GNV6H; diff --git a/src/java/libs/mac_os_x/libjSSC-2.5_x86_64.jnilib b/src/java/libs/mac_os_x/libjSSC-2.6_x86_64.jnilib similarity index 51% rename from src/java/libs/mac_os_x/libjSSC-2.5_x86_64.jnilib rename to src/java/libs/mac_os_x/libjSSC-2.6_x86_64.jnilib index 74a96680ecb49d2eca1778e60adbfd77ec076f71..24749824f6312a596eae0a0af68e13ffa7045ab0 100644 GIT binary patch delta 2171 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 From bc29b604e7a5665f6ed33861c456bc9cefe3749c Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Sat, 1 Jun 2013 13:46:22 +0300 Subject: [PATCH 102/126] Added Linux-ARM 2.6 native libs --- src/java/libs/linux/libjSSC-2.6_armhf.so | Bin 0 -> 10383 bytes src/java/libs/linux/libjSSC-2.6_armsf.so | Bin 0 -> 10527 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/java/libs/linux/libjSSC-2.6_armhf.so create mode 100644 src/java/libs/linux/libjSSC-2.6_armsf.so diff --git a/src/java/libs/linux/libjSSC-2.6_armhf.so b/src/java/libs/linux/libjSSC-2.6_armhf.so new file mode 100644 index 0000000000000000000000000000000000000000..af2ac448fdf8f106e7b2c74120115dcedaa11fc8 GIT binary patch literal 10383 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 GD*hMn7GJRd literal 0 HcmV?d00001 diff --git a/src/java/libs/linux/libjSSC-2.6_armsf.so b/src/java/libs/linux/libjSSC-2.6_armsf.so new file mode 100644 index 0000000000000000000000000000000000000000..8a210400b4c5614cda25ecd0ac23224f7cf78e1c GIT binary patch literal 10527 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 literal 0 HcmV?d00001 From b61c224cb8fd12a3615b9d04f21aaadf07333e96 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Sat, 1 Jun 2013 14:06:11 +0300 Subject: [PATCH 103/126] Updated release info --- README.txt | 25 +++++++++++++++++------- src/java/jssc/SerialNativeInterface.java | 2 +- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/README.txt b/README.txt index 5724cb243..65d24963d 100644 --- a/README.txt +++ b/README.txt @@ -1,10 +1,25 @@ -jSSC-2.6.0 In development - -jSSC-2.5.0 Release version (27.04.2013) +jSSC-2.6.0 Release version (01.06.2013) This version contains native libs for Windows(x86, x86-64), Linux(x86, x86-64, ARM soft & hard float), Solaris(x86, x86-64), Mac OS X(x86, x86-64, PPC, PPC64). All native libs contains in the jssc.jar file and you don't need manage native libs manually. +In this build: + + Note: Linux x86 and x86-64 was builded on Ubuntu 10.04 and don't depends GLIBC-2.15 unlike jSSC-2.5.0 + + Additions: + * Added os.name - "Darwin" and os.arch - "universal" support. It can be useful for MacOS X developers. + * Added ttyO to Linux RegExp for listing OMAP serial devices. + * Added JSSC_IGNPAR and JSSC_PARMRK properties for enabling IGNPAR and PARMRK flags in _nix termios structure. + +With Best Regards, Sokolov Alexey aka scream3r. + +============= Previous Builds ============== + +/////////////////////////////////////////// +//jSSC-2.5.0 Release version (27.04.2013)// +/////////////////////////////////////////// + In this build: Fixes: @@ -34,10 +49,6 @@ In this build: And other little modifications... -With Best Regards, Sokolov Alexey aka scream3r. - -============= Previous Builds ============== - /////////////////////////////////////////// //jSSC-0.9.0 Release version (21.12.2011)// /////////////////////////////////////////// diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index b5154862b..37a85d4ad 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -36,7 +36,7 @@ */ public class SerialNativeInterface { - private static final String libVersion = "2.6"; //jSSC-2.5.0 Release from 27.04.2013 + private static final String libVersion = "2.6"; //jSSC-2.6.0 Release from 01.06.2013 private static final String libMinorSuffix = "0"; //since 0.9.0 public static final int OS_LINUX = 0; From a743b53b8648cca4091b0d34ecaf08b6b72288df Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Sat, 18 Jan 2014 13:12:17 +0100 Subject: [PATCH 104/126] Fix for a "file handler" leak in native openPort method. This bug leads to VM crashes (at least on Linux) when the number of "leaked" handlers goes over 1024 and a select is made on one of them (for example during readBytes). --- src/cpp/_nix_based/jssc.cpp | 1 + src/cpp/windows/jssc.c++ | 1 + 2 files changed, 2 insertions(+) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 230e2489d..e9de916ed 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -72,6 +72,7 @@ JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jo fcntl(hComm, F_SETFL, flags); } else { + close(hComm); hComm = jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT;//-4; } delete settings; diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index dae4980f8..7d9b09512 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -57,6 +57,7 @@ JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jo if(hComm != INVALID_HANDLE_VALUE){ DCB *dcb = new DCB(); if(!GetCommState(hComm, dcb)){ + CloseHandle(hComm); hComm = (HANDLE)jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT;//(-4)Incorrect serial port } delete dcb; From 1f322aa15b5dea9d15e1382122fe7b0984981357 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Mon, 20 Jan 2014 13:59:18 +0300 Subject: [PATCH 105/126] Added 'since' comment and changed comment date --- src/cpp/windows/jssc.c++ | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index 7d9b09512..046856d67 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * @@ -57,7 +57,7 @@ JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jo if(hComm != INVALID_HANDLE_VALUE){ DCB *dcb = new DCB(); if(!GetCommState(hComm, dcb)){ - CloseHandle(hComm); + CloseHandle(hComm);//since 2.7.0 hComm = (HANDLE)jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT;//(-4)Incorrect serial port } delete dcb; From 21fa24076a682a1ce383acc6c2b154bf8b5b4b5e Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Mon, 20 Jan 2014 13:59:52 +0300 Subject: [PATCH 106/126] Updated dates and jSSC lib version --- src/java/jssc/SerialNativeInterface.java | 4 ++-- src/java/jssc/SerialPort.java | 2 +- src/java/jssc/SerialPortEvent.java | 2 +- src/java/jssc/SerialPortEventListener.java | 2 +- src/java/jssc/SerialPortException.java | 2 +- src/java/jssc/SerialPortList.java | 2 +- src/java/jssc/SerialPortTimeoutException.java | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 37a85d4ad..9f1151dac 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * @@ -36,7 +36,7 @@ */ public class SerialNativeInterface { - private static final String libVersion = "2.6"; //jSSC-2.6.0 Release from 01.06.2013 + private static final String libVersion = "2.7"; //jSSC-2.7.0 Release from 20.01.2014 private static final String libMinorSuffix = "0"; //since 0.9.0 public static final int OS_LINUX = 0; diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 10f978730..01778b3fc 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * diff --git a/src/java/jssc/SerialPortEvent.java b/src/java/jssc/SerialPortEvent.java index 8cbc51dc5..01ec73243 100644 --- a/src/java/jssc/SerialPortEvent.java +++ b/src/java/jssc/SerialPortEvent.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * diff --git a/src/java/jssc/SerialPortEventListener.java b/src/java/jssc/SerialPortEventListener.java index 39fc26978..9a2441aa8 100644 --- a/src/java/jssc/SerialPortEventListener.java +++ b/src/java/jssc/SerialPortEventListener.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * diff --git a/src/java/jssc/SerialPortException.java b/src/java/jssc/SerialPortException.java index 281c46174..18aca2f93 100644 --- a/src/java/jssc/SerialPortException.java +++ b/src/java/jssc/SerialPortException.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index e65df18fa..5af9a95ea 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * diff --git a/src/java/jssc/SerialPortTimeoutException.java b/src/java/jssc/SerialPortTimeoutException.java index d5c8f2879..802535c3a 100644 --- a/src/java/jssc/SerialPortTimeoutException.java +++ b/src/java/jssc/SerialPortTimeoutException.java @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * From b813f26243d3829aac466de1dd5352c9ce5b6afd Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Mon, 20 Jan 2014 14:42:13 +0300 Subject: [PATCH 107/126] Windows 2.6 native libs replaced with 2.7 --- .../{jSSC-2.6_x86.dll => jSSC-2.7_x86.dll} | Bin 66560 -> 66560 bytes ...SSC-2.6_x86_64.dll => jSSC-2.7_x86_64.dll} | Bin 122368 -> 122368 bytes 2 files changed, 0 insertions(+), 0 deletions(-) rename src/java/libs/windows/{jSSC-2.6_x86.dll => jSSC-2.7_x86.dll} (52%) rename src/java/libs/windows/{jSSC-2.6_x86_64.dll => jSSC-2.7_x86_64.dll} (95%) diff --git a/src/java/libs/windows/jSSC-2.6_x86.dll b/src/java/libs/windows/jSSC-2.7_x86.dll similarity index 52% rename from src/java/libs/windows/jSSC-2.6_x86.dll rename to src/java/libs/windows/jSSC-2.7_x86.dll index 76af90f40b404cf0ef974bd1d8d0c4033867ba29..34dd2604b8dfa21e4dc436ecc505c6151ab2e0a4 100644 GIT binary patch delta 14620 zcmb_@3s_WD_xCwCC?X2VMFdpPQSpM!3^T*P%rGKo-ZC;YQZ!6bDMw8QLqi7xigCb3 zx87#N!NYGpUIvfi|VplO;}S@ZqYnR8$y`+q(E@AG*UYwfkxUVGin zK700z#pR0Pa)qm0v9aUVlh#xW@pD_()W-T<-?8T8Hhz1}O8yDI^nKQ{Pi$IeZ$-#H zYe};r`Q#(v&JJaDwkw|F&Tvj^NJ}5=lOvaa)CK_%#XZ_b2^s;E;{+V3xE5fZZ8-isNo8^Y}0B8~8HE4Q{B+P{ue$ z9d|T3KECpzbMgsCmQvv`DFqc<(=mlFU`IQ~2hPE?7`Q6zW`A{z9HXg~?e%wD+UST; zIz}CJOg<#c=+1G@QAeGV4^=*Jb=r*kroSJ;&2}MrApkQnYj1cwp1lB1^O4FWobU&m z(kX$jW~H4Bd@0-4X+EF8h6SYYSJ?c31pXs-CLkg(#+jjvrx+@kJD@+m2FyYH!z`e) zo*&69os;-L{0(Onofq;I>`#nym@d%3pJMX^qxnX*DzG&rV)J4hfWEZ+@tE_HCKO{n!jX@?w`~b`A_AvUAebFre(fJ3* z@vqek3Qq07H?!G2Ed1+iTaQJ&iuDRT#s9#534M%DW`$vi{7bAltPlSlu}Rhp5h$ z2ze}ZDxRDSWiFYoq#n*tMnd|PJmV~jkBsRdS`Wy$O~i_;zrlqmk%PkD+Kle$(V631 zF4$0DUOPh-W=M~6vaWuK<7)+x8ZTQqVGJkKpo5F^WjpCZ_@bK5yx)5~zY*!cyF%0EhbbNRn@h`p3sQkP40reJI=VNfC-*O`Mt zVY}>baM^Q+#2Frs5i1=uZ1_Iwf$uu6JTL-d#{^}VGrVFdZNkB&58;uQT!Ig=lmMY8 z`({w|NN=~qz!?Y>r;!q|LJE{yc%&o8VVm%oNIfXzt)-nexO6m(3jf`}z8x~qexwqD z;lFu2vt5%*TC#lu4f@Z`eO{!K0-b3hk;P|*};5ZRvNki6s)9WQCgUg;2Yd->cVo5{dviDgl6^;XE z6#lv3P)_7%o@gJVW58*v2O6yx?G;l0GSpSS}Fby%0GKbfj; zVc!fHWFO>&g;m#XRs3P?qK!95(Pp8V*lB9Z+KNw(dyAiowp}DvTZQLGuKbqArOKlx z6G(Z_M@Nqy{q?&!2hMlIRwD;o5Oz~xDM8KqTs}z6*ub!F*8QysPO(YD?#~hT?-5SUkzQLhkDkUlTPls*jp=8&p+nOf(|<^xJn{C% zbRiF^DQS+ScUUMYPWTDD4~3`UuW&~IjyH2Lzj>$dFwta-g(Rf#``P$}I6PAI*qQ{? zkMQw7yf|JQ*S2`KuG&Amn6@XLM64W zc#qE`h9_(YG9*;~?D1f;4f13uLxe)~BO+fB9BzKChkCsivE)UMhxF(KA@}`|nEj<@uDUllbW$DF z)nyiUR`K0X&Uj59dl5KDzXBaX+jhuzIFNp|N_quR-SKcAzgZ`mbl#D5+Hc-P?E*`* z++6RuD-akxuITGWiYF%{ivz2FUgPdNV~kPVKaAC4xCdiCN_1wAn)&D%HhE}(sndg3M2OWYE$l%kQl1eI3( z!khICq+cNGOMMniwlFmlLf91d(2vUD-qGuLQrSUW$kaB$t0Z^@0+eblX0;xZp7oY0 z7YPzi$G z{DDRBQA}f*Ndr5N1IMdpPl{1MPs5&1iX@-*B*jKzd=*_II)R1AHwO+km)PZ`Q2qq- zH;hHiYBCM4@L_K2Y*$K1aOnm(Q&JaWZny$TP)cYAoQ=_|^yb51FGhHm4L47sNBBt$Xn5!Ka4ZgJe%jfAQap(E1s1g!axD>+iNU$GKQYenh~i^KNT!>B1N`Jbx5>-qx|xXfR}9t|%PdCOqRK z{8JRZ9NjweFCSr4Gnsv$O&AS^Y_`8BtdDG+Imkz-6NS(BY!&L7+GdUb9b6jOCQS1Y zjunM#B3fsT^AX-J3Z3Dt!nr=e0#T@F6E5))mW#sWVXZSAKEjQn@LFiAaFdVlEm63j zO}O1hct8}+YzyUmAK__Hc(N^&uYH6qqVVoE;RPQdCsyTXTPVCwRU$;;u{L3EAK`FO zIL0dsF7U6(oU=!KUb^J>rbZi*zesGq=jKJxaPK^iD1CSSIO?h{`O$$^(LyfXLrj&Q zUbA39Jnz$KsbXR8>L{klvoM)vr93R!n)2}de%LsgW5t$i5Y0T&35pr4k1etzB>iT4 z+jW&F>qata*8m^;UeP;V`@sc0B(DOB#VLM%;*Gb4e-b zZe9`%RI_)Kqg98o@mWy;A}AgYP>3`EbP6<#*m55C2823 z<;_P)^JB2Fz4sn%HTRdy5qGL1PozU>?-p2a2tx5LkEiLO&v3D}nHCvXu7;tSd&?6< z*UDFk`%(2OqZo3N^DB}zRCwFu;A&Ghx7Fn=;qa>2zpVxHgP)8gN7PSd6SAz0QYP(gG+zGp2&V$GeJ>GV$xeh#70*g#n^|Xt&LPv5@+d}OlfAo)8b6Ehs|7j zJ6q`Lq*(8rE7o-S+SR0YVQm!JC%Cjb%UwIBCW|c-!#Ms_UlLw^>O^l?k9HgwQ6ARK z@i@6%{xrQOZ(r$|egPWaKRpTWC7gl=dEZT8!Y-D+zJexyyq?Na)3Sa5FS{7tY1GO; z^DwVQy|IcCRC8ie?~bH=Wy@O;pL7wgM~jp}l_PtoKl$}CKHduZYHF*BIw)S53njx# zQ~dmTG1p5OyqkUYl7%l~;oHX3i-==6+ot0p*AH)2r7f`0pY8|Pp>2I4_gPn73@gUX z!C!u5*H(O|KIK$wrZM|#+k^CWe(+_=e@(^9Mt&H*-SKLh?W!upbb6K4SMDO~wXrx^ zCD5Oe>zx|?Ny@Ig(hn2Lt_7FjGcD)rt%MYZ_eY&w<3YVUjE0AUOK}s-y-PD$+N+_l z$aF~wIKjK_4sb43IJ=bm9#V;e0p5~Ogp%#mIJq~E{LJSsL+HdUhPGnICGS-c&RF#_(WCGFs$As+H!`LeNynI zGaZ+L!KFqVH=C=1cOy=mJP^)q7WP^gm1M|k!w6-+Cbq)T*OYKfaO2_tXU*1sRU9t2 zo%Gu6i%({=U7q72r!rIF9D%zulH%^AsiYz3N`0kmAa^&e&Yiut%cbQq>?!S`=72VYbVAN>~N~SdI^bLu}>i zebF_-WG_qn99B=CG+mg+YG1d+^_e4GA)F1xv5yQoM6-_c0GN@MV|}aR`{Py- zML-TZAsBVtw0hZ>a?Esw(^U3g^$=>sr>pygVPP`_Fw%U|IWl0YC_h>~D3AKFV6Nyy z$#uTqjAW+KpWLEE2+cjb^A4haiHVvF@`@=Nwe*M1_f!R0zDe*yzc(|sL&94fJ>4RGx7Imnc zp_L0zxG zHH8o))bRm*XY?khN$mEwL&%kT-yTS4<=avAH;@>Ya10Ntw>)nPSKw09eFzH)?n~}b zPMR_(P9eB;JYF0xrg`MPGsF>!wtHTfDRUf=%}jViw%atE^bt@1o`(=;q@1Wh$zrC4 z%45B_Lj*a#ENKXs)-)Z{T~%bCrR|80LiXPEniMO(U-P0kk+( z&4*!1SdY)T-coE9-o;W)k75m!;z#0(rC2Pc{)^UemN+)jSWH#au4t_{6;G2B=)~Z1 zyad|%Wwpe%jgg(13TMu+{9UOO`>VV9=#lD8!U>pcvcbCG*Sgp=8eYK-w%3TI=VIcl_E>H$foT!(9%!s9;89q=Zg`AwyyH9IDP~d z$x`B**CHcM8jBml#oY#JS$tb8Jt6c^v@X4a*eJejjvVo$&Pd@WHnmo~4A@f}i#x@p zB^1niu-cSK)P-N zz4tDDe@)5W{o+|Eec$hV2bQ{j9QFa1%QGMsmkWfmBs^Eb84?~L;bI9-kZ_TN^CX-t z;T#Fildw&~g%U26@It#pWJ$V}bLF^zZz_Pq`!YS!$kVqk!YoPmQD0q>G>s))daEk%+XTGc_dGyf*^n8!vbuEC z`<^|H*C1VU+>UQ|aN4PzwdD-m+qr5Rych=LuLW&EFeQFVS&!!)^l=Rw_%xlI#5a~M zdf(waFT~-c0BI1u02AJU^f1ZrY_?`QIg2JmaTU%SMw zQ3b92AX|HAfZG~2&~2RnAo@CBS3BS!%kYucRD7_Gx94Tx6H+@Mo-br$Oh9@v{eQzW zKj$C7$Bz9bgEWZ@)5LWEQY0Q>*%h5w|Tfy!-Xh+*H z{wMfIk|j=ZTXzCTF9+Bu(e3A*0iPDV?{2rX96<87f$b;pN0sHa&H=QaL=)QcQB>Zn}+W)QMKk4nn;^Stw1u@8n{&9}m+5q^cx!~JHVHK1LCB-}c=Lxqo7I2F> z$9x?5X9rOK_QIzz(S@j9k$`Al*gDH?CGh3_ujzZ*8UJ4!^07nC)x;l*^t0#LaN{Py zvI4x_A8}i6FLYZg0530hTlWKAu)3{1=DV$r0e%MDzrbz%1Tb=;+qwhL?_sxfEx>P) z+qwwwJz&yexAmA0?8|ps+e1VViis+dwZd(U zSn0OviXj7>$G8sTwScz)e?Vs-_yjy^N3a{P26}q|9UgOAHvztX2u{w^xUKKcL)7q2 zgDCyLTm!HenrR12C;iTi*%0TUdQcppj_EbbWSjy{+!Q$7ce?8%sT--CxwJ*}8{0(iJv z=LCyH5c3LX+%>dfkQ{#zMfJs?{lNt>hszN!UK1B>p8*D$lrer9$;|@KH&tM94}nKA*)=j; z03L4FS}~>Y_<3)XG6st)m*&ctcx%19e3>8~_bix{OBoaIW$?&B8B^TV;Q3JiFm$q!ykI`nTQz;@Z285x&gOab2ys02-RWc)nFRJO%{YS7dt zwZNl+Wm!IGkE9p$v)ii1IMoP(ibxBLLlE()bu?XG@#hiE4Zz$w}t~Xn9QfUtoL^K*=Qef7^}UKj*fd15aMB z$&Nt_Kwj`7=*!ZWcvnDQ1IQD81APNPnIw6~tDpfy6LbOH4M6Qi;|S2b0P=kLx;qAA zk`d3|2ZJ~tMt{%)0rG^wpojU$hl5u8$hDx8e8#Jhp?G{pO7m%v6v)f~dBHW1Ya}^z z?3@L{kpSu=nlu{pSb*$+8y-)|1|XW0mV+(^&=X2dJ`UO;$w{XIv}};{pTu}AfM|kspw|OvF2OUP zp96>iVtuX(gBN86#xH|@4M3AgsT%ZKKJp!)-|>;}2E7*`XK+900{}UI2GFuT*`yyh zG)i(iDIEdhLoi54Mvj6$CMl5o6VRUl1X?y024swQ?3?5?>NBaqc6#O zbCm4u2=)*_c2267|Bw5Us(H08lD&~$;{jC02^S$Ob4WHOOaam${ z;;zK^5)Z?cC$W<@SUX5tq%GC1({9)9)qbsQ(*C9Gq#LXoZr3I2a&>cc3v~x{hjm}+ z67)v>41Kg3*4-$eF@T6HVWkZQl$3PEB2yT9{g%x;eEv^}AG0YJ_EoCC8Fy zu~{6JXDy#uu2>N62#(7F3RDeHEmA$9+M)VLHBmiH{h)e<+Ns{8-mN~RzOLppA)0}j zM9o^wPR&=EUp4&`(-KP(s}lDmew&!3{Yw|3A7D>@Jh?1onfX8}tYvbX0q9B9Wz}iT zR_!R=I9-`;m2R)@Jzbc-mwtl&E`6@PPg4J+NlEu4ePB3hSeUXo^%)D7ivtAa)vErZ zI-?q;U9PRtZcTnBWq(R%<3Pmuw6V$9(R8nAiRrNEoGIBn#r!G?*$crsQtjJPe?x@% zmd7n$S*}rJ3&r5Lv8vgsJ*v-DgVm$e8`Znioe{}W&C{ADO~=Gw-EiFthW&>3Qo0z2 z7&n{tno`YE&HF7UX?`)sjR7*LrmEgheW)6Q`8_mMn*EwA?ILZk?x^m(Zlu24u+6Y2 zd3EwBd-Cte<5FHSeQatmEispyXQVDm?P|%i%(ieYuOr72!?eA$L$uSi75eS^3rU9z zhf_KkLybD)lg2lUT}*>bcGG6ledgunW9AFy^wgQDmtg@OY!UmKJE8tXeMECklalyZ z;-$o%I-TxI{jb#R+d1wG-r<}{-KaUCxvKeH6PUOpaYN!~+V8ZNwb!&BZGW9wXVi_* z-J!c*w@g>8+p2p<_pa`U?qgk(j@L))_4+)0nf`VC0sW`?Z}r#o9h1V7Zc7@8^2|+I zob+Z=Lz2HC($L2+)G*obkYS181;Yo1FAaQhU~)uqOtL!Jn0%K#c~K&;MrY=c+jQXh#y97|EYKSTg4H~FcsV(Y>>N)CVYKQtO z^+k0@jXnZ(P1j7-ST*lxKGQTK3!M{niDMF{p-(?dJehbt@%KcncD#0m_MrAhEvF0C z_0ip#%%Y86~bnf(j E05qtLga7~l delta 14702 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 dfk?<@Z_`?6K)tNAZK0scPMMWiIW5cXKLH1 Date: Mon, 20 Jan 2014 14:55:01 +0300 Subject: [PATCH 108/126] Added 'since' comment for *nix_based native source and updated general comment date --- src/cpp/_nix_based/jssc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index e9de916ed..89d8da083 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * @@ -72,7 +72,7 @@ JNIEXPORT jlong JNICALL Java_jssc_SerialNativeInterface_openPort(JNIEnv *env, jo fcntl(hComm, F_SETFL, flags); } else { - close(hComm); + close(hComm);//since 2.7.0 hComm = jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT;//-4; } delete settings; From 11b163f0433a77cb1e1b107d6bd03f8d853c47c7 Mon Sep 17 00:00:00 2001 From: scream3r Date: Mon, 20 Jan 2014 15:10:19 +0300 Subject: [PATCH 109/126] Replaced Linux 2.6 x86 and x86-64 libs with 2.7 --- ...{libjSSC-2.6_x86.so => libjSSC-2.7_x86.so} | Bin 13720 -> 13720 bytes ...SC-2.6_x86_64.so => libjSSC-2.7_x86_64.so} | Bin 2 files changed, 0 insertions(+), 0 deletions(-) rename src/java/libs/linux/{libjSSC-2.6_x86.so => libjSSC-2.7_x86.so} (82%) rename src/java/libs/linux/{libjSSC-2.6_x86_64.so => libjSSC-2.7_x86_64.so} (100%) diff --git a/src/java/libs/linux/libjSSC-2.6_x86.so b/src/java/libs/linux/libjSSC-2.7_x86.so similarity index 82% rename from src/java/libs/linux/libjSSC-2.6_x86.so rename to src/java/libs/linux/libjSSC-2.7_x86.so index a654a2cff9472cb5910a254716c865566f26a22f..8491f4bfc3c74969a635ea0b0fe8cd5842cf5f3c 100755 GIT binary patch delta 925 zcmYk5e@IhN6vyw?_iTkVBQ0&zjLmIA8KQxI_{V|<1r=s{GRl6?4+y044=W2}$`su&BslS7O77nW(^-bww~>L>YpLa!s6)XDI5Mru{|&XX+Zgv>qD_v0N!?E9=o2iC~4Nzze@| zTO=yn!2l8`aE?>&iDtnVXyJ^-K_@r_dckq98MMq2wS#H!8W{UPGz^x0B+8g`(1OeI zd?MNmrss)vgX3R`TEW0KqCPXeKs1!c_OiO~L{o4WAj8|LTO=w6V_-d)#rd1TQuDSk z_@#zM#yczp10!XO*$O2o!p&GYo=$PyW#et)q01&m-Vv=3N!J?j*(J#x|7LO&d97l# z+s03bEzpSA<#zB|aT+=ydZC-eU1&tSa69tmXT>k~MjjR$JPzILnw$JL862Wu delta 894 zcmYk5ZAep57{||X_v#c=BP(;%lufrm8KHrMf`J2r2rCyvT9Lg7en>*o!lAN7-BvI= zQn!~cf{gVdG7x?=Uk3jtycSs z2nrGW>uoX!17d`v7_GMmN~$r@RR z5GnnNbE0p>tT;nHXGn2{GlQNeC41j8#)c$o0T8L1A$pdKkpp1R#Qp&87;tKkl z6S~cN*!Wz*Yk|7@X7?CR_PSB3=Ul;|Vyh7o21*9q0Oj}K)}#j{1e(Lk3Tpm1xsigC zl4^}yS~VT_#VUDLv@`l#DSB7(cgE=EA)hPk87w$)@>IpZ?aOS)8Tvs)L(VXi=AQrS zE+v+&bzSod&YVO3yuTtc^#QGzCz?|Gz!QzZ_rKP^uf6VxZb0bgdMMdjvpV^|Y^DMs zU!rxu@Atcu>0?JDy;y(Cz)j)K+80}zj*|F6~aMmwqcHF9_$2-oUtCz3J!xs z;5b+grp*&IfD!N!*ttLy0PP=%!ulLE;u!Kj5$yycOGF33@vlTRVAVIGHa)*g)Dy!F zv6AmZ69_~>hW}8qLX-h^f(4)vn=c2`usHqUS4)pD-e`<{_+}eprbJ1)!S!4QUcY#n zZQ@=rnr)KRS)v5-I(yR{n*^D)6i@A^aZ&pr_tN;K2 diff --git a/src/java/libs/linux/libjSSC-2.6_x86_64.so b/src/java/libs/linux/libjSSC-2.7_x86_64.so similarity index 100% rename from src/java/libs/linux/libjSSC-2.6_x86_64.so rename to src/java/libs/linux/libjSSC-2.7_x86_64.so From e7885cc2f2e3a7d364407bdb356f05ae82af3c60 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Mon, 20 Jan 2014 15:45:54 +0300 Subject: [PATCH 110/126] Solaris native 2.6 replaced with 2.7 --- src/java/libs/solaris/libjSSC-2.6_x86_64.so | Bin 17576 -> 0 bytes ...{libjSSC-2.6_x86.so => libjSSC-2.7_x86.so} | Bin 13872 -> 13872 bytes src/java/libs/solaris/libjSSC-2.7_x86_64.so | Bin 0 -> 17592 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/solaris/libjSSC-2.6_x86_64.so rename src/java/libs/solaris/{libjSSC-2.6_x86.so => libjSSC-2.7_x86.so} (55%) create mode 100644 src/java/libs/solaris/libjSSC-2.7_x86_64.so diff --git a/src/java/libs/solaris/libjSSC-2.6_x86_64.so b/src/java/libs/solaris/libjSSC-2.6_x86_64.so deleted file mode 100644 index 1d6b6b7c26b4cc4e9833364174cf6c7df24af24c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17576 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 diff --git a/src/java/libs/solaris/libjSSC-2.6_x86.so b/src/java/libs/solaris/libjSSC-2.7_x86.so similarity index 55% rename from src/java/libs/solaris/libjSSC-2.6_x86.so rename to src/java/libs/solaris/libjSSC-2.7_x86.so index 2d4c41c45105792c163b6b83315ea97923b741d6..2939ae214dec70f3c0544dd8f8004eb868b6b10f 100644 GIT binary patch delta 3298 zcmaJ^TTE0(7@osL5cbMV@B*t+1wlllfYu8O>~eA0-5wT1YdjD*Ds)|7cM)l#YeGr1 zF{$lXlfE?cp-r0F1iKH~rlmaC#)sPaplMAsp{+^RmZX^Wp;qhm`*+WQ6VOib@y$2$ z&p-cM&g{>mchWmqE+iN$c!luYet|KT2qXc^fD|AVSPrBCYSE#h2TV$X8Jq!RDw-$@ z$N^RWx%_=0lY0|tUWAC168tSy>O^HgxuUm%D}ZeP4XEOG5;j`*pjHP^X^0cEE8Glj z0ro1o73@^%L<#hVTN5++B|&FSC#4hv*of#>=(E)(V*XBIWA-LZ%Vwp%g;t`k)bvzy zb5cQUUA1VnDn0cI+Z1jDHz{?M9Q^Xu_54iI`A{XcgZA9a3~U@+q|xuG=3v_64;SfA z7wONSZ@$3TJ#Yp~XTN|CYWyYRkUKTHRA8Zb7c{{R7+Bz70(Ek547#g0ei=wlKo4ph zT!U5%jlZ!-|FB5^1brIg>G)~Ej|9v=lh0Tm8fb#`vEz!nq#ITOJ%cc*m~o#fpf8mu zI?=?MH1-sL6WXl_@Hq8vWGop({x53mEohq#Eo%54x(KI#J2pVaZbJ`Z2d*j(lIR;z ziUquOkuK6`3aAWvVkKkSQKtY}pcfXD$3iYNbQNIh6@yXegY@yBnDOOtXtj{T%h0`= z72c%r8vO_K+GS{NHeog%J)ZqPV%L(kz% zf5ui*|7+0KU`xe}2WJfW671vJ$lic%(v1HYx(i1%4ucRmm_frN?f|{Bqz!m{J(>Yk z(9;{@uOjukp>JyJPeIpc>?ferLOb{YbfKny8af!)2V&pheKgF$p?XH?^zti(9GIX> zH4cgw^;bieYx-T#wfw>IRYEmSPCHm$)@d!Qvs&v$9qrrN+6SAaF5lCP|X)_xlD|u;+*z><$L~%-8K32zX_AaOoWKaoHCP@HyjJ{%d+3 z&)4PT^mqpX@)ApaE-jZ=>MZ;tT}h^VLh6xyaEQ`5oOFU3XAE z(HCTgdwfAJ@6zYhrfO*)(^%*l3eHoz^;+=vg{(sj0$f_YREI5BP%q z0dMO-ugnV!yEErE0f*t~w6(fD`?=R}C{=CeX~vz74=*$0#Lg0Vu%|ff}G5s0Anq+X7G$XapR91)$uBlEFd% z4_++Iqtwm~qyrwH1E7bGlD6HzKA-_;LiWe1QNgxLuD>v{hQ?eooweN^n@#O6bVpXl8=#`YcRSSn@oD2YIXHbXOBgnz^Qb!g0xpQvix*vw;hR)11QB#Qar9&^E4M0m>Y=kD12b-XchgLqcg5xEs_n0hiF z-Mi=260XggPF$J#Ps|U(ICmDm((&k`!?z;Q@X9p?A%Q*OoAMvy|A-9*-NI1#Ou?>X lp(p%J;l-5Yd9zQWl*zvpmP<1QVT6xvjtURMqh(i8{sZa~a$Nub delta 3244 zcmZuzeN0nV6u*z62=tQ=Er?LC3Mw){MCNp(K#M?WyGOxljE@GM3hMx&7+JPd!`x(9 z7UP{uOqR@L$&xMp!9unfW0V-TEQ>QFxYCQ@14oeWN5NdNcp>zR|_}xFf;*30a8gQZ8fGmJoc7j+g zcoqLx$mXGxx~&_P-c8_gpaOUfs06A2YFmJ^dgXjb-%*ZCeGwT@p z37mzj?}F7vU!7H!1!)Gpi?i zDJB9@fNto3CgHcC4{7wL}R0O*m4(kh5}AQtBn%60liN%eh#`^qtkI#-8RO8@Xcb8Ojb#Ur!<hb& zLhsVpt$15jYIG%Zy+*$b9pVqtR|~a#S;jtoI%9QdMZjTia5x&IgLYYT`r0a7Ztw0! zug5QX-BQ5o33y#Dsl~&Kjm7+jj0|qed_A(@+v4#%MX}T8m;3>iG}EHh=MY=`dy+l0 zu|$7IqrXG)cKX>saA0sGB+ElA+;dP42gBiECP|V!JUlSST7%qfEaV1#-j<|@@)3C; zJi>ZHgCjDNn%&+8hg-q|I-JPR(cpGUyiZ^3Pa5}(JX$=->H0dwW~U?u8r@EZ$Rzow z)GH6m2m40C@-Uy!m#6j(^o6;_l*2O(8GPJm;}7&EeK0H^?F+L5JpsH6O2gSDiSCXj{+6LAK3ZqYE=+PtB;gM@8oZ*P=Nex$EgT2NV+;8KFEzR+kO5$SY%;IQfi9_?(L#`;o%h~D=#tH za);$$Z^Kwv#@QS|jJ}Z}S?=XCCR%4PFED4B7ZO(1$IqEcd9S%-g=*l}jXN@&@dIuT zj=U1TkXOvPe4{1byfhPj%~HdAEh|^5gDYr}fyP}pHl)HGh7$hBlCyY`aX}sJ9g@rK zXqNEYF1F#qRrOR4)Vf-vp(9fAUM#M)L3BFWk{uASsY6WeUmWOKi=fXq5cQhHPk8EZ z)}I1O8YAz`F-NEza{^WXpSySgMTL_OpifmJP!F^MRI1U}+z7M*_~6IOG%EVm0eG{; z%eWW7RCv+Hy$`v@F_v_V*v{B@#K_`0 zF{;oRVl3|#F<#oYiLo8`h_R$uaBCVqjK5F^O4TSazB>SGnC<68Q*zm*-=#*cBl5;1o%CDDpVu z_(OfaJ(^F$u9+vC_r@Qt=(qc#d5I3F*yz13)qY}nwC>m&Il`y~hC_xh4kBt&JyZKx zzfRTq@!7||{-V^bC`;IX&$#?V4UCwWHTusyzhm95zli)0J9-t&-^nkSa^+prpC)b4++LHCFL;+W%yUS=ayo diff --git a/src/java/libs/solaris/libjSSC-2.7_x86_64.so b/src/java/libs/solaris/libjSSC-2.7_x86_64.so new file mode 100644 index 0000000000000000000000000000000000000000..72c989c13167147c4d970459f92e95df9043d4be GIT binary patch literal 17592 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 B#(Dq% literal 0 HcmV?d00001 From ef6a8379ac0af06b2ad2892c162b12b5af5b20a3 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Mon, 20 Jan 2014 16:37:44 +0300 Subject: [PATCH 111/126] MacOS X 2.6 native libs replaced with 2.7 --- ...-2.6_ppc.jnilib => libjSSC-2.7_ppc.jnilib} | Bin 14436 -> 14436 bytes ..._ppc64.jnilib => libjSSC-2.7_ppc64.jnilib} | Bin 18624 -> 18624 bytes ...-2.6_x86.jnilib => libjSSC-2.7_x86.jnilib} | Bin 18260 -> 18260 bytes ...86_64.jnilib => libjSSC-2.7_x86_64.jnilib} | Bin 14464 -> 14464 bytes 4 files changed, 0 insertions(+), 0 deletions(-) rename src/java/libs/mac_os_x/{libjSSC-2.6_ppc.jnilib => libjSSC-2.7_ppc.jnilib} (91%) rename src/java/libs/mac_os_x/{libjSSC-2.6_ppc64.jnilib => libjSSC-2.7_ppc64.jnilib} (92%) rename src/java/libs/mac_os_x/{libjSSC-2.6_x86.jnilib => libjSSC-2.7_x86.jnilib} (85%) rename src/java/libs/mac_os_x/{libjSSC-2.6_x86_64.jnilib => libjSSC-2.7_x86_64.jnilib} (95%) diff --git a/src/java/libs/mac_os_x/libjSSC-2.6_ppc.jnilib b/src/java/libs/mac_os_x/libjSSC-2.7_ppc.jnilib similarity index 91% rename from src/java/libs/mac_os_x/libjSSC-2.6_ppc.jnilib rename to src/java/libs/mac_os_x/libjSSC-2.7_ppc.jnilib index 98deba8e4de607cf5c5eb6cfb20022d780996cea..cb134b17c924f2105f73998ccd54e7fda7e84099 100644 GIT binary patch delta 451 zcmaD-@T6cuIp+cf2B9wu4D1UwHk@KoGmkGQNY=~B%go74VgLbYAeM06%l{%fs#ht( zUG1vmdXccr1M!Ld-LD;eW@aKy9md7CWSN&!N28VeJ z5&AP37=g5cO@jghNIs#ZgcqpyYXZNoC&w68B(G5?blO zz@PwA45C32)(igsw?6Ry4^Ttq<_{dZ1sP{dULzIHXfl~cI-c>)ILpfI8oZ%$NL$Uk`j3-4qmgW0TG_ytsUOkQN5D+x51L066u pNHVZr01~cH_KnFe46+#+HisB~XXMoaO2`2*C`yzzM;P<40sxikfj9sF delta 442 zcmaD-@T6cuIp+oj2B9Ym4D1^=Hk@KoGm9@MNY=~B%go74VgLbYAeOL}D0Fyi_eXcy z{iPPO-tUarT)=F=GI;@uz~lw&(tc$h0}dl(oRdn7z2pJ7*Kl$iX1J-&XX ze)IqTHFeSzHMRc=9Op4iut;Fg@n8^2v{=BPW6{9CP*Wpa;lUtmSbz9)MSaU-5c{cq zGXn!qt%UW0|NpHI{Qu*@z~GYrbO#9Q&tzb9n8zSv)1bfr(v#3q!V5I-B1|4=CNt1% zupCfaXeLmAB_x%72S_ncpmXyFj@^Qcb0)8mif6Q#%p)B?*;`s+a<}vY#w(L^WG=H_ zVPIganJgivzByZV36m=@c-Se%n-dil@&m(*cQTW~Y}Owk@3Jp#tHqr4h&!*1|&rsHqP;5W;CDtnpsxh_`7ELCOK|BSaV#Cr4<-Gwz(c14w30meBss z7&uu%=RW5Gpavjd+^|Vkp1Ixu%mD`Wz|dR>i#KmH2;`rfz`{A1$ze9@6%7HIGm{rN rmQ6ij~M(9bwwbA@9y6R##vSQdz-fLL*p%K;Vu6pM}i delta 575 zcmX>wk@3Jp#tHqr0SsUu`hkH#Bw*tlKW0X=$*-AZ1=1>y{B9GKZ{-sSe{FJd`lQVg zEE)on16TznJBUaNZm8{KURJ}yTw&Y8!0@t1dd1`%5oyMb$sHoLj5jAA6Opg4lCDT- zVPNxM5L>F>{QrMVt#pOsJcc{JEmO z7XE|I^?|OOjf6)jLM$O3)TJekrC-2aTpKPwJ0K^X_e+SVz z2RJtX9Sj7F3pVM>GuJ~yS!94{E`-IKHyQ-;PflRroXq4foArr?fXtrBiyTY^K`zsk lV+1=INQg8{e&Nv1xL|XIV>J`6B2YvVh-HCTYLm+W766IFj%xq_ diff --git a/src/java/libs/mac_os_x/libjSSC-2.6_x86.jnilib b/src/java/libs/mac_os_x/libjSSC-2.7_x86.jnilib similarity index 85% rename from src/java/libs/mac_os_x/libjSSC-2.6_x86.jnilib rename to src/java/libs/mac_os_x/libjSSC-2.7_x86.jnilib index 5b1a93a512e53a12dad91ce55bbf343095a5c27d..db6a503e8e9af14f00ae8b002052c67f4b3667b9 100644 GIT binary patch delta 418 zcmcc8$9ScWaY6~_0Zs;nP+1(GBKJ@wr3U<@b=;Sr6m{g^}&pNhjrKAnz=cJ zIfiZW1x^l8YcU3f?go1x`TxNS1|W#&ZqT3nmNQV^RgHn6^U%Rx@|~_996Ce4@V7hx zN*`xY(E(B~eoc<$lF?EIs%bq?THjFnnvuU{Do~=^^}}%&6%HVa0Z6kj1L;l{l^16x zzvGhR+^h=ZnW((zm^_8cG$xH--UX}yq#zk6b=>vCpa1{=A9wu%B>%r&3Xu;58OXw0 z!l2M8qVmEOsP1JjQ2K=uL=c1#IwNWM#bkEjD2O zhkpp+mzqHKgv}GUp9r$my!rosKI7y#Il0X7{msJzb=%0Wpb%QJktlx&DR|2*Z>y_sK)>R delta 444 zcmcc8$9ScWaY6~_1x^MAS78Q*3ma<>GBKJ>wr3Ue5^U%Rx@|~_996Ce4 z@VA@;N*`xY(E(B~UQPDpl93h$s%bq?;(y%r!=L~E{~ve#0wn);ny9>3Ie9CWX+6Ju z15hzTL+xwE67z1?564|pI6wkGnuQrice1FwC{hKwAQU9U!U7T!QE7hgyA!DJMFddh zbrV#Mw}e3fDEGnxB)H{;29N^U3bGDrYqNy_e@i5g|AGf1_wT<4k|YyJN<~SDvdhSCKM3=GW=e(z%e3v?a=3S9sS`E)*iF>mq>4x``(paf8<$MM5| z{{R2~q5&xRddoiE5(b6N`!DK1yyh2?AVVw!fNFqB{+G;s;QVBBV()>l wdD%8sO3i1LbddtNj)9>EN{c}0jLC)y;(`HCo&}VSnH;I0&seg#Q{lTf0C;qINdN!< delta 320 zcmZoDY$)9DikZ=D@@r;UfyLJy(%12R2z(NJ!ewpRlbM?(SlU<^S4^JIq0Lv~;&J@& zpa1{=`*c2kv48SU4x{=O1`u%kcdkU$@KWdfeat|f;ei+P1sE8bAN=0O0_1ky?>qz) z>H!M9p1F^=gh8S6K9Ju8;-7vI3sPwz05lkA?*Ed87d~JCrp^EOTMB?8hPPi>fkk-v zryllbe$D(c3Me{(U%mloG{fdj&P@V#H(41NUcPw?bXTt|D;tpg0K#Sjv9CbbXF+OC zK-iKX@jWo{&6QH~StTu`K;|(p^gwA5C>=A|P(fU<1j=)P(gBkr74#W1Hg_s~7Y6_+ Cm42uI From 791a995b4d4e5791217d657b7ba839492236ffe0 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Mon, 20 Jan 2014 17:17:51 +0300 Subject: [PATCH 112/126] Replaced ARM 2.6 native libs with 2.7 --- src/java/libs/linux/libjSSC-2.6_armhf.so | Bin 10383 -> 0 bytes src/java/libs/linux/libjSSC-2.6_armsf.so | Bin 10527 -> 0 bytes src/java/libs/linux/libjSSC-2.7_armhf.so | Bin 0 -> 10395 bytes src/java/libs/linux/libjSSC-2.7_armsf.so | Bin 0 -> 10539 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/linux/libjSSC-2.6_armhf.so delete mode 100644 src/java/libs/linux/libjSSC-2.6_armsf.so create mode 100644 src/java/libs/linux/libjSSC-2.7_armhf.so create mode 100644 src/java/libs/linux/libjSSC-2.7_armsf.so diff --git a/src/java/libs/linux/libjSSC-2.6_armhf.so b/src/java/libs/linux/libjSSC-2.6_armhf.so deleted file mode 100644 index af2ac448fdf8f106e7b2c74120115dcedaa11fc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10383 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 GD*hMn7GJRd diff --git a/src/java/libs/linux/libjSSC-2.6_armsf.so b/src/java/libs/linux/libjSSC-2.6_armsf.so deleted file mode 100644 index 8a210400b4c5614cda25ecd0ac23224f7cf78e1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10527 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 diff --git a/src/java/libs/linux/libjSSC-2.7_armhf.so b/src/java/libs/linux/libjSSC-2.7_armhf.so new file mode 100644 index 0000000000000000000000000000000000000000..94272a6d4d8a376596a0e1e4b2b39b41564feef5 GIT binary patch literal 10395 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 M4qntnL|u#cAAx|>b|?Ih_o-GMOU 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 s8OYgv$guShL+)JpJ>=d$SNpac Date: Mon, 20 Jan 2014 18:26:16 +0300 Subject: [PATCH 113/126] Readme update --- README.txt | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/README.txt b/README.txt index 65d24963d..53796bd7b 100644 --- a/README.txt +++ b/README.txt @@ -1,8 +1,21 @@ -jSSC-2.6.0 Release version (01.06.2013) +jSSC-2.7.0 Release version (20.01.2014) This version contains native libs for Windows(x86, x86-64), Linux(x86, x86-64, ARM soft & hard float), Solaris(x86, x86-64), Mac OS X(x86, x86-64, PPC, PPC64). All native libs contains in the jssc.jar file and you don't need manage native libs manually. +In this build: + + Fixes: + * Important! Fixed bug with port handles potential leakage + +With Best Regards, Sokolov Alexey aka scream3r. + +============= Previous Builds ============== + +/////////////////////////////////////////// +//jSSC-2.6.0 Release version (01.06.2013)// +/////////////////////////////////////////// + In this build: Note: Linux x86 and x86-64 was builded on Ubuntu 10.04 and don't depends GLIBC-2.15 unlike jSSC-2.5.0 @@ -11,10 +24,6 @@ In this build: * Added os.name - "Darwin" and os.arch - "universal" support. It can be useful for MacOS X developers. * Added ttyO to Linux RegExp for listing OMAP serial devices. * Added JSSC_IGNPAR and JSSC_PARMRK properties for enabling IGNPAR and PARMRK flags in _nix termios structure. - -With Best Regards, Sokolov Alexey aka scream3r. - -============= Previous Builds ============== /////////////////////////////////////////// //jSSC-2.5.0 Release version (27.04.2013)// From e56d39fea082b288f3abcb17da60b5fcf5efd23f Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 24 Jan 2014 09:15:19 +0300 Subject: [PATCH 114/126] Added "writeString(String string, String charsetName)" method --- src/java/jssc/SerialPort.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 01778b3fc..e5f43b402 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -24,7 +24,9 @@ */ package jssc; +import java.io.UnsupportedEncodingException; import java.lang.reflect.Method; +import java.nio.charset.Charset; /** * @@ -375,6 +377,20 @@ public boolean writeString(String string) throws SerialPortException { return writeBytes(string.getBytes()); } + /** + * Write String to port + * + * @return If the operation is successfully completed, the method returns true, otherwise false + * + * @throws SerialPortException + * + * @since 2.8.0 + */ + public boolean writeString(String string, String charsetName) throws SerialPortException, UnsupportedEncodingException { + checkPortOpened("writeString()"); + return writeBytes(string.getBytes(charsetName)); + } + /** * Write int value (in range from 0 to 255 (0x00 - 0xFF)) to port * From 5d1515a117c789c90b00bc3b988ed25287759cec Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 24 Jan 2014 10:51:55 +0300 Subject: [PATCH 115/126] Added "getNativeLibVersion" method and and version mismatch check on jSSC lib loading --- src/cpp/jssc_SerialNativeInterface.h | 14 +++++++++++++- src/cpp/windows/jssc.c++ | 7 +++++++ src/java/jssc/SerialNativeInterface.java | 18 ++++++++++++++++-- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/src/cpp/jssc_SerialNativeInterface.h b/src/cpp/jssc_SerialNativeInterface.h index e3182e134..7029b1bbe 100644 --- a/src/cpp/jssc_SerialNativeInterface.h +++ b/src/cpp/jssc_SerialNativeInterface.h @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2013. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * @@ -31,6 +31,10 @@ #ifdef __cplusplus extern "C" { #endif + +#undef jSSC_NATIVE_LIB_VERSION +#define jSSC_NATIVE_LIB_VERSION "2.8" + #undef jssc_SerialNativeInterface_OS_LINUX #define jssc_SerialNativeInterface_OS_LINUX 0L #undef jssc_SerialNativeInterface_OS_WINDOWS @@ -47,6 +51,14 @@ extern "C" { #define jssc_SerialNativeInterface_ERR_PERMISSION_DENIED -3LL #undef jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT #define jssc_SerialNativeInterface_ERR_INCORRECT_SERIAL_PORT -4LL +/* + * Class: jssc_SerialNativeInterface + * Method: getNativeLibraryVersion + * Signature: ()Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_jssc_SerialNativeInterface_getNativeLibraryVersion + (JNIEnv *, jobject); + /* * Class: jssc_SerialNativeInterface * Method: openPort diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index 046856d67..08428ded3 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -29,6 +29,13 @@ //#include +/* + * Get native library version + */ +JNIEXPORT jstring JNICALL Java_jssc_SerialNativeInterface_getNativeLibraryVersion(JNIEnv *env, jobject object) { + return env->NewStringUTF(jSSC_NATIVE_LIB_VERSION); +} + /* * Port opening. * diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 9f1151dac..374ee2620 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -36,7 +36,7 @@ */ public class SerialNativeInterface { - private static final String libVersion = "2.7"; //jSSC-2.7.0 Release from 20.01.2014 + private static final String libVersion = "2.8"; //jSSC-2.8.0 Release from 24.01.2014 private static final String libMinorSuffix = "0"; //since 0.9.0 public static final int OS_LINUX = 0; @@ -168,8 +168,13 @@ else if(architecture.equals("arm")) {//since 2.1.0 } } - if(loadLib){ + if (loadLib) { System.load(libFolderPath + fileSeparator + libName); + String versionBase = getLibraryBaseVersion(); + String versionNative = getNativeLibraryVersion(); + if (!versionBase.equals(versionNative)) { + System.err.println("Warning! jSSC Java and Native versions mismatch (Java: " + versionBase + ", Native: " + versionNative + ")"); + } } } @@ -289,6 +294,15 @@ public static String getLibraryMinorSuffix() { return libMinorSuffix; } + /** + * Get jSSC native library version + * + * @return Version base number. The native lib version for jSSC-2.8.0 should be 2.8 for example + * + * @since 2.8.0 + */ + public static native String getNativeLibraryVersion(); + /** * Open port * From a02a5f133eb075103cf8ef37a789d866fb04131c Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 24 Jan 2014 10:52:33 +0300 Subject: [PATCH 116/126] Replaced Windows 2.7 native library with 2.8 --- src/java/libs/windows/jSSC-2.7_x86.dll | Bin 66560 -> 0 bytes src/java/libs/windows/jSSC-2.8_x86.dll | Bin 0 -> 67072 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/windows/jSSC-2.7_x86.dll create mode 100644 src/java/libs/windows/jSSC-2.8_x86.dll diff --git a/src/java/libs/windows/jSSC-2.7_x86.dll b/src/java/libs/windows/jSSC-2.7_x86.dll deleted file mode 100644 index 34dd2604b8dfa21e4dc436ecc505c6151ab2e0a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66560 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 Date: Fri, 24 Jan 2014 12:07:57 +0300 Subject: [PATCH 117/126] Fixed copyright symbol --- src/cpp/windows/jssc.c++ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index 08428ded3..c1fd6e96f 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2014. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * From 4cc733245bced22d75b042a822b0408043d858af Mon Sep 17 00:00:00 2001 From: scream3r Date: Fri, 24 Jan 2014 12:10:09 +0300 Subject: [PATCH 118/126] Added "getNativeLibraryVersion" for "*nix" based systems --- src/cpp/_nix_based/jssc.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/cpp/_nix_based/jssc.cpp b/src/cpp/_nix_based/jssc.cpp index 89d8da083..634b62018 100644 --- a/src/cpp/_nix_based/jssc.cpp +++ b/src/cpp/_nix_based/jssc.cpp @@ -48,6 +48,12 @@ //#include //-lCstd use for Solaris linker +/* + * Get native library version + */ +JNIEXPORT jstring JNICALL Java_jssc_SerialNativeInterface_getNativeLibraryVersion(JNIEnv *env, jobject object) { + return env->NewStringUTF(jSSC_NATIVE_LIB_VERSION); +} /* OK */ /* From b9b2b1262362dc3e6f2489e692e3b421a9abeef4 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 24 Jan 2014 12:31:52 +0300 Subject: [PATCH 119/126] Replaced Linux 2.7 native libs with 2.8 --- src/java/libs/linux/libjSSC-2.7_x86.so | Bin 13720 -> 0 bytes src/java/libs/linux/libjSSC-2.7_x86_64.so | Bin 14464 -> 0 bytes src/java/libs/linux/libjSSC-2.8_x86.so | Bin 0 -> 13720 bytes src/java/libs/linux/libjSSC-2.8_x86_64.so | Bin 0 -> 14464 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 src/java/libs/linux/libjSSC-2.7_x86.so delete mode 100755 src/java/libs/linux/libjSSC-2.7_x86_64.so create mode 100644 src/java/libs/linux/libjSSC-2.8_x86.so create mode 100644 src/java/libs/linux/libjSSC-2.8_x86_64.so diff --git a/src/java/libs/linux/libjSSC-2.7_x86.so b/src/java/libs/linux/libjSSC-2.7_x86.so deleted file mode 100755 index 8491f4bfc3c74969a635ea0b0fe8cd5842cf5f3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13720 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 diff --git a/src/java/libs/linux/libjSSC-2.7_x86_64.so b/src/java/libs/linux/libjSSC-2.7_x86_64.so deleted file mode 100755 index 29f2cc536c75727bb1ef5a49f2323b0a17464447..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14464 zcmeHOe|%Kcm4BI;B!h;Tk+n8zgpp1#sKkswKXEH|CYj)i9cYwbqkzLOnLuht(##u( zF4d%yP@Y2|TJ6WJ-7R+e*$>_R*!0JC5xZdm2tlb*(2|v|rl{o&ztI{Hfw$jt-@VCW zBn`En{cC&qygB!rd(OG%o_p@O_q|*muL#bzWMxUBSf#rp!b&C>6d!L$d3goECzVRM z_`P1bj`3!XG<~9W?q-7|pd`5&f%?e7qfKKdpqo_$9I$XYheD1}l5-Us?XF@ss|c9l zLlMw!ut_#Rdir^LCiHMV0g0DN)q6@U)!S}j=qKPW4YDMlkh>RhWas4;Vds6kztQ}X z&;21F9}XMa)#%KM=kB@lCHoV$pLlzZ6D-{H9h54q(AJfFdH4W5a3M9D|xa~yF2j>B^!9#inF0bct=mw-YyABVz_If#&cxVJmF`jwA3nVAgrohn>aRaN!}37MgWtc|v+h4$d7Mr`QuXblcV(e$5HeTjlzF^6nfVv_R~6=Y?yY@?<=G5KR$~7 zD-l4K^23%<^puUFr(hI4(?-!VIEsI=N6|xpeknVjVfyo=)QyH4ehi!n<%kK=cuD5@ zlo9dsMMlS}q{M=99ClFo90jXbChCP(08J&_O%I^&z zwQ@ZvatMkTSDg2|C!^o#+@HQ14Su%)r2U-UObG+!Iq0RbWEA^@+@6!%o^=MhbQX~8 z^l|$|9^b+F+b9vD6mb3J+3jPqN#o(*n;@Fb^8q0rLhO^uL9L@OJit}YyjhGJ2rVnwu3iOmVe9+t-9Mz4Pvx6x@;Q;RY; zyxcH-29yNr8>6v#N?3`<8l?KBh|+L5U7MsXhrKLbR~K!8Ba~>YyeZzOj41?X1gh`5 z9Jc$a=aIupF&5^_mUy#bbka~oQ_;9`Ieu#!s#c7tZDqKgJ9SLfShTUWtR)(LSZWM6 zHpLpE(dIE_VBzeBrj_MQjY>;X!NrOJYiGfIqP55aP_`r%Gt!I{ zLhwlCH8uXS%8<8sx^#E2vJ7ZwdhraS9=g5w_TrgFin8E*iR6f4#Xkcx|Jpz^=vmUI z`Dc;5Ea&6h4SnqU_lI$Ww@Ht3nlkk%97nBECvYm%Lk({uJbqn0j^`HXN#5SW_a8dL zQW5x`+uRJN{T3YzmjM%9?8VeLXrhZVH_C$V8|26j4e{bn|;esflhr|NBgI^LS+wo!*~BsWQxKwQnLyw8;nuZ4uh!#CH2Oedg_x+>%~61HaBmKGXTGT{^| zX&1w{5>6qKmKeU7a0-p|$qOJ9{+w`{`t%^f|Bdjg2;al-?-Nc-EuCWccL=8`OZPDR zDZ**0(i<551mQGA>2BbFtk8VO$?Ruta7%J$O0npB*mQJ@GQVxsG6+ht`kudfUVMq1 znAHkiNy(Fwv%ZKHZ7;ORT{k4IcT2&pLInW&W}ziG^&PqIW2>Avk|p0U5OX^x1!%HU zS+bga1KR!i)!V^30adiOytgC!0yJkW@Gso8tbat>TUpVrw{=XEdahI&p!?~oq@Ho{2S3;*>}%I= z1%FSjGS|6o4b!+7F|vu`K>31mlH^=(^wWb#>=_4rQ`&VqqO9i%rJ!A}LHzdEogKGB z2Zjv)Y@%3z+y~?W;OGRY7vYZ|BK}qOe>ajRG?m@LA)u}r>OBtK6e{ktcX_JF__$D+! z_qbV7kJH(4EyGefrb#{Hot;)D)Q#q?SrX|xi?{;TVU>EU&W@u7_6Hb}t1oG%p?jlS$%PD=IkY`Xv6CPn9jQmCZm0T2AEW0{ zT~1mn)j?T3E~{_9KwWtELMQT=tZH&{p~odB8$9{JWUa>ylZ)8s%;SUokZzzsF#Asi zfzTjI*&yD4EtmTbDfp(oFqQr}>+Bdc#}AAO|j{j%Jf97 zC+|E+FeBeEm7xlONa{9An^!K3{ zUw)-}Zc7zLug!$}Hrix$o2>5KOq6(|`de?RFKta6w5hv3kbk7)>}2O3#HadZ?;;F0 zpdQkWozeBqRO`fKxks&#lI2&c6}Dt~zFJ{VmKUfMdC79OTH!*-kn54~3q0fw7X@|t zw~!sqw>xPPB)O~A_VeJ8j=FCDSLCjlxk#t}`~CC%)rj)>^AI_Rmt}|-y{be`-s0Uw ziq);Xl=bvy79+qZEEck8ImDv{0kx1+Yh~z;nrm3dz<6&8Z8fZI3fizXw6_5LYM&o| z=u$i-es!n6FKzet9m(y}a{P&RviylZWF-c(z#Blo*aK?N<5B}2Pq3@jQw4Qw3kIA) zG3@UeKL;^ZrbmS)l#R8M*L8mm_CZYB>UtpTjOYH+fi zu#`<}tx|nyL>pV`8QRjDSu$X0z)(oWV`W)|LZlt0kW8)?Hjb&4x-pxHao#F4B8LlS zn8(d^291F~ zaVN$u+!_3YJ4e?_=S#Dh0c2<_zu`&3B=SjG_!nrU1Yp*RN%C-qx`mw?!8zt6k;gK0 zVga+*q)7Wz6Hlk*44pMxC(Yld(P^mLOy_RCjuP9KVe4D4$iL9P$p4T(l(Cjpc8$2#bzSyI& z3$i^L=Pz|&^S(JtT&EAK1AS*E^_|U`y0w05{yAuj9PTQ}H!Mi6Lh3TkRo>K*9@@v| zZ@H69Qs0<|lx){NL|?=E2erf>8fE{G)wk3W+D!1PTfM2yz44op^X$nh)jfS@C&7Zm zL2F{rnn>A(UUE4DTh*L3X}ihS3f;;&GUX zom{KRG}77m6PWtv4E3wWH1&O&nfTYqPHX!?xZ?4)caKzbzN^l&t5&7ZKeXMdjB9@x zs@gyTYE!b?cDq!oKk=@esy5Z?MQVN%=N0X_Q>5*`D7ND_BPg|(K`@R`qs&noSS9bV zBYVm3=5eRXU<*IL_`g!A?l<;I|F22;{GfVX?mLzS|8Qj*HdMp%3Dqy=s@z{eAY~ynxLqV(J zagjYQu*g*3_NLC^kdR#Eu~m3e-d(ikycHZ*d(^F+JxSqt7@Jc-)wOfLpt64|@1isH z`13ODAeEPk*pWOcvZ-NyDS+FsOcK^WvhZp?#X8U0|(u~5EmWBc4Hk4tNZ zYPo&8G1vjq!X!KCd^bSxfgoY$PmRu>I86U0s4ByUX<2=>QvDsNO`&UJGZcxW1{5UR zfO=Yv?D4DHwNvQN*nPdbFhIdae?qFb<4<(fVTT^)(&dOFL5SMx!F53)Mt<1GSp}D{VFT|xuHG_d*6r` z65DpLWr=mdaviPn{o0d48?jvKe7=YLGoZdki)WDBqgANe$vs#}tC){!oWBZqkoNYe zzo}4PT@&y)h|r9RQ`-vlI8{;XXgg46>(Gz4jsFI+(PreV&6FGP9);a{lw}uG|ERw0 z$KWS0bK}z!t2}ny+3_O;HJoRsOm`D&a;~}CMB8_q`D)E{(EN$>keEs}3gg7!Yk_fE zMdy&8jB|GS(2yA1!m#me*ns@)ILLQ=4JS67=xrAYX^FE|f70eDlm_WgX!8sOJgr$u zZld2NFbiRJ!dO549Rbg0CHlQaD%8*EMh~!mG2U2Tp-xf78|Fz~#p`7!uiBg)@1u%^ zuox+^rLNmM6jTq=f_eBDjVm6awOPR4K|n<=(OOtT>+H5w9tZRvAn|~wATjtcC{9pb zAl-xKG3EmBdsFNk1;Q_aE@{)5_#@+Z{_q|k$KC~^IzVBI^Yub{O{(>jQsDY1aOEJ@ zT@|9IW?Q#EaU6%?3t207B>H{KSLvVO<#_l!zeT1_-h#eLHT42*$lg?t_N=YF6A|Oc z73$kTI8OV~Q5s(mj&`nD4>o_Ys=%L+T_tQsIDNh|fPH3q1Ymd0p=wk8j#OegQ2_u zF7E+t3h^B1tmGM25g^9dR+<;6o<=m=Yb zo!Smw@!4wGHkZ0BpwkI0@JdNZ)fd0J;Ht080T=fK`Blfb@lX15)T3Kp!P+ zz#hPUKsPoz4R8;j9htlPLtXa)HV^6gVtVg7jVUFF*Vzq#ZhVv&089a%0UQLRJ4-%% zWWa4D=_I^WMG=8gU;ruW(W?8TtX5afbB%VlbbVf~y&F9mcf34+8{iUgmqXAgC|ePw zLWiJZCZ#se=_N>%t5IpdL;RWa4$zxH=O!@`;{Pt5WuQ+aO2FYJKz)&)iT`Irn6uiN zuvI!rX0Ig=u=dvhUGOQp%P?oPEs;If;hWuMS&I%x{!e&lPMQFv`yD0aYb~UNFxF0Y z7HCdJYoCGk63o?4Nr3n7h7v+&;HgG?3hnF;N}0n|>Buj0xXTot_d8tjYADKwV-i*- zzZ>nXXlHjd7GYc_d9v#$+G`Ly?CuBbDqn9Y6Q<2JOoL(Nt8*$GrFT2UYlS>_iTnR=Lj7WnF8#8l(W)Q)qWnJM5}RSlHdbg`oF?elO8y)2CqLE}sIr z3o*;?5Kx+gGNy}E z{;mAY1OIP4fE|t%G2l#G(6Q86p}PcB1n$eg@5#XFE&&zsH*awdRQ#=5-1p;b5}l=~ ze0ae~mttR`oJFM{$9pOw=a+Cn`jA8ApEypRkg4$NdpHdmMZ3+-Do6#axOj!~4wYO3 zu)DWZ?WVu1q6m6E$GI6&tI^EvFjH0Zhw}tW_x*gJ@GHYbzu0;iUdP+9r7~Rjm8<?%obad@1=3miJ=FUTkpIV|SzE)M5%_z;JU96rY3Iu8Gt!=G~4%i*gW zzQy5j4li)%;Fm)ta@bSiX7-4myUWY}-d!|*3GSlB-7|`36i=TvBhIjy#onm~MUskR z%VJ845?&$|H#RBJ;-!u8;wAC=hT3WMwGzXYg>hf0xb~68*dxmgh`U^@Wd-gH(Jdk~ z5<*)`v>{9ayw=>HNX6{ZVX+czMV(zeEN*FHw}y(N%R+Uy=@bnutA(t$e25lrx09$U6dxJOdV1GS_V>sI=yVyjbS~F5z;*e!(YT1==Zx2wdb50js!t zrv02ORii?>g}lgH0*bsP`p+EyLmBcS4+<#qCdreZGv$|oMm`aFTI78Jg`dH~im*fA z5me0bn|R(4usOrwLY}ipjT!Rd|1AlaZ@y#%ULhy?r$uD$U+hx?@@+t{567V(Jj&&T z{}y&|YlFXYyy_KLH!Xp0Ho+bK?Jp zrFi_%`k^A^#khV28nFm@aldiTZNxpY&l}i?ywLL^8qD(I+@W##ej&)AkP~owhP>F{ zdP)odVW&_dtY!~g&Q diff --git a/src/java/libs/linux/libjSSC-2.8_x86.so b/src/java/libs/linux/libjSSC-2.8_x86.so new file mode 100644 index 0000000000000000000000000000000000000000..8ea5d6e21e6a8259c97500e3d0e76646e849599d GIT binary patch literal 13720 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⪻b1(MWTBMO!3vhtwQuZizNUBCTV}z`|KgEh{Qpnw7Serr9m^ z5lIPy7*dqBF@@ofPYQ#0PQoy>o;jcV5n3iiBTbR8A`yAaj#sobQeb1|Bvu_$Al%dv zjZmCPtTrZpYpiXl!LNjuG{vF~V@hDyHKDf9vZxeZf_h`LH4>>e>McfnthLtC8fj)G zQbk%4ZbsM#gORqj=9XYnOBk!47I$!IdwZ}If!jibi7xhjqTg?#(|uBujV3xj8nC8KCOSW=FuEK+V$;5h zDA6uQIA}d+ljA#V+w~cHC%GiO_+|V$CYPf|cmv5~26dF;X9%b8%JegQ8{rgEnKZ+< z5>BC%NiqBp!YPC@8yWs9!YRZvNrpc}IE8kmgW(SlPN9`)W%#{>Q%GeNG5mXkQz&I> z7=91o6hfJDhOZ)=LMKzo@HWCJWHK&>e~WMmm5h_&iwUO?$w&;pm2e7;%!$(=6wf7` zram*s@S6xfpYVQ$R}fB1Et6*WmkFmS%cK}Sjc}T(%tnS^ML11SCJ7vn6`Bt@kvHS> zE=lfAE4g|u7yFSN-$pZ~%HmlWtJ zz7PQV{u?cUDR0VsA6n%2;T-u(15uY_vY#e9og=GxPoUkWU$_ITkD!Y7wzrWbL5i2%+YO85M1kBhV-3bF zCpyY7-TL4X6pzr?sY^dXwjw_}y8ejYyKd{$%PSnxW*dC%==wP|K%Zm%L#TD?8;h@y zHW#uc6@;W?!%c|6PJPjv7fY%0mL!$soq9*tBq{Y7r3t$4J6}qTi{1L}_L2Us27jtR znd4Z$mT6ps7}`v6qI|_MS#oSJ`bi;DQ{$lTicZ~zC`_HFOzhO_5Z@`Aql<0{a0&dk znPLTU?~;pvqffA>tjaOR`az~&dd4Pg&WFXyel$Am)cK2@y6Zu(<;9*P(;yeun^P8L zOY*LpJ9Rij+Dt1$`DLfR3ow{u?hPJm(Gwj+nI;2L<4k>n<=Fn zj;>1>mVWvgDK*~FZDB%5G;hn1NZ$vDJ78TFDP?hV9Wk)K!jK$C_n&~hyB$7C#*gPQ zm&J9-T0Mu`rU*Pq#Q$# zZ7+KAe#}HbJt(VBY5SmilS?Up44FB!BS*23AR%4pl~lJ;eN#E37gAkLSgO@QSv@AJ zuWz9)ynCS&c}`X}IkC{~loL(vqCleF?SjcAY;>meLH0wsi3Y*!KM?>zgD7Kzcm=j# zCUi1`U@v80!)RH314jGRo;e3YYH7q530ehd=KC^F1= z0&OSzNBq&JO&)Ox#YH^eF3dgr>>2YpMt_ZG^!MQz{mnj?{;XO3y(h+3RIPsWWDQ2I zT?F@SvdZdqS>3snD6wYsMQ^$HD|60l4$<9ZJPxaN_+b~?edQf}rl&*KD z+b1O|-D;JTsJu|EvL-5v)GAw|a-v#Qn5cBARZfHqxgHzBL^rv^NkN@?7_!6pcqdJQ zB=@vi9|;`pT9WjA6X|vW(y8xe-+W&!qI~{5L=NJm0r8^Ol*);z-rb~F-PTK4PygW} z1UQAoLKZCtd9)y)7Lsc1a&$+{bu46Hyf=-uI@XqtHmnV;7tp8n`QV2h#a-%Ccl!D= zHecW2f<7(Z7k@Ly7yoNcd@u*RegurouLj&s)$eu(dg|RZP{+1t!08mjzP{smsFzV4 z@OnmzAIw3WZSC5%=niZAdViwUU52sv;iTzkt)U|=TLI90H8{%sYOT8nNC}Wqz*@w* zu{x^Nr%|7+4tn2JcX`gE1 z=`@|CvySVe`TI0F4Ru@TT+Y`~d`APez6H1W7W!`U-R=u!?dPWbj^+2^{jQ{YxB9GO z{iD#twv{Vs=h&;o-=$3ISo>qpJ3l;#*u6X4xSvjtRo>AH8QTHS#> z9Z(U?bvEr1&?tF@puxMhw*>msEkIjGbdNN6UWgb$p zO?w4>4euY+61#nr{X8S=o9^BlyD~A)miUa?-}k{}SP*~15+Ah0)7GJ< zoDTmsbzA%yTgO{gN7Xi1Y+G=f*so3dMcLu|jPubTJ6|xvXonl|ILyROu9apR>FE9~ zO#OR?`qZOZ<2y7nvG0(bmd-cein}`w9IomwE^PIzR$yRq{Ia zI8}=;e!xamt7`EgHNT4UiuUcdN!t??+p((b+mJDNXF?mV&yxU8;5nhw8@9jj2g0)5I@sZOlmLcjWc z{I6g2^?Wmj&N{B@mkyxCh87z#xV1ZdSJ0nOz&2HJ+X7*1s} zOtO>CcLNk32oiSw)ad+)!}N0jRT(}^%j)yh>Yqq$8eJQkp-3ckpdjJ;)su3#->2@- zUPOP!?(5x+0SZ3)(^b`%{zhjVcIa{3mu6=kT6S1_%GuAy^VEH^`cm(B;~2U8IAY>; zEeL>|a9?`Cc6Ar6v-n_P{8XWGm3L^U&la0H)MqXKLr&}qLw&jIz7Z=XwjE&05$lBI zI$G!Zv^#}1VmaISyr29tpuRwhXOP^ZRjE73Jy=PrnUCrmfAG7J_Fht-t5Tm|>v!9U z(29yfdkE@rs-oD@et|k$hd$gkwgA~=HFDNg$_=Y?(-jyaS$m_2_9$a_ti292U;JZ8OraWuaeVLv|2VCxd&oz|Il9Zy z5FdP!VdFcn0r@&{kng$^CpMhut*47=iL+K;!s;%T2I){}br1R7?Kw(8e3w;VxrEsW zWBvG^_PakP(eK4lvHp>6^Z@%8;l}zbb&4u(m?wA@*UN5RwK}@qK@|&O5mI8?lB9Pi zpuRy1=4(fp8-lbpC$c*TsK_PST-MM&t7Em>4*mN{-0z+kAN&v$2Pj)e_u$7E^F;7_ z)9j7{;m1Iiw9hi}mE(B+@a`waP6AOKps>aHdLdnt>fL1&xaAbMascbD2GLWuJ?V=d z!(sSz&WfkwyULlbG7sZ&Jba#iQl?INp|4s^Z=ns@n-0*PwXJs&VjQ_beLVojX^A5= zz5pEUSi1pizC_JLUtD&UvK`^%$K7e4T3)2A@ZsiUbM(>+7FfzeB{l>SZLbpz+OLQ8 zwO67y40|$dh(>3VMjEexHJS%_=J}6xJvkolyvu#@LbuZx%xVmV@&>rP`?Y-H+ixCU z#~x(&VeUCblOOkO*oS0G_n5NGCD6?M+p!1k8s?ug%s(FQ*UkM}dB5>pxioQ^3XZd> z-DSva#(LJW&_6uq%Is1uE)p% zVGa4Lnk||O5gcsgYPo2kE&VCF5*o{v2A8#L9o^rf@lswqsD1S?%U9js1&IgYZ&1ad zgpT6u%B4L9o{j@2**gnL7nmXKKR}bQH~#bxAf4UcfwkBh^<)i8x*7#z_U)Y_60y13 zU5<#9MZPmGshK<2&WQOy7u7qT!g)s5&WHBH_w)HUW1dPz_R-!#L<^1O-3+FjHdy1_ zqeUT|km9GDj;>okji1Vm6+$znL(j;JFdir-9GQo1e23ov01l#^eRDB;jWwP($6h|GCwCn>AbEQKMswCe z0yo=BE7#?c62e$JdlUS3+5_Y<%;E1yfcNi$5<;irX+k^AG5c1g!tSiL7gg9@750+K zb$LD3^_C5}K6|OpURD_|Sd;I!ZzOeO*UwQY!kPLt)TIUXQa_nY=JWO)XdgiPdTRIC zo$?weDuQF;7AAiH?J_Pe?3l!#Oq*qx2E!`XclNS+!5oqh9kOOJJ3-kSV)!5sUd*&A}#^B|yD{5|*@5Xii=@=p(ZY7by%VMQp&#s!_$C>8o!KNW$uXW{o`;qteX@D_8sf4#fBI*&TW4FSsZ-a5#s<+c|9J@GcJ5bNCYuf5%}jhtG5P7Y>hc zc$z~y{}^KuhaL`Z;BXFyw{zIc;awc2N?pue@pEHk<(FM0^B3crv6ySRXS(OQYo^B- zHpAncVo)T>6K#kpZAxgd&`vo- z;3AI*Si|MB?dN2v78M$zkQaGt7;?sJ|B3P6o+U5xpnxK8l05l2+kXw9kxxXP9{%p1 zuXoW8SXdEu2t166S-wcfaoC#Wa3RkQS&(hck{ADPNkG~B5fFHV9IC9)A~N?c_9+2* zTIbv&^C$?bxV-THi7Sm30bPQT!|eX=0iF66^4b5-=V@(9@*y&Y(!q@c?=C^d2#O0xcn|5 z$f1xEa7UKB*xyp6hJdhBs1b4kr@tN$P1v92`(yeX Date: Fri, 24 Jan 2014 12:43:42 +0300 Subject: [PATCH 120/126] Updated "getNativeLibraryVersion" javadoc --- src/java/jssc/SerialNativeInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 374ee2620..c5264f5e8 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -297,7 +297,7 @@ public static String getLibraryMinorSuffix() { /** * Get jSSC native library version * - * @return Version base number. The native lib version for jSSC-2.8.0 should be 2.8 for example + * @return native lib version (for jSSC-2.8.0 should be 2.8 for example) * * @since 2.8.0 */ From 1d63a06b67cc45e9ddb3eb80387ad3d989b033d8 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 24 Jan 2014 12:49:46 +0300 Subject: [PATCH 121/126] Replaced Solaris 2.7 native libs with 2.8 --- src/java/libs/solaris/libjSSC-2.7_x86.so | Bin 13872 -> 0 bytes src/java/libs/solaris/libjSSC-2.7_x86_64.so | Bin 17592 -> 0 bytes src/java/libs/solaris/libjSSC-2.8_x86.so | Bin 0 -> 14072 bytes src/java/libs/solaris/libjSSC-2.8_x86_64.so | Bin 0 -> 17832 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/solaris/libjSSC-2.7_x86.so delete mode 100644 src/java/libs/solaris/libjSSC-2.7_x86_64.so create mode 100644 src/java/libs/solaris/libjSSC-2.8_x86.so create mode 100644 src/java/libs/solaris/libjSSC-2.8_x86_64.so diff --git a/src/java/libs/solaris/libjSSC-2.7_x86.so b/src/java/libs/solaris/libjSSC-2.7_x86.so deleted file mode 100644 index 2939ae214dec70f3c0544dd8f8004eb868b6b10f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13872 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 B#(Dq% diff --git a/src/java/libs/solaris/libjSSC-2.8_x86.so b/src/java/libs/solaris/libjSSC-2.8_x86.so new file mode 100644 index 0000000000000000000000000000000000000000..3e6a3a3d53478cec52ffd8cff3e979e32b683c73 GIT binary patch literal 14072 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 literal 0 HcmV?d00001 diff --git a/src/java/libs/solaris/libjSSC-2.8_x86_64.so b/src/java/libs/solaris/libjSSC-2.8_x86_64.so new file mode 100644 index 0000000000000000000000000000000000000000..b67dccbaeb465a07a75d914b8f5a9be260806a3c GIT binary patch literal 17832 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 kVjUBdHZ1=ftNtgZ Date: Fri, 24 Jan 2014 13:19:55 +0300 Subject: [PATCH 122/126] Replaced MacOS X 2.7 native libs with 2.8 --- ...-2.7_ppc.jnilib => libjSSC-2.8_ppc.jnilib} | Bin 14436 -> 14504 bytes ..._ppc64.jnilib => libjSSC-2.8_ppc64.jnilib} | Bin 18624 -> 18696 bytes ...-2.7_x86.jnilib => libjSSC-2.8_x86.jnilib} | Bin 18260 -> 18328 bytes ...86_64.jnilib => libjSSC-2.8_x86_64.jnilib} | Bin 14464 -> 14536 bytes 4 files changed, 0 insertions(+), 0 deletions(-) rename src/java/libs/mac_os_x/{libjSSC-2.7_ppc.jnilib => libjSSC-2.8_ppc.jnilib} (73%) rename src/java/libs/mac_os_x/{libjSSC-2.7_ppc64.jnilib => libjSSC-2.8_ppc64.jnilib} (77%) rename src/java/libs/mac_os_x/{libjSSC-2.7_x86.jnilib => libjSSC-2.8_x86.jnilib} (54%) rename src/java/libs/mac_os_x/{libjSSC-2.7_x86_64.jnilib => libjSSC-2.8_x86_64.jnilib} (66%) diff --git a/src/java/libs/mac_os_x/libjSSC-2.7_ppc.jnilib b/src/java/libs/mac_os_x/libjSSC-2.8_ppc.jnilib similarity index 73% rename from src/java/libs/mac_os_x/libjSSC-2.7_ppc.jnilib rename to src/java/libs/mac_os_x/libjSSC-2.8_ppc.jnilib index cb134b17c924f2105f73998ccd54e7fda7e84099..bdba1fca8512a065fddc0212b52056a712b837a1 100644 GIT binary patch delta 1110 zcmb`H%}*0S6u{r?c3Bz>(W0TT}#OeB6FhaQMA);GH~>>uDHznS06d$Vu4 z?eudjbvbd(8UrXQ2M}XZ>Kh``Fln@U0k~BFpI1we+k~X3hYz-gI%2W&fs1|7-e@8cCx6Axf6mC420n9ajc=A3V>XXoB}f3obwQXuW;Ci9s&gies)7Z3M?u8de1j#i4-v~`);np!S4E!DSJ>xbUuI>S)0xcAUh0zS$Qlhx z^<;ypQY~4a3sMzv(NE|fs7)>*9$G2al5yH5Hgm`Maz)q5m@6j(hol;f1T{XRD1pGwZszI=kDJYwONzYG!^;S_nm`M5Iu#M1+)?l^1CrOdu3t?FvBz zMr$YNBB8B|kcbRs1uqH>gu3V=h`_5@s0)iQ1HFr;-zcB6$T~0+K*HMFlpa7V~W46Y^G1Yu;Rt zUPwGE>)i0gLVY*xNY6$C(zX5LL}TO8UOwroW_5ht7cu4Hl)`f6t@4alKiPvR>_v&# z_2f}vqg_Rhh@|>pfY~9^Q6((v#{x3Oc~afN`{Pk{Sp?H0qYRcMLtQsTyABwZwLHil z#2eTYpGO%$S-Yo>LoG zl;_nJw#b88j8*bRtp!`@(>mB|KB?{Ve#GcijIQ8onsN*cx|a_MipA~x56m-(Ckjrt zlza4t{^xs1$|=E`S^iXSs=xx&q}r$D6FWIr@I}6)_ou=-UUW{e!`Ke7?~a!kxbKML zWytY#I38Sq4?7+Ze!t+I@VAaDV(gmZ;XH0DQOFs9cROC5gpVjGd*RYF8d)b05(8!& z_h;ZA94`sNzd9aH!2dF0V`M*ak;_Y69$_TeE8t6wqu)s~KdnXW? jO`sl#Z1D$Hfof0#8o+iSX4?TYGu<}L%=3FXaZLXJjE$<= diff --git a/src/java/libs/mac_os_x/libjSSC-2.7_ppc64.jnilib b/src/java/libs/mac_os_x/libjSSC-2.8_ppc64.jnilib similarity index 77% rename from src/java/libs/mac_os_x/libjSSC-2.7_ppc64.jnilib rename to src/java/libs/mac_os_x/libjSSC-2.8_ppc64.jnilib index d8149686ed1235335bf5af17c58ee70f39c5d882..f32ae9be7dbc03de74d8b22f8fc2b9ccd7b9bf39 100644 GIT binary patch delta 1206 zcmc(f-Ahw(7{{OAIcKnGvRS7&-P_S@Guw6!hPLSK_)>OJY9L`<%|K`%R`!Cy*6ihC zsnG198e|kA3nBOC3f%= zM`r-mX52*_72SuHlW{)RHz`O7E0-&F19ZIrOY#(#J2C~3u=2UJyOwD5zH3mQt@p)f zaUCrq9^c6ntq|C-Slc2|iU2Sl^0H6(Jyg%KxEVUg0F`i%4dGB&rX)?3?u_aL7OA?> z73rtsQbcA&%u*e~F|o&idD+)l%sS$dXE2RtTIll zEh=a27!z#BsZVXI=Yd~nad`gVyxLx?UtQS8wyu%hx{5{hc1nx^us8N{EWITEVYrx~ zH(X`7OCfJJ+^u`eaKA)8ZFqg2T-)YAzFPJac&`BP&T;^aG4f8s>uEtgZg^ml{ITH; zdjAK*r2+CUhC5aApN7{J==&7@c?dwtP~d04?m&4Hf+mmXj`=Qk>KN^n`)KAM1Abc| z44Zt+?K0;010YxHuDhi(bL80WJcnRotlbSL64><67v!C}KGrP09`2w%3 za_fGN$(myT(Pyqc+~G3i`PrUoD=o(vi&je?`8Jo_6)MY|=X~jd5x#rov%;XQcclZrGHjnq&cNZIJ zpOG&^-^^QCt;iUE+AGo){GD(=UNvtBSK(4bcu0fK3m>Y$Z~WufReCNwn1O$4dzOu+ z8I#@Z1RKJFa$I;g2VW2#u>14EwK@1B;R7aoOZZ?7{#v+Z!M||EZ!?SqJ0P+9H?ikG z9p2zfZl4jpU>EAG)@D>xM_sp_tQj>s<)|bbe%|5p4!`2?MTajr{932aDA~@0a?jxp zI=%Tzs(7kl5CkE5mQ0+}>??2x903ua1G_T{4gFHV|}{3L{7{jTB=O5nQ8M zToCD(2K^%yq@(_bBL6HXC@KglvOfa<5K`y|RQUS7?FF~X`=0wb_ndR@;lB6YT;z#M zobJ=o8qsJmQTp<^5zZIPbz0a>bSIA}oC)$1<_V!GySY}>DJAv4>e9=$wyt<^@1cS5 zJoh-VXd@K%6K%&l7a)3PBU%j(LFRy))q2dEpkgs>E90KbedWC><}`ccBqFIqH>@$g zfCP%95^Y&8{oiOxerZfK*|RAvse%h53G|(;FH9w`p^uhl#%G5oVb)tyW=T_>9LxMD zZB}Y(cGOZ!FxRb_!-Jut#6$K~SFfxiau%w#G2Vi8FLZX%FeX{F>bmBG+Wy+P0v`Kj5Qbk&1zhaQ%mhxb>u`Ht>`Z4v?09c`??7{B@99|gsm#~? G9m-$ohpg2A delta 887 zcmY+DPiPZC6vp4UyOOoGji!mMF}pz<8=D3rC>1;;#y=oh*kY6lRV)6%V-OVzh9oFh zso2Q#Pz5C?PePHcdNKy2;7KahFFnx7e7jy-d!$ zyNf95hH@FA0gSU*qN+^P1~wqO!8!_J?12JYmc!zV`9ylJa79jWMfJsZg@`6gY4ld( zGlFPjvb5E4mH(RAR29ECYyRvxDzOm>1s<#=@~>9p2@%JxD0GF#BMGJc)v~VhDJ{sg zNJxn`Eo;zmUm_u4@HVYad5hRtP(pO`ar8I&hL%v8-z{q=7b3dai}eYC+W8}*M}Jt> zADp1`fbLULi*683O&Nu|54VX+y1a58?y}4$^o`00zE3Yd))V49f6(Kmi29=9 z6|c(d7f*ROv##C#`bp%`kY|A}WeyjsT|{}fPN<31doGW)6V18o_hYR!kGl&ajUC_U zAll<{3Vgxk>KdYlE*rRpH!ViYFPGI@Q zBW4CHsEjg*o_Vu|dZO13V+-1+<@qAfw`D{0*TWrnNP?C&YaWhyIO*Zt9yUCD z(!+TVkK4T6O>oV#Fy&$V8qOnLk1-5wfHW>=b^B#!HlyoW32M^XzG19^0Fi G1pNc|L7!6q diff --git a/src/java/libs/mac_os_x/libjSSC-2.7_x86_64.jnilib b/src/java/libs/mac_os_x/libjSSC-2.8_x86_64.jnilib similarity index 66% rename from src/java/libs/mac_os_x/libjSSC-2.7_x86_64.jnilib rename to src/java/libs/mac_os_x/libjSSC-2.8_x86_64.jnilib index de375c0ce075bf8da8943cc44f58c045b847013c..10dc27e43e024e21b6971e56427b14daaeb0edf6 100644 GIT binary patch delta 1923 zcmZXUacJ8`6vyw9-!DmP+oaKMYtsCZ$*MK&T%0YdOQ}oUFiMo@qSPwdiQQH$bL~3m zWRP{rsNDuBrzmb>D;sS1&t^ol6bT|yC6lT}!f;q|g9SUyDs1_qEWUU5V&&(9d-wU? zd+&Gm``!KS(BSM~YRo-nXVS)NRX=B+c)zo@r(UT6)v=z5{DXC~G?=47)D{uZy`q~3 z>LxvExP_vqbs0Uw1MVzEX*QPih>N__ougrwuBvjLbkK5y^I37;`T%bie^`BuU867m z^2VvZOM5nS1-rw1*aE3*pk+dgt%ts;m9a^&URzzU3KTx@cAS={(*4>ls|Y#t@ZH5y zDYCuP=!ZI|pOqR7fRwbSqDSq~<842<8H>JkC3f_^c38@{k<#y}olgH&#?o;|qK5BI zpI&v-lKkAppmA#nLPWm6EpO^k;>2uOw1kYIP zxNiy|zkID!0)7lQnJ*}D00Wm5e}J4*`~-4VaW!&A@qNgjDsDqQqnIO~RE!hkQ;MHK zepB%U_#XKY$q)I~Vqic8=B|mu-k>cDSo~9b;tlG{fNR8W-e$c8p0ZoiHZ<$cNs0g+1B!}4pc$YhG1U;( zmw~z^b-)1}6Kj3p>VrVJztpngBI2zVhkYK~42)hah>v`mtCtb4tAqh@-KZB9!>zYk z84HMdBWxQ6T38Z2M$mQ&aBfMA8$o>@@SOOk_h^{Y{vkLH^dO& zJm5l6O#2@eaqbX2usW&H9~Gm1p1xNT=`rfxrrt$;k@6ZyFOWV+y8QFMM7o>$R_Yg3 zekI#W16$Hlfr3-J^rfcdf>2nm%ktRgi*yJN z8`wRtwKze@rF5dKtCYsGf$>RN;Kx!Y89P*?5`Luw7u-B(m9XnrkfDN&qmTl_rKN`>wj@*$IyYN`-b-Qzq&`9Z@V+Szpc{x E4?0|Xf&c&j delta 1787 zcmZvde`r%z6vyvv@?H}c+t+Gs>TA*bD|Iqc1Diw;Te?{<*m1);nq$*-O=iU=^j~%$@e7@(L zckg?7_uUK~h#yEEFOGPGvVBE5Mm#;K`l3{sR{M1jsh+WwC7!ujJ>n$kJXmGeuvvym zGF+|UDrrMiFUe4`&(>)dSA8}-k@dwEr!#Jyx9oH{uUpDETzA#Vw=dht0Eyk$>Te9X5s$qwv_SHr^rifw#QcsKJ@~pcbhKDGn`238WqHOL?6! zjFeR5!+kRdWq~?#1CliXTLLT01Y&3sQi#KZFX2gGvEjyDx*3Xsb!G#Se+n9dVY3a< zGX2`=@Dw{|GPq9LiZn*_aXcgsg&#C z_ee07I|~-zj~m1vu7S^nuTU4@ljJ_}wWtfRKJXa=+94cD^BHoP^#s@Hz@WOYaG?2+ zNsrKHjP|A0G112pv~oj~Zy?1w!V}(M-8xfGFp<-|fQ|2x7HIY9`fAo0zWyNV!2(^s zsB{cBSFuh!;0D1HykXrpN7t+Hz0(32u7AV2l^@_c)=97KKbGsCq4k+uo%^q$mND@? zPO0rTN_?VkIrJT+C3 Date: Fri, 24 Jan 2014 13:33:12 +0300 Subject: [PATCH 123/126] c symbol --- src/cpp/windows/jssc.c++ | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpp/windows/jssc.c++ b/src/cpp/windows/jssc.c++ index c1fd6e96f..08428ded3 100644 --- a/src/cpp/windows/jssc.c++ +++ b/src/cpp/windows/jssc.c++ @@ -1,5 +1,5 @@ /* jSSC (Java Simple Serial Connector) - serial port communication library. - * © Alexey Sokolov (scream3r), 2010-2014. + * © Alexey Sokolov (scream3r), 2010-2014. * * This file is part of jSSC. * From 63a7fb64070daa0780be23df37bd007bb1eba3e6 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 24 Jan 2014 16:11:27 +0300 Subject: [PATCH 124/126] Replaced Windows 2.7 native libs with 2.8 --- src/java/libs/windows/jSSC-2.8_x86.dll | Bin 67072 -> 67072 bytes ...SSC-2.7_x86_64.dll => jSSC-2.8_x86_64.dll} | Bin 122368 -> 122880 bytes 2 files changed, 0 insertions(+), 0 deletions(-) rename src/java/libs/windows/{jSSC-2.7_x86_64.dll => jSSC-2.8_x86_64.dll} (64%) diff --git a/src/java/libs/windows/jSSC-2.8_x86.dll b/src/java/libs/windows/jSSC-2.8_x86.dll index 7bc1bfe2eef454bf2276647027d1f8530afff306..8ff7541a02b896b3ec9c151875ad04570ffaa306 100644 GIT binary patch delta 29 kcmZqZVQJ`Lnb5%$mNv1=k4fOg##>s?ft<~3FMi1a0In7cYybcN delta 29 jcmZqZVQJ`Lnb5%$FFvu$k4edE<1MY{K+a~i7r$fyphyc; diff --git a/src/java/libs/windows/jSSC-2.7_x86_64.dll b/src/java/libs/windows/jSSC-2.8_x86_64.dll similarity index 64% rename from src/java/libs/windows/jSSC-2.7_x86_64.dll rename to src/java/libs/windows/jSSC-2.8_x86_64.dll index 71064b456acc1912a01b601f48b4f6c2359d0c84..d4e19e069ffb54a74a00dd10f1108dcc0b5a5d06 100644 GIT binary patch delta 18542 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 Zksf0@qJ-RJI!v1 Date: Fri, 24 Jan 2014 17:02:02 +0300 Subject: [PATCH 125/126] Replaced ARM Linux 2.7 native libs with 2.8 --- src/java/libs/linux/libjSSC-2.7_armhf.so | Bin 10395 -> 0 bytes src/java/libs/linux/libjSSC-2.7_armsf.so | Bin 10539 -> 0 bytes src/java/libs/linux/libjSSC-2.8_armhf.so | Bin 0 -> 10631 bytes src/java/libs/linux/libjSSC-2.8_armsf.so | Bin 0 -> 10779 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/java/libs/linux/libjSSC-2.7_armhf.so delete mode 100644 src/java/libs/linux/libjSSC-2.7_armsf.so create mode 100644 src/java/libs/linux/libjSSC-2.8_armhf.so create mode 100644 src/java/libs/linux/libjSSC-2.8_armsf.so diff --git a/src/java/libs/linux/libjSSC-2.7_armhf.so b/src/java/libs/linux/libjSSC-2.7_armhf.so deleted file mode 100644 index 94272a6d4d8a376596a0e1e4b2b39b41564feef5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10395 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 M4qntnL|u#cAAx|>b|?Ih_o-GMOU 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 literal 0 HcmV?d00001 diff --git a/src/java/libs/linux/libjSSC-2.8_armsf.so b/src/java/libs/linux/libjSSC-2.8_armsf.so new file mode 100644 index 0000000000000000000000000000000000000000..894ec80876869e481b4ca60e8dba39a18dcd49bb GIT binary patch literal 10779 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

(rII3xRjE}VlJ(43ok%zc6m z;2g|Z+Ts~tUX!OD&kBKO#A!T>Yz+YBJN20BgfwW!KgtO=19(12^NbK8pxyI=70m$L zQ|vK3V+8u**du1mdl2C0@k|nUR@u+>IeIHV(^sB#{=S01^*PP48->8pbIx1PStR2>@XdbG=V`TLzk1$wl>_B#M+<|Z5U@LAV|#y-M30N6@89Wm%RV<>a%5pzzb gJpsMb4g>7gV}9n_D0^)UE}nYxT)e1`it0A;zhsNm;s5{u literal 0 HcmV?d00001 From f5564869f8a70503c29c0d24609245321ba39b2c Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 24 Jan 2014 17:34:02 +0300 Subject: [PATCH 126/126] Readme update --- README.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.txt b/README.txt index 53796bd7b..c5fba559c 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -jSSC-2.7.0 Release version (20.01.2014) +jSSC-2.8.0 Release version (24.01.2014) This version contains native libs for Windows(x86, x86-64), Linux(x86, x86-64, ARM soft & hard float), Solaris(x86, x86-64), Mac OS X(x86, x86-64, PPC, PPC64). All native libs contains in the jssc.jar file and you don't need manage native libs manually. @@ -8,6 +8,11 @@ In this build: Fixes: * Important! Fixed bug with port handles potential leakage + Additions: + * Added method "writeString(String string, String charsetName)" + * Added method "getNativeLibraryVersion" in "SerialNativeInterface" class + * Enabled Java and Native libraries versions mismatch check + With Best Regards, Sokolov Alexey aka scream3r. ============= Previous Builds ==============