From: twisti Date: Mon, 12 Mar 2007 10:11:33 +0000 (+0000) Subject: * src/native/vm/cldc1.1/com_sun_cldc_io_ResourceInputStream.c X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=8f26b9ea58f118e98d566179cfba63919a9e492b;p=cacao.git * src/native/vm/cldc1.1/com_sun_cldc_io_ResourceInputStream.c (vm/vm.h): Added. (open): Call vm_abort. * src/native/vm/cldc1.1/com_sun_cldc_io_j2me_socket_Protocol.c (unistd.h): Added. (readByte): New function. (writeBuf): Likewise. (available0): Likewise. (close0): Likewise. --- diff --git a/src/mm/boehm.c b/src/mm/boehm.c index 81c028cce..cf9148d61 100644 --- a/src/mm/boehm.c +++ b/src/mm/boehm.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: boehm.c 7355 2007-02-14 10:57:32Z twisti $ + $Id: boehm.c 7309 2007-02-09 12:51:00Z twisti $ */ diff --git a/src/mm/gc-common.h b/src/mm/gc-common.h index ded0683f7..431f58d7b 100644 --- a/src/mm/gc-common.h +++ b/src/mm/gc-common.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: gc-common.h 7297 2007-02-07 14:59:56Z twisti $ + $Id: gc-common.h 7246 2007-01-29 18:49:05Z twisti $ */ diff --git a/src/mm/memory.c b/src/mm/memory.c index 34d72150d..15fb2991d 100644 --- a/src/mm/memory.c +++ b/src/mm/memory.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: memory.c 7370 2007-02-16 18:00:03Z twisti $ + $Id: memory.c 7369 2007-02-16 17:56:40Z twisti $ */ diff --git a/src/mm/memory.h b/src/mm/memory.h index e433d1633..cd04042f3 100644 --- a/src/mm/memory.h +++ b/src/mm/memory.h @@ -28,7 +28,7 @@ Changes: Christian Thalinger - $Id: memory.h 7356 2007-02-14 11:00:28Z twisti $ + $Id: memory.h 7338 2007-02-13 00:17:22Z twisti $ */ diff --git a/src/native/jni.h b/src/native/jni.h index b5f72cf2d..0c14db8e2 100644 --- a/src/native/jni.h +++ b/src/native/jni.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: jni.h 7297 2007-02-07 14:59:56Z twisti $ + $Id: jni.h 7246 2007-01-29 18:49:05Z twisti $ */ diff --git a/src/native/native.c b/src/native/native.c index d9122014c..ed7215ac4 100644 --- a/src/native/native.c +++ b/src/native/native.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: native.c 7486 2007-03-08 13:50:07Z twisti $ + $Id: native.c 7464 2007-03-06 00:26:31Z edwin $ */ diff --git a/src/native/native.h b/src/native/native.h index 45d1157fe..ded4163ea 100644 --- a/src/native/native.h +++ b/src/native/native.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: native.h 7356 2007-02-14 11:00:28Z twisti $ + $Id: native.h 7328 2007-02-11 21:22:07Z twisti $ */ diff --git a/src/native/vm/cldc1.1/com_sun_cldc_io_ResourceInputStream.c b/src/native/vm/cldc1.1/com_sun_cldc_io_ResourceInputStream.c index 566551be8..e0d7a8f10 100644 --- a/src/native/vm/cldc1.1/com_sun_cldc_io_ResourceInputStream.c +++ b/src/native/vm/cldc1.1/com_sun_cldc_io_ResourceInputStream.c @@ -35,6 +35,8 @@ #include "native/include/java_lang_Object.h" #include "native/include/java_lang_String.h" +#include "vm/vm.h" /* REMOVE ME: temporarily */ + /* * Class: com/sun/cldc/io/ResourceInputStream @@ -43,7 +45,7 @@ */ JNIEXPORT java_lang_Object* JNICALL Java_com_sun_cldc_io_ResourceInputStream_open(JNIEnv *env, jclass clazz, java_lang_String *name) { - exceptions_throw_outofmemoryerror(); + vm_abort("Java_com_sun_cldc_io_ResourceInputStream_open: IMPLEMENT ME!"); return NULL; } diff --git a/src/native/vm/cldc1.1/com_sun_cldc_io_j2me_socket_Protocol.c b/src/native/vm/cldc1.1/com_sun_cldc_io_j2me_socket_Protocol.c index b59754194..1274b074f 100644 --- a/src/native/vm/cldc1.1/com_sun_cldc_io_j2me_socket_Protocol.c +++ b/src/native/vm/cldc1.1/com_sun_cldc_io_j2me_socket_Protocol.c @@ -31,6 +31,7 @@ #include #include +#include #include #include @@ -41,6 +42,7 @@ #include "native/jni.h" #include "vm/global.h" +#include "vm/vm.h" /* REMOVE ME: temporarily */ /* @@ -69,14 +71,14 @@ JNIEXPORT s4 JNICALL Java_com_sun_cldc_io_j2me_socket_Protocol_open0(JNIEnv *env /* fill the sockaddr structure */ - serv_addr.sin_family = AF_INET; - serv_addr.sin_port = htons(port); + serv_addr.sin_family = AF_INET; + serv_addr.sin_port = htons(port); - MCOPY(&serv_addr.sin_addr, phostent->h_addr, u1, phostent->h_length); + MCOPY(&serv_addr.sin_addr, phostent->h_addr, u1, phostent->h_length); /* create the socket */ - sockfd = socket(AF_INET, SOCK_STREAM, 0); + sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) return -1; @@ -123,6 +125,63 @@ JNIEXPORT s4 JNICALL Java_com_sun_cldc_io_j2me_socket_Protocol_readBuf(JNIEnv *e } +/* + * Class: com/sun/cldc/io/j2me/socket/Protocol + * Method: readByte + * Signature: (I)I + */ +JNIEXPORT s4 JNICALL Java_com_sun_cldc_io_j2me_socket_Protocol_readByte(JNIEnv *env, jclass clazz, s4 handle) { + + char byte; + ssize_t result; + + /* receive from the socket */ + + result = recv(handle, &byte, 1, 0); + + if (result == 0) { + /* the peer has performed an orderly shutdown */ + + return -1; + } + else if (result < 0) { + /* should throw an IOException */ + + vm_abort("Java_com_sun_cldc_io_j2me_socket_Protocol_readByte: recv failed: %s", strerror(errno)); + } + + return byte; +} + + +/* + * Class: com/sun/cldc/io/j2me/socket/Protocol + * Method: writeBuf + * Signature: (I[BII)I + */ +JNIEXPORT s4 JNICALL Java_com_sun_cldc_io_j2me_socket_Protocol_writeBuf(JNIEnv *env, jclass clazz, s4 handle, java_bytearray* b, s4 off, s4 len) { + + void *buf; + ssize_t result; + + /* get pointer to the buffer */ + + buf = &(b->data[off]); + + /* send the given byte to the socket */ + + result = send(handle, buf, len, 0); + + if (result < 0) + /* should throw an IOException */ + + vm_abort("Java_com_sun_cldc_io_j2me_socket_Protocol_writeBuf: send failed: %s", strerror(errno)); + + return result; + +} + + /* * Class: com/sun/cldc/io/j2me/socket/Protocol * Method: writeByte @@ -146,6 +205,37 @@ JNIEXPORT s4 JNICALL Java_com_sun_cldc_io_j2me_socket_Protocol_writeByte(JNIEnv } +/* + * Class: com/sun/cldc/io/j2me/socket/Protocol + * Method: available0 + * Signature: (I)I + */ +JNIEXPORT s4 JNICALL Java_com_sun_cldc_io_j2me_socket_Protocol_available0(JNIEnv *env, jclass clazz, s4 handle) +{ + /* NOTE: Sun doesn't have an implementation too */ + + return 0; +} + + +/* + * Class: com/sun/cldc/io/j2me/socket/Protocol + * Method: close0 + * Signature: (I)V + */ +JNIEXPORT void JNICALL Java_com_sun_cldc_io_j2me_socket_Protocol_close0(JNIEnv *env, jclass clazz, s4 handle) +{ + int result; + + /* close the file descriptor */ + + result = close(handle); + + if (result < 0) + vm_abort("Java_com_sun_cldc_io_j2me_socket_Protocol_close0: close failed: %s", strerror(errno)); +} + + /* * These are local overrides for various environment variables in Emacs. * Please do not remove this and leave it at the end of the file, where diff --git a/src/native/vm/gnu/gnu_classpath_VMStackWalker.c b/src/native/vm/gnu/gnu_classpath_VMStackWalker.c index 1243f7c11..93ccbe1ce 100644 --- a/src/native/vm/gnu/gnu_classpath_VMStackWalker.c +++ b/src/native/vm/gnu/gnu_classpath_VMStackWalker.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: gnu_classpath_VMStackWalker.c 7297 2007-02-07 14:59:56Z twisti $ + $Id: gnu_classpath_VMStackWalker.c 7246 2007-01-29 18:49:05Z twisti $ */ diff --git a/src/native/vm/gnu/java_lang_VMClassLoader.c b/src/native/vm/gnu/java_lang_VMClassLoader.c index 19dde6078..5897448bf 100644 --- a/src/native/vm/gnu/java_lang_VMClassLoader.c +++ b/src/native/vm/gnu/java_lang_VMClassLoader.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: java_lang_VMClassLoader.c 7413 2007-02-27 21:51:17Z twisti $ + $Id: java_lang_VMClassLoader.c 7408 2007-02-26 22:11:38Z twisti $ */ diff --git a/src/threads/native/threads.c b/src/threads/native/threads.c index 51ce94c3f..c159e9ccc 100644 --- a/src/threads/native/threads.c +++ b/src/threads/native/threads.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: threads.c 7486 2007-03-08 13:50:07Z twisti $ + $Id: threads.c 7478 2007-03-08 02:59:31Z michi $ */ diff --git a/src/threads/native/threads.h b/src/threads/native/threads.h index abfe8c539..ac31589f3 100644 --- a/src/threads/native/threads.h +++ b/src/threads/native/threads.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: threads.h 7486 2007-03-08 13:50:07Z twisti $ + $Id: threads.h 7474 2007-03-07 11:47:45Z michi $ */ diff --git a/src/vm/global.h b/src/vm/global.h index 505d9e6e4..d738f0b6e 100644 --- a/src/vm/global.h +++ b/src/vm/global.h @@ -32,7 +32,7 @@ Joseph Wenninger Christian Thalinger - $Id: global.h 7413 2007-02-27 21:51:17Z twisti $ + $Id: global.h 7387 2007-02-21 23:26:24Z twisti $ */ diff --git a/src/vm/jit/i386/codegen.c b/src/vm/jit/i386/codegen.c index 5a1333473..7364e948a 100644 --- a/src/vm/jit/i386/codegen.c +++ b/src/vm/jit/i386/codegen.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: codegen.c 7486 2007-03-08 13:50:07Z twisti $ + $Id: codegen.c 7448 2007-03-04 14:46:21Z edwin $ */ diff --git a/src/vm/jit/stacktrace.h b/src/vm/jit/stacktrace.h index 9c349d86c..270007259 100644 --- a/src/vm/jit/stacktrace.h +++ b/src/vm/jit/stacktrace.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: stacktrace.h 7413 2007-02-27 21:51:17Z twisti $ + $Id: stacktrace.h 7409 2007-02-27 02:07:00Z ajordan $ */ diff --git a/src/vm/signal.c b/src/vm/signal.c index 7ab147db3..40a4a436b 100644 --- a/src/vm/signal.c +++ b/src/vm/signal.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: signal.c 7486 2007-03-08 13:50:07Z twisti $ + $Id: signal.c 7471 2007-03-06 17:01:49Z twisti $ */ diff --git a/src/vm/signallocal.h b/src/vm/signallocal.h index 2c97e5b36..9cb02fbee 100644 --- a/src/vm/signallocal.h +++ b/src/vm/signallocal.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: signallocal.h 7297 2007-02-07 14:59:56Z twisti $ + $Id: signallocal.h 7286 2007-02-05 01:07:45Z twisti $ */ diff --git a/src/vmcore/class.c b/src/vmcore/class.c index cba76785e..414693ef6 100644 --- a/src/vmcore/class.c +++ b/src/vmcore/class.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: class.c 7486 2007-03-08 13:50:07Z twisti $ + $Id: class.c 7464 2007-03-06 00:26:31Z edwin $ */ diff --git a/src/vmcore/class.h b/src/vmcore/class.h index 4d6c8531f..46c560711 100644 --- a/src/vmcore/class.h +++ b/src/vmcore/class.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: class.h 7355 2007-02-14 10:57:32Z twisti $ + $Id: class.h 7307 2007-02-09 12:47:10Z twisti $ */ diff --git a/src/vmcore/loader.c b/src/vmcore/loader.c index 41782984b..128581558 100644 --- a/src/vmcore/loader.c +++ b/src/vmcore/loader.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: loader.c 7486 2007-03-08 13:50:07Z twisti $ + $Id: loader.c 7464 2007-03-06 00:26:31Z edwin $ */