deep-c-rsc/jcgo_Out/VMPlScIm.c

1773 lines
48 KiB
C
Raw Permalink Normal View History

2021-07-16 18:07:51 -04:00
/* DO NOT EDIT THIS FILE - it is machine generated (JCGO_116) */
#ifdef JCGO_SEPARATED
#define JCGO_116
#include "jcgortl.h"
#include "Main.h"
#endif
#ifdef JCGO_116
#ifdef CHKALL_gnu_java_net_VMPlainSocketImpl
#include "jcgobchk.h"
#endif
JCGO_NOSEP_INLINE void CFASTCALL
gnu_java_net_VMPlainSocketImpl__void( gnu_java_net_VMPlainSocketImpl
This )
{
JCGO_FIELD_NZACCESS(This, state)= (gnu_java_net_VMPlainSocketImpl_State__new__L8vgeu(
This));
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketsInit0__( void )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketsInit0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketsInit0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__isSocketErrResetConn0__I( jint res
)
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_isSocketErrResetConn0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_isSocketErrResetConn0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
res);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketCreate0__IAI( jintArr resArr,
jint stream )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketCreate0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(1)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketCreate0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
(jintArray)JCGO_JNI_TOLOCALREF(1, resArr), stream);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__isSocketErrNoResources0__I( jint res
)
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_isSocketErrNoResources0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_isSocketErrNoResources0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
res);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketClose0__I( jint fd )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketClose0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketClose0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
fd);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE void CFASTCALL
gnu_java_net_VMPlainSocketImpl__checkIOSockResCode__I( jint res )
{
{
(gnu_java_net_VMPlainSocketImpl__checkSocketResCode__I(
res));
}
}
JCGO_NOSEP_INLINE void CFASTCALL
gnu_java_net_VMPlainSocketImpl__checkThreadInterrupted__( void )
{
{
if ((java_lang_Thread__interrupted__()))
{
JCGO_THROW_EXC(java_io_InterruptedIOException__new__());
}
}
}
JCGO_NOSEP_INLINE jlong CFASTCALL
gnu_java_net_VMPlainSocketImpl__getDeadlineTime__I( jint timeout )
{
{
return (java_lang_System__currentTimeMillis__()) + (jlong)timeout;
}
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketShutdown0__III( jint fd, jint
input, jint output )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketShutdown0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketShutdown0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
fd, input, output);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE void CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketShutdown__IZZ( jint fd, jboolean
input, jboolean output )
{
{
if (input || output)
{
jint res;
do
{
res= (gnu_java_net_VMPlainSocketImpl__socketShutdown0__III(
fd, input? (jint)1 : 0, output? (jint)1 : 0));
}
while (res < 0 && (gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) != 0);
(gnu_java_net_VMPlainSocketImpl__checkIOSockResCode__I(
res));
}
}
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__isSocketErrConnRefused0__I( jint res
)
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_isSocketErrConnRefused0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_isSocketErrConnRefused0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
res);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketBind0__IBAII( jbyteArr ip, jint
fd, jint iplen, jint port )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketBind0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(1)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketBind0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
fd, (jbyteArray)JCGO_JNI_TOLOCALREF(1, ip), iplen, port);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE void CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketBind__IL7lnuwI( java_net_InetAddress
addr, jint fd, jint port )
{
{
jbyteArr ip;
jint res;
jboolean retrying;
ip= (JCGO_CALL_VFUNC(addr)->getAddress__(
addr));
retrying= jfalse;
do
{
res= (gnu_java_net_VMPlainSocketImpl__socketBind0__IBAII(
ip, fd, JCGO_ARRAY_LENGTH(ip), port));
if (!retrying && (gnu_java_net_VMPlainSocketImpl__isSocketRetryNeededOnce__I(
res)))
{
retrying= (jboolean)jtrue;
}
else
{
if (res >= 0 || (gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) == 0)
{
break;
}
}
}
while (jtrue);
(gnu_java_net_VMPlainSocketImpl__checkSocketResCode__I(
res));
}
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketGetLocalAddrPort0__IBAIIA( jbyteArr
ip, jintArr portArr, jint fd, jint ipmaxlen )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketGetLocalAddrPort0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(2)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketGetLocalAddrPort0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
fd, (jbyteArray)JCGO_JNI_TOLOCALREF(1, ip), ipmaxlen, (jintArray)JCGO_JNI_TOLOCALREF(2,
portArr));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketAvailable0__I( jint fd )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketAvailable0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketAvailable0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
fd);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketRecvFrom0__IBAIIIIBAIIA( jbyteArr
buffer, jbyteArr ip, jintArr iplenPortArr, jint fd, jint off, jint
len, jint urgent, jint peek, jint ipmaxlen )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketRecvFrom0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(3)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketRecvFrom0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
fd, (jbyteArray)JCGO_JNI_TOLOCALREF(1, buffer), off, len, urgent,
peek, (jbyteArray)JCGO_JNI_TOLOCALREF(2, ip), ipmaxlen, (jintArray)JCGO_JNI_TOLOCALREF(3,
iplenPortArr));
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_INLINE jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketSendTo0__IBAIIIBAII( jbyteArr
buffer, jbyteArr ip, jint fd, jint off, jint len, jint urgent, jint
iplen, jint port )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketSendTo0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(2)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketSendTo0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
fd, (jbyteArray)JCGO_JNI_TOLOCALREF(1, buffer), off, len, urgent,
(jbyteArray)JCGO_JNI_TOLOCALREF(2, ip), iplen, port);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC gnu_java_net_VMPlainSocketImpl CFASTCALL
gnu_java_net_VMPlainSocketImpl__this__( gnu_java_net_VMPlainSocketImpl
This )
{
{
;
gnu_java_net_VMPlainSocketImpl__void(This);
}
return This;
}
JCGO_NOSEP_INLINE gnu_java_net_VMPlainSocketImpl CFASTCALL
gnu_java_net_VMPlainSocketImpl__new__( void )
{
return gnu_java_net_VMPlainSocketImpl__this__(
(gnu_java_net_VMPlainSocketImpl)jcgo_newObject((jvtable)&gnu_java_net_VMPlainSocketImpl_methods));
}
JCGO_NOSEP_INLINE gnu_java_net_VMPlainSocketImpl_State CFASTCALL
gnu_java_net_VMPlainSocketImpl__getState__( gnu_java_net_VMPlainSocketImpl
This )
{
{
return JCGO_FIELD_NZACCESS(This, state);
}
}
JCGO_NOSEP_STATIC void CFASTCALL
gnu_java_net_VMPlainSocketImpl__setOption__ILo( gnu_java_net_VMPlainSocketImpl
This, java_lang_Object value, jint optionId )
{
{
jint optval;
jint res;
optval= (-(jint)1);
if (jcgo_instanceOf0(OBJT_java_lang_Integer, MAXT_java_lang_Integer,
(jObject)value))
{
if (optionId == java_net_SocketOptions__SO_TIMEOUT)
{
jint jcgo_rcvrI1;
(jcgo_rcvrI1= (gnu_java_net_VMPlainSocketImpl__getNativeSocketFD__(
This)), gnu_java_net_VMPlainSocketImpl__setTimeoutFor__II(
jcgo_rcvrI1, (java_lang_Integer__intValue__(
((java_lang_Integer)value)))));
return;
}
if (optionId == java_net_SocketOptions__SO_LINGER0 || optionId ==
java_net_SocketOptions__SO_SNDBUF0 || optionId == java_net_SocketOptions__SO_RCVBUF0 ||
optionId == java_net_SocketOptions__IP_TOS0)
{
optval= (java_lang_Integer__intValue__(
((java_lang_Integer)value)));
if (optval < 0)
{
optval= 0;
}
else
{
if (optionId == java_net_SocketOptions__SO_LINGER0)
{
optval++;
}
}
}
}
else
{
if (jcgo_instanceOf0(OBJT_java_lang_Boolean, MAXT_java_lang_Boolean,
(jObject)value))
{
if (optionId != java_net_SocketOptions__SO_TIMEOUT && optionId !=
java_net_SocketOptions__SO_SNDBUF0 && optionId != java_net_SocketOptions__SO_RCVBUF0 &&
optionId != java_net_SocketOptions__IP_TOS0)
{
optval= 0;
if ((java_lang_Boolean__booleanValue__(
((java_lang_Boolean)value))))
{
optval= (jint)1;
if (optionId == java_net_SocketOptions__SO_LINGER0)
{
optval= (-(jint)1);
}
}
}
}
else
{
if (value == jnull)
{
JCGO_THROW_EXC(java_lang_NullPointerException__new__());
}
}
}
if (optval < 0)
{
JCGO_THROW_EXC((java_lang_IllegalArgumentException__new__Ls(
JCGO_STRREF_OF(jcgo_string4_VMPlScIm))));
}
;
do
{
res= (gnu_java_net_VMPlainSocketImpl__socketGetSetOption0__III(
(gnu_java_net_VMPlainSocketImpl__getNativeSocketFD__(
This)), optionId, optval));
}
while (res < 0 && (gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) != 0);
(gnu_java_net_VMPlainSocketImpl__checkSocketResCode__I(
res));
}
}
JCGO_NOSEP_INLINE void CFASTCALL
gnu_java_net_VMPlainSocketImpl__bind__L5zjct( gnu_java_net_VMPlainSocketImpl
This, java_net_InetSocketAddress address )
{
{
java_net_InetAddress addr;
jint fd;
addr= (JCGO_CALL_FINALF(address) java_net_InetSocketAddress__getAddress__(
address));
fd= (gnu_java_net_VMPlainSocketImpl_State__getNativeFD__(
JCGO_FIELD_NZACCESS(This, state)));
if (addr == jnull)
{
JCGO_THROW_EXC((java_net_SocketException__new__Ls(
java_lang_VMSystem__concat0X__LsLs(
JCGO_STRREF_OF(jcgo_string5_VMPlScIm), (java_net_InetSocketAddress__toString__(
address))))));
}
(gnu_java_net_VMPlainSocketImpl__socketBind__IL7lnuwI(
addr, fd, (java_net_InetSocketAddress__getPort__(
address))));
}
}
JCGO_NOSEP_INLINE void CFASTCALL
gnu_java_net_VMPlainSocketImpl__close__( gnu_java_net_VMPlainSocketImpl
This )
{
{
(gnu_java_net_VMPlainSocketImpl_State__close__(
JCGO_FIELD_NZACCESS(This, state)));
}
}
JCGO_NOSEP_STATIC void CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketsInit__( void )
{
{
if (!gnu_java_net_VMPlainSocketImpl__initialized)
{
{
JCGO_SYNC_BLOCKSAFENZ(gnu_java_net_VMPlainSocketImpl__EMPTY_FDS)
{
if (!gnu_java_net_VMPlainSocketImpl__initialized)
{
if ((gnu_java_net_VMPlainSocketImpl__socketsInit0__()) < 0)
{
JCGO_THROW_EXC((java_lang_InternalError__new__Ls(
JCGO_STRREF_OF(jcgo_string6_VMPlScIm))));
}
gnu_java_net_VMPlainSocketImpl__preventBlocking= (jboolean)(java_lang_VMAccessorJavaLang__preventIOBlockingVMRuntime__());
gnu_java_net_VMPlainSocketImpl__initialized= (jboolean)jtrue;
}
}
JCGO_SYNC_END
}
}
}
}
JCGO_NOSEP_FRWINL jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketCreate__Z( jboolean stream )
{
{
jintArr resArr;
jint fd;
jint res;
jint optionId;
jboolean retrying;
(gnu_java_net_VMPlainSocketImpl__socketsInit__());
res= 0;
resArr= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
(jint)1);
retrying= jfalse;
do
{
fd= (gnu_java_net_VMPlainSocketImpl__socketCreate0__IAI(
resArr, stream? (jint)1 : 0));
if (fd != (-(jint)1))
{
break;
}
res= JCGO_ARRAY_NZIACCESS(resArr, 0);
if (!retrying && (gnu_java_net_VMPlainSocketImpl__isSocketRetryNeededOnce__I(
res)))
{
retrying= (jboolean)jtrue;
}
else
{
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) == 0)
{
break;
}
}
}
while (jtrue);
(gnu_java_net_VMPlainSocketImpl__checkSocketResCode__I(
res));
(gnu_java_net_VMPlainSocketImpl__setTimeoutFor__II(
fd, 0));
if (gnu_java_net_VMPlainSocketImpl__preventBlocking)
{
(gnu_java_net_VMPlainSocketImpl__socketSetNonBlocking0__II(
fd, (jint)1));
}
optionId= stream? java_net_SocketOptions__SO_REUSEADDR0 : java_net_SocketOptions__SO_BROADCAST0;
do
{
res= (gnu_java_net_VMPlainSocketImpl__socketGetSetOption0__III(
fd, optionId, (jint)1));
}
while (res < 0 && (gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) != 0);
return fd;
}
}
JCGO_NOSEP_FRWINL java_net_InetSocketAddress CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketGetLocalAddrPort__I( jint fd
)
{
{
jbyteArr ip;
jintArr portArr;
jint res;
jObject jcgo_rcvrL1;
ip= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte), 0, gnu_java_net_VMPlainSocketImpl__MAX_IP_SIZE);
portArr= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
(jint)1);
do
{
res= (gnu_java_net_VMPlainSocketImpl__socketGetLocalAddrPort0__IBAIIA(
ip, portArr, fd, JCGO_ARRAY_NZLENGTH(ip)));
}
while (res < 0 && (gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) != 0);
(gnu_java_net_VMPlainSocketImpl__checkSocketResCode__I(
res));
return (jcgo_rcvrL1= (jObject)(gnu_java_net_VMPlainSocketImpl__toInetAddress__BAI(
ip, res)), java_net_InetSocketAddress__new__L7lnuwI(
(java_net_InetAddress)jcgo_rcvrL1, JCGO_ARRAY_NZIACCESS(portArr,
0)));
}
}
JCGO_NOSEP_FRWINL void CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketSetNonBlocking__IZ( jint fd,
jboolean on )
{
{
if (!gnu_java_net_VMPlainSocketImpl__preventBlocking)
{
(gnu_java_net_VMPlainSocketImpl__checkIOSockResCode__I(
(gnu_java_net_VMPlainSocketImpl__socketSetNonBlocking0__II(
fd, on? (jint)1 : 0))));
}
}
}
JCGO_NOSEP_FRWINL jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketAvailable__I( jint fd )
{
{
jint res;
res= (gnu_java_net_VMPlainSocketImpl__socketAvailable0__I(
fd));
if (res <= 0)
{
jintArr readFDs;
readFDs= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
(jint)1);
do
{
res= 0;
if ((JCGO_ARRAY_NZIACCESS(readFDs, 0)= fd) == (-(jint)1))
{
break;
}
res= (gnu_java_net_VMPlainSocketImpl__socketSelect0__IAIIAIIAII(
readFDs, gnu_java_net_VMPlainSocketImpl__EMPTY_FDS, gnu_java_net_VMPlainSocketImpl__EMPTY_FDS,
(jint)1, 0, 0, 0));
}
while (res < 0 && (gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) != 0);
(gnu_java_net_VMPlainSocketImpl__checkIOSockResCode__I(
res));
if (res > 0)
{
res= (jint)1;
}
}
return res;
}
}
JCGO_NOSEP_STATIC jboolean CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketConnect__IL5zjctI( java_net_InetSocketAddress
address, jint fd, jint timeout )
{
{
java_net_InetAddress addr;
jbyteArr ip;
jint port;
JCGO_TRY_VOLATILE jint res;
JCGO_TRY_VOLATILE jboolean isConnected;
JCGO_TRY_VOLATILE jboolean retrying;
addr= (JCGO_CALL_FINALF(address) java_net_InetSocketAddress__getAddress__(
address));
if (addr == jnull)
{
JCGO_THROW_EXC((java_net_SocketException__new__Ls(
java_lang_VMSystem__concat0X__LsLs(
JCGO_STRREF_OF(jcgo_string5_VMPlScIm), (java_net_InetSocketAddress__toString__(
address))))));
}
port= (java_net_InetSocketAddress__getPort__(
address));
ip= (JCGO_CALL_NZVFUNC(addr)->getAddress__(
addr));
if (timeout < 0 && gnu_java_net_VMPlainSocketImpl__preventBlocking)
{
timeout= gnu_java_net_VMPlainSocketImpl__DEFAULT_TIMEOUT;
}
if (timeout != 0)
{
(gnu_java_net_VMPlainSocketImpl__checkThreadInterrupted__());
}
;
isConnected= jtrue;
retrying= jfalse;
if (timeout >= 0)
{
jlong deadline;
JCGO_TRY_VOLATILE jboolean connecting;
deadline= timeout > 0? (gnu_java_net_VMPlainSocketImpl__getDeadlineTime__I(
timeout)) : JLONG_C(0);
connecting= jfalse;
{
JCGO_TRY_BLOCK
{
if (timeout > 0 && !gnu_java_net_VMPlainSocketImpl__preventBlocking)
{
(gnu_java_net_VMPlainSocketImpl__socketSetNonBlocking0__II(
fd, (jint)1));
}
do
{
jboolean oldConnecting;
oldConnecting= connecting;
res= (gnu_java_net_VMPlainSocketImpl__socketConnect0__IBAII(
ip, fd, JCGO_ARRAY_LENGTH(ip), port));
connecting= (jboolean)jtrue;
if (!retrying && (gnu_java_net_VMPlainSocketImpl__isSocketRetryNeededOnce__I(
res)))
{
connecting= (jboolean)oldConnecting;
retrying= (jboolean)jtrue;
}
else
{
if (res >= 0)
{
break;
}
if (timeout == 0)
{
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrConnected0__I(
res)) == 0)
{
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) == 0 && (gnu_java_net_VMPlainSocketImpl__isSocketErrConnInProgress0__I(
res)) == 0)
{
break;
}
isConnected= (jboolean)jfalse;
}
res= 0;
break;
}
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrConnInProgress0__I(
res)) != 0)
{
if (!oldConnecting)
{
(gnu_java_net_VMPlainSocketImpl__socketSelectSingle__IZZZJZ(
deadline, fd, (jboolean)jtrue, (jboolean)jtrue, (jboolean)jfalse,
(jboolean)jfalse));
}
}
else
{
if (oldConnecting && (gnu_java_net_VMPlainSocketImpl__isSocketErrConnected0__I(
res)) != 0)
{
res= 0;
break;
}
connecting= (jboolean)oldConnecting;
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) == 0)
{
break;
}
}
}
(java_lang_Thread__yield__());
if (timeout > 0)
{
if ((gnu_java_net_VMPlainSocketImpl__getTimeoutOfDeadline__J(
deadline)) <= 0)
{
JCGO_THROW_EXC(java_net_SocketTimeoutException__new__());
}
(gnu_java_net_VMPlainSocketImpl__checkThreadInterrupted__());
}
}
while (jtrue);
if (res >= 0)
{
connecting= (jboolean)jfalse;
}
}
JCGO_TRY_LEAVE
{
if (timeout > 0 && !gnu_java_net_VMPlainSocketImpl__preventBlocking)
{
(gnu_java_net_VMPlainSocketImpl__socketSetNonBlocking0__II(
fd, 0));
}
if (connecting)
{
(gnu_java_net_VMPlainSocketImpl__socketShutdown__IZZ(
fd, (jboolean)jtrue, (jboolean)jtrue));
}
}
JCGO_TRY_FINALLYEND
}
}
else
{
do
{
res= (gnu_java_net_VMPlainSocketImpl__socketConnect0__IBAII(
ip, fd, JCGO_ARRAY_LENGTH(ip), port));
if (!retrying && (gnu_java_net_VMPlainSocketImpl__isSocketRetryNeededOnce__I(
res)))
{
retrying= (jboolean)jtrue;
}
else
{
if (res >= 0 || (gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) == 0)
{
break;
}
}
(java_lang_Thread__yield__());
(gnu_java_net_VMPlainSocketImpl__checkThreadInterrupted__());
}
while (jtrue);
}
if (res < 0)
{
java_lang_String message;
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrAddrNotAvail0__I(
res)) != 0)
{
JCGO_THROW_EXC((java_net_ConnectException__new__Ls(
JCGO_STRREF_OF(jcgo_string7_VMPlScIm))));
}
message= (gnu_java_net_VMPlainSocketImpl__getSocketErrorMsg0__I(
res));
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrConnRefused0__I(
res)) != 0)
{
JCGO_THROW_EXC((java_net_ConnectException__new__Ls(
message)));
}
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrHostUnreach0__I(
res)) != 0)
{
JCGO_THROW_EXC((java_net_NoRouteToHostException__new__Ls(
message)));
}
JCGO_THROW_EXC((java_net_SocketException__new__Ls(
message)));
}
return (jboolean)isConnected;
}
}
JCGO_NOSEP_FRWINL java_net_InetSocketAddress CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketRecvFrom__IBAIAIZZZZZ( jbyteArr
buffer, jintArr offArr, jint fd, jint len, jboolean urgent, jboolean
peek, jboolean fillAddress, jboolean stream, jboolean isNonBlocking
)
{
{
jbyteArr ip;
jintArr iplenPortArr;
jbyteArr origBuffer;
jlong deadline;
jint off;
jint timeout;
jObject jcgo_rcvrL1;
off= JCGO_ARRAY_IACCESS(offArr, 0);
if ((off | len) < 0 || JCGO_ARRAY_LENGTH(buffer) - off < len)
{
JCGO_THROW_EXC(java_lang_ArrayIndexOutOfBoundsException__new__());
}
ip= gnu_java_net_VMPlainSocketImpl__EMPTY_BUF;
if (fillAddress)
{
ip= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte), 0, gnu_java_net_VMPlainSocketImpl__MAX_IP_SIZE);
stream= (jboolean)jtrue;
}
iplenPortArr= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, (jint)2);
origBuffer= buffer;
timeout= 0;
deadline= JLONG_C(0);
if (!isNonBlocking)
{
timeout= (gnu_java_net_VMPlainSocketImpl__getTimeoutFor__I(
fd));
if (timeout == 0 && gnu_java_net_VMPlainSocketImpl__preventBlocking)
{
timeout= gnu_java_net_VMPlainSocketImpl__DEFAULT_TIMEOUT;
}
deadline= (gnu_java_net_VMPlainSocketImpl__socketSelectSingle__IZZZJZ(
(jlong)timeout, fd, (jboolean)(!urgent), (jboolean)jfalse, (jboolean)urgent,
(jboolean)jtrue));
}
do
{
jint res;
res= (gnu_java_net_VMPlainSocketImpl__socketRecvFrom0__IBAIIIIBAIIA(
buffer, ip, iplenPortArr, fd, off, len, urgent? (jint)1 : 0, peek?
(jint)1 : 0, stream? JCGO_ARRAY_NZLENGTH(ip) : (-(jint)1)));
if (res > 0)
{
if (res >= len)
{
res= len;
}
if (buffer != origBuffer)
{
off= JCGO_ARRAY_NZIACCESS(offArr, 0);
(java_lang_System__arraycopy__LoILoII(
(java_lang_Object)buffer, (java_lang_Object)origBuffer, 0, off,
res));
}
JCGO_ARRAY_NZIACCESS(offArr, 0)= (off + res);
break;
}
if (res == 0)
{
if (!fillAddress)
{
(JCGO_ARRAY_NZIACCESS(offArr, 0))--;
break;
}
if (off == 0)
{
break;
}
buffer= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
0, len);
off= 0;
}
else
{
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) == 0)
{
(gnu_java_net_VMPlainSocketImpl__checkIOSockResCode__I(
res));
}
if (isNonBlocking)
{
fillAddress= (jboolean)jfalse;
break;
}
}
(java_lang_Thread__yield__());
if (!isNonBlocking)
{
if (timeout > 0 && (gnu_java_net_VMPlainSocketImpl__getTimeoutOfDeadline__J(
deadline)) <= 0)
{
JCGO_THROW_EXC(java_net_SocketTimeoutException__new__());
}
(gnu_java_net_VMPlainSocketImpl__checkThreadInterrupted__());
}
}
while (jtrue);
return fillAddress? (jcgo_rcvrL1= (jObject)(gnu_java_net_VMPlainSocketImpl__toInetAddress__BAI(
ip, JCGO_ARRAY_NZIACCESS(iplenPortArr, 0))), java_net_InetSocketAddress__new__L7lnuwI(
(java_net_InetAddress)jcgo_rcvrL1, JCGO_ARRAY_NZIACCESS(iplenPortArr,
(jint)1))) : jnull;
}
}
JCGO_NOSEP_FRWINL void CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketSendTo__IBAIAIL5zjctZZ( jbyteArr
buffer, jintArr offArr, java_net_InetSocketAddress address, jint fd,
jint len, jboolean urgent, jboolean isNonBlocking )
{
{
jbyteArr ip;
jlong deadline;
jint off;
jint port;
jint remain;
jint timeout;
off= JCGO_ARRAY_IACCESS(offArr, 0);
if ((off | len) < 0 || JCGO_ARRAY_LENGTH(buffer) - off < len)
{
JCGO_THROW_EXC(java_lang_ArrayIndexOutOfBoundsException__new__());
}
ip= gnu_java_net_VMPlainSocketImpl__EMPTY_BUF;
port= 0;
if (address != jnull)
{
java_net_InetAddress addr;
addr= (java_net_InetSocketAddress__getAddress__(
address));
if (addr == jnull)
{
JCGO_THROW_EXC((java_net_SocketException__new__Ls(
java_lang_VMSystem__concat0X__LsLs(
JCGO_STRREF_OF(jcgo_string5_VMPlScIm), (java_net_InetSocketAddress__toString__(
address))))));
}
ip= (JCGO_CALL_NZVFUNC(addr)->getAddress__(
addr));
port= (java_net_InetSocketAddress__getPort__(
address));
}
remain= len;
timeout= 0;
deadline= JLONG_C(0);
if (!isNonBlocking)
{
timeout= (gnu_java_net_VMPlainSocketImpl__getTimeoutFor__I(
fd));
if (timeout == 0 && gnu_java_net_VMPlainSocketImpl__preventBlocking)
{
timeout= gnu_java_net_VMPlainSocketImpl__DEFAULT_TIMEOUT;
}
deadline= (gnu_java_net_VMPlainSocketImpl__socketSelectSingle__IZZZJZ(
(jlong)timeout, fd, (jboolean)jfalse, (jboolean)jtrue, (jboolean)jfalse,
(jboolean)jtrue));
}
do
{
jint res;
res= (gnu_java_net_VMPlainSocketImpl__socketSendTo0__IBAIIIBAII(
buffer, ip, fd, off, remain, urgent? (jint)1 : 0, JCGO_ARRAY_LENGTH(ip),
port));
if (res >= 0)
{
JCGO_ARRAY_NZIACCESS(offArr, 0)+= res;
if ((remain-= res) <= 0)
{
break;
}
if (res == 0 && off > 0)
{
jbyteArr newBuffer;
newBuffer= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
0, remain);
(java_lang_System__arraycopy__LoILoII(
(java_lang_Object)buffer, (java_lang_Object)newBuffer, off, 0,
remain));
buffer= newBuffer;
off= 0;
}
else
{
if (address != jnull)
{
break;
}
off+= res;
}
}
else
{
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) == 0)
{
(gnu_java_net_VMPlainSocketImpl__checkIOSockResCode__I(
res));
}
if (isNonBlocking)
{
break;
}
}
(java_lang_Thread__yield__());
if (!isNonBlocking)
{
if (res > 0)
{
deadline= (gnu_java_net_VMPlainSocketImpl__socketSelectSingle__IZZZJZ(
(jlong)timeout, fd, (jboolean)jfalse, (jboolean)jtrue, (jboolean)jfalse,
(jboolean)jtrue));
}
else
{
if (timeout > 0 && (gnu_java_net_VMPlainSocketImpl__getTimeoutOfDeadline__J(
deadline)) <= 0)
{
JCGO_THROW_EXC(java_net_SocketTimeoutException__new__());
}
if (remain == len)
{
(gnu_java_net_VMPlainSocketImpl__checkThreadInterrupted__());
}
}
}
}
while (jtrue);
}
}
JCGO_NOSEP_STATIC void CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketClose__I( jint fd )
{
{
jint res;
do
{
res= (gnu_java_net_VMPlainSocketImpl__socketClose0__I(
fd));
}
while (res < 0 && (gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) != 0);
(gnu_java_net_VMPlainSocketImpl__checkIOSockResCode__I(
res));
(gnu_java_net_VMPlainSocketImpl__setTimeoutFor__II(
fd, 0));
}
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__getNativeSocketFD__( gnu_java_net_VMPlainSocketImpl
This )
{
{
{
JCGO_TRY_BLOCK
{
{
jint jcgo_retval= (gnu_java_net_VMPlainSocketImpl_State__getNativeFD__(
JCGO_FIELD_NZACCESS(This, state)));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
#endif
return jcgo_retval;
}
}
JCGO_TRY_LEAVE
JCGO_TRY_CATCHES(1)
JCGO_TRY_CATCH(OBJT_java_net_SocketException, MAXT_java_net_SocketException)
{
java_net_SocketException e;
e= (java_net_SocketException)JCGO_TRY_THROWABLE(0);
JCGO_THROW_EXC(e);
}
JCGO_TRY_CATCH(OBJT_java_io_IOException, MAXT_java_io_IOException)
{
java_io_IOException e;
e= (java_io_IOException)JCGO_TRY_THROWABLE(0);
JCGO_THROW_EXC((java_net_SocketException)JCGO_CAST_OBJECT0(OBJT_java_net_SocketException,
MAXT_java_net_SocketException, (java_lang_Throwable__initCause__Lt(
(java_lang_Throwable)java_net_SocketException__new__(), (java_lang_Throwable)e))));
}
JCGO_TRY_RETHROW(1)
}
}
return (jint)0;
}
JCGO_NOSEP_STATIC jlong CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketSelectSingle__IZZZJZ( jlong
deadline, jint fd, jboolean input, jboolean output, jboolean urgent,
jboolean isTimeout )
{
{
jint timeout;
timeout= 0;
if (isTimeout)
{
(gnu_java_net_VMPlainSocketImpl__checkThreadInterrupted__());
timeout= (jint)deadline;
if (timeout <= 0)
{
return JLONG_C(0);
}
deadline= (gnu_java_net_VMPlainSocketImpl__getDeadlineTime__I(
timeout));
}
if (fd != (-(jint)1))
{
jintArr readFDs;
jintArr writeFDs;
jintArr exceptFDs;
jint res;
readFDs= input? (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, (jint)1) : gnu_java_net_VMPlainSocketImpl__EMPTY_FDS;
writeFDs= output? (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, (jint)1) : gnu_java_net_VMPlainSocketImpl__EMPTY_FDS;
exceptFDs= urgent? (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, (jint)1) : gnu_java_net_VMPlainSocketImpl__EMPTY_FDS;
do
{
if (input)
{
JCGO_ARRAY_NZIACCESS(readFDs, 0)= fd;
}
if (output)
{
JCGO_ARRAY_NZIACCESS(writeFDs, 0)= fd;
}
if (urgent)
{
JCGO_ARRAY_NZIACCESS(exceptFDs, 0)= fd;
}
if (!isTimeout)
{
timeout= (gnu_java_net_VMPlainSocketImpl__getTimeoutOfDeadline__J(
deadline));
res= 0;
if (timeout <= 0)
{
break;
}
(gnu_java_net_VMPlainSocketImpl__checkThreadInterrupted__());
}
res= (gnu_java_net_VMPlainSocketImpl__socketSelect0__IAIIAIIAII(
readFDs, writeFDs, exceptFDs, JCGO_ARRAY_NZLENGTH(readFDs), JCGO_ARRAY_NZLENGTH(writeFDs),
JCGO_ARRAY_NZLENGTH(exceptFDs), gnu_java_net_VMPlainSocketImpl__preventBlocking?
0 : timeout));
if (res >= 0)
{
if (res != 0 || !gnu_java_net_VMPlainSocketImpl__preventBlocking)
{
break;
}
}
else
{
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I(
res)) == 0)
{
break;
}
}
isTimeout= (jboolean)jfalse;
(java_lang_Thread__yield__());
}
while (jtrue);
if (res == 0)
{
JCGO_THROW_EXC(java_net_SocketTimeoutException__new__());
}
}
return deadline;
}
}
JCGO_NOSEP_STATIC void CFASTCALL
gnu_java_net_VMPlainSocketImpl__setTimeoutFor__II( jint fd, jint timeout
)
{
{
{
JCGO_SYNC_BLOCKSAFENZ(gnu_java_net_VMPlainSocketImpl__EMPTY_FDS)
{
if (gnu_java_net_VMPlainSocketImpl__timeouts == jnull)
{
if (timeout == 0)
{
#ifndef JCGO_SEHTRY
JCGO_SYNC_JUMPLEAVE(0);
#endif
return;
}
gnu_java_net_VMPlainSocketImpl__timeouts= java_util_HashMap__new__();
}
if (timeout != 0)
{
jObject jcgo_rcvrL1;
jObject jcgo_rcvrL2;
(jcgo_rcvrL1= (jObject)gnu_java_net_VMPlainSocketImpl__timeouts,
jcgo_rcvrL2= (jObject)(java_lang_Integer__new__I(
fd)), JCGO_CALL_FINALF((java_util_HashMap)jcgo_rcvrL1) java_util_HashMap__put__LoLo(
(java_util_HashMap)jcgo_rcvrL1, (java_lang_Object)jcgo_rcvrL2,
(java_lang_Object)(java_lang_Integer__new__I(
timeout))));
}
else
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (jObject)gnu_java_net_VMPlainSocketImpl__timeouts,
JCGO_CALL_FINALF((java_util_HashMap)jcgo_rcvrL1) java_util_HashMap__remove__Lo(
(java_util_HashMap)jcgo_rcvrL1, (java_lang_Object)(java_lang_Integer__new__I(
fd))));
}
}
JCGO_SYNC_END
}
}
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__getTimeoutFor__I( jint fd )
{
{
jint timeout;
timeout= 0;
if (gnu_java_net_VMPlainSocketImpl__timeouts != jnull)
{
{
JCGO_SYNC_BLOCKSAFENZ(gnu_java_net_VMPlainSocketImpl__EMPTY_FDS)
{
if (gnu_java_net_VMPlainSocketImpl__timeouts != jnull)
{
java_lang_Object value;
jObject jcgo_rcvrL1;
value= (jcgo_rcvrL1= (jObject)gnu_java_net_VMPlainSocketImpl__timeouts,
JCGO_CALL_FINALF((java_util_HashMap)jcgo_rcvrL1) java_util_HashMap__get__Lo(
(java_util_HashMap)jcgo_rcvrL1, (java_lang_Object)(java_lang_Integer__new__I(
fd))));
if (value != jnull)
{
timeout= (java_lang_Integer__intValue__(
((java_lang_Integer)JCGO_CAST_OBJECT0(OBJT_java_lang_Integer,
MAXT_java_lang_Integer, value))));
}
}
}
JCGO_SYNC_END
}
}
return timeout;
}
}
JCGO_NOSEP_STATIC java_net_InetAddress CFASTCALL
gnu_java_net_VMPlainSocketImpl__toInetAddress__BAI( jbyteArr ip, jint
iplen )
{
{
{
JCGO_TRY_BLOCK
{
if (JCGO_ARRAY_LENGTH(ip) != iplen)
{
jbyteArr newip;
if (JCGO_ARRAY_NZLENGTH(ip) < iplen)
{
JCGO_THROW_EXC(java_net_UnknownHostException__new__());
}
newip= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
0, iplen);
(java_lang_System__arraycopy__LoILoII(
(java_lang_Object)ip, (java_lang_Object)newip, 0, 0, iplen));
ip= newip;
}
{
java_net_InetAddress jcgo_retval= (java_net_InetAddress__getByAddress__BA(
ip));
#ifndef JCGO_SEHTRY
jcgo_tryLeave();
#endif
return jcgo_retval;
}
}
JCGO_TRY_LEAVE
JCGO_TRY_CATCHES(1)
JCGO_TRY_CATCH(OBJT_java_net_UnknownHostException, MAXT_java_net_UnknownHostException)
{
JCGO_THROW_EXC((java_net_SocketException__new__Ls(
JCGO_STRREF_OF(jcgo_string8_VMPlScIm))));
}
JCGO_TRY_RETHROW(1)
}
}
return jnull;
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__getTimeoutOfDeadline__J( jlong deadline
)
{
{
jlong timeleft;
timeleft= deadline - (java_lang_System__currentTimeMillis__());
return timeleft > JLONG_C(0)? (timeleft < JLONG_C(0x7fffffff)? (jint)timeleft :
JCGO_USHR_F((-(jint)1), (jint)1)) : 0;
}
}
JCGO_NOSEP_STATIC jboolean CFASTCALL
gnu_java_net_VMPlainSocketImpl__isSocketRetryNeededOnce__I( jint res
)
{
{
java_lang_Runtime runtime;
if (res >= 0 || (gnu_java_net_VMPlainSocketImpl__isSocketErrNoResources0__I(
res)) == 0)
{
return (jboolean)jfalse;
}
runtime= (java_lang_Runtime__getRuntime__());
(java_lang_Runtime__gc__(
runtime));
(java_lang_Runtime__runFinalization__(
runtime));
return (jboolean)jtrue;
}
}
JCGO_NOSEP_STATIC void CFASTCALL
gnu_java_net_VMPlainSocketImpl__checkSocketResCode__I( jint res )
{
{
if (res < 0)
{
java_lang_String message;
message= (gnu_java_net_VMPlainSocketImpl__getSocketErrorMsg0__I(
res));
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrAddrNotAvail0__I(
res)) != 0)
{
JCGO_THROW_EXC((java_net_BindException__new__Ls(
message)));
}
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrHostUnreach0__I(
res)) != 0)
{
JCGO_THROW_EXC((java_net_NoRouteToHostException__new__Ls(
message)));
}
if ((gnu_java_net_VMPlainSocketImpl__isSocketErrResetConn0__I(
res)) != 0)
{
JCGO_THROW_EXC((java_net_PortUnreachableException__new__Ls(
message)));
}
JCGO_THROW_EXC((java_net_SocketException__new__Ls(
message)));
}
}
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__isSocketErrAddrNotAvail0__I( jint
res )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_isSocketErrAddrNotAvail0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_isSocketErrAddrNotAvail0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
res);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__isSocketErrConnInProgress0__I( jint
res )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_isSocketErrConnInProgress0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_isSocketErrConnInProgress0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
res);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__isSocketErrConnected0__I( jint res
)
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_isSocketErrConnected0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_isSocketErrConnected0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
res);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__isSocketErrHostUnreach0__I( jint res
)
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_isSocketErrHostUnreach0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_isSocketErrHostUnreach0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
res);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__isSocketErrInterrupted0__I( jint res
)
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_isSocketErrInterrupted0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_isSocketErrInterrupted0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
res);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC java_lang_String CFASTCALL
gnu_java_net_VMPlainSocketImpl__getSocketErrorMsg0__I( jint res )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_getSocketErrorMsg0
jcgo_jniNoNativeFunc();
return jnull;
#else
JCGO_JNI_BLOCK(0)
return (java_lang_String)jcgo_jniLeave(jcgo_pJniEnv, (jobject)JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_getSocketErrorMsg0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
res));
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketConnect0__IBAII( jbyteArr ip,
jint fd, jint iplen, jint port )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketConnect0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(1)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketConnect0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
fd, (jbyteArray)JCGO_JNI_TOLOCALREF(1, ip), iplen, port);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketSelect0__IAIIAIIAII( jintArr
readFDs, jintArr writeFDs, jintArr exceptFDs, jint readFDsLen, jint
writeFDsLen, jint exceptFDsLen, jint timeout )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketSelect0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(3)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketSelect0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
(jintArray)JCGO_JNI_TOLOCALREF(1, readFDs), readFDsLen, (jintArray)JCGO_JNI_TOLOCALREF(2,
writeFDs), writeFDsLen, (jintArray)JCGO_JNI_TOLOCALREF(3, exceptFDs),
exceptFDsLen, timeout);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketSetNonBlocking0__II( jint fd,
jint on )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketSetNonBlocking0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketSetNonBlocking0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
fd, on);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_STATIC jint CFASTCALL
gnu_java_net_VMPlainSocketImpl__socketGetSetOption0__III( jint fd,
jint optionId, jint optval )
{
#ifdef NOJAVA_gnu_java_net_VMPlainSocketImpl_socketGetSetOption0
jcgo_jniNoNativeFunc();
return (jint)0;
#else
jint jcgo_retval;
JCGO_JNI_BLOCK(0)
jcgo_retval= JCGO_JNI_FUNC(Java_gnu_java_net_VMPlainSocketImpl_socketGetSetOption0)(jcgo_pJniEnv,
(jclass)JCGO_JNI_TOLOCALREF(0, JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class)),
fd, optionId, optval);
jcgo_jniLeave(jcgo_pJniEnv, NULL);
return jcgo_retval;
#endif
}
JCGO_NOSEP_DATA CONST struct gnu_java_net_VMPlainSocketImpl_methods_s
gnu_java_net_VMPlainSocketImpl_methods=
{
JCGO_CLASSREF_OF(gnu_java_net_VMPlainSocketImpl__class),
JCGO_GCJDESCR_ZEROINIT
OBJT_gnu_java_net_VMPlainSocketImpl,
(JCGO_OBJSIZE_T)sizeof(struct gnu_java_net_VMPlainSocketImpl_s),
NULL,
JCGO_CLINIT_INIT(0)
gnu_java_net_VMPlainSocketImpl__this__,
java_lang_Object__equals__Lo,
java_lang_Object__hashCode__,
java_lang_Object__toString__,
java_lang_Object__finalize__
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct gnu_java_net_VMPlainSocketImpl_class_s
gnu_java_net_VMPlainSocketImpl__class JCGO_THRD_ATTRNONGC=
{
{
&java_lang_Class_methods,
JCGO_MON_INIT
JCGO_OBJREF_OF(*(java_lang_Object)&gnu_java_net_VMPlainSocketImpl_methods),
JCGO_STRREF_OF(jcgo_string1_VMPlScIm),
JCGO_CLASSREF_OF(java_lang_Object__class),
((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
0x111
}
};
JCGO_NOSEP_GCDATA java_util_HashMap gnu_java_net_VMPlainSocketImpl__timeouts
ATTRIBGCBSS= jnull;
JCGO_NOSEP_DATA jboolean gnu_java_net_VMPlainSocketImpl__initialized=
(jboolean)0;
JCGO_NOSEP_DATA jboolean gnu_java_net_VMPlainSocketImpl__preventBlocking=
(jboolean)0;
JCGO_NOSEP_DATA JCGO_NOTHR_CONST jcgo_arrtype4_VMChnnl jcgo_array2_VMPlScIm
JCGO_THRD_ATTRNONGC=
{
(jvtable)&jintArr_methods,
JCGO_MON_INIT
0,
{
(jint)0
}
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST jcgo_arrtype2_VMChnnl jcgo_array3_VMPlScIm
JCGO_THRD_ATTRNONGC=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
0,
{
(jbyte)0
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype75_GmCnnctn jcgo_array9_VMPlScIm=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
36,
{
(jbyte)(jchar)103/*'g'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)117/*'u'*/,
(jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)106/*'j'*/, (jbyte)(jchar)97/*'a'*/,
(jbyte)(jchar)118/*'v'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)46/*'.'*/,
(jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)116/*'t'*/,
(jbyte)(jchar)46/*'.'*/, (jbyte)(jchar)86/*'V'*/, (jbyte)(jchar)77/*'M'*/,
(jbyte)(jchar)80/*'P'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)97/*'a'*/,
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)83/*'S'*/,
(jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)107/*'k'*/,
(jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)73/*'I'*/,
(jbyte)(jchar)109/*'m'*/, (jbyte)(jchar)112/*'p'*/, (jbyte)(jchar)108/*'l'*/,
(jbyte)(jchar)36/*'$'*/, (jbyte)(jchar)83/*'S'*/, (jbyte)(jchar)116/*'t'*/,
(jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)101/*'e'*/
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype23_Object jcgo_array10_VMPlScIm=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
20,
{
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)118/*'v'*/,
(jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)105/*'i'*/,
(jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)111/*'o'*/,
(jbyte)(jchar)112/*'p'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)105/*'i'*/,
(jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)32/*' '*/,
(jbyte)(jchar)118/*'v'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/,
(jbyte)(jchar)117/*'u'*/, (jbyte)(jchar)101/*'e'*/
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype108_GmCnnctn jcgo_array11_VMPlScIm=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
25,
{
(jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)110/*'n'*/,
(jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)116/*'t'*/,
(jbyte)(jchar)32/*' '*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/,
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)105/*'i'*/,
(jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)105/*'i'*/,
(jbyte)(jchar)122/*'z'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)32/*' '*/,
(jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)99/*'c'*/,
(jbyte)(jchar)107/*'k'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)116/*'t'*/,
(jbyte)(jchar)115/*'s'*/
}
};
JCGO_NOSEP_DATA CONST jcgo_arrtype94_GmCnnctn jcgo_array12_VMPlScIm=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
24,
{
(jbyte)(jchar)73/*'I'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)118/*'v'*/,
(jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)105/*'i'*/,
(jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)100/*'d'*/,
(jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)116/*'t'*/,
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)97/*'a'*/,
(jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)111/*'o'*/,
(jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)112/*'p'*/,
(jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)116/*'t'*/
}
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_VMPlScIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array9_VMPlScIm),
0, 30, (jint)0x483c3689L
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string4_VMPlScIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array10_VMPlScIm),
0, 20, (jint)0x9a03498fL
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string5_VMPlScIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array494_VMSstmPr),
0, 20, (jint)0xc82ba4bL
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string6_VMPlScIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array11_VMPlScIm),
0, 25, (jint)0xb10f690dL
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string7_VMPlScIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array12_VMPlScIm),
0, 24, (jint)0xbb1adc7cL
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string8_VMPlScIm
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array34_Surface),
0, 22, (jint)0xaa0cd659L
};
#ifdef CHKALL_gnu_java_net_VMPlainSocketImpl
#include "jcgochke.h"
#endif
#endif