446 |
assert((*env)!=NULL); |
assert((*env)!=NULL); |
447 |
|
|
448 |
if (stream) |
if (stream) |
449 |
TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM(fd,result); |
{ |
450 |
|
/* create a stream socket */ |
451 |
|
TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM(fd,result); |
452 |
|
if (result != TARGET_NATIVE_OK) |
453 |
|
{ |
454 |
|
JCL_ThrowException(env, IO_EXCEPTION, TARGET_NATIVE_LAST_ERROR_STRING()); |
455 |
|
return; |
456 |
|
} |
457 |
|
} |
458 |
else |
else |
|
TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM(fd,result); |
|
|
|
|
|
if (result != TARGET_NATIVE_OK) |
|
459 |
{ |
{ |
460 |
JCL_ThrowException(env, IO_EXCEPTION, TARGET_NATIVE_LAST_ERROR_STRING()); |
/* create a datagram socket, set broadcast option */ |
461 |
return; |
TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM(fd,result); |
462 |
|
if (result != TARGET_NATIVE_OK) |
463 |
|
{ |
464 |
|
JCL_ThrowException(env, IO_EXCEPTION, TARGET_NATIVE_LAST_ERROR_STRING()); |
465 |
|
return; |
466 |
|
} |
467 |
|
TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST(fd,1,result); |
468 |
|
if (result != TARGET_NATIVE_OK) |
469 |
|
{ |
470 |
|
JCL_ThrowException(env, IO_EXCEPTION, TARGET_NATIVE_LAST_ERROR_STRING()); |
471 |
|
return; |
472 |
|
} |
473 |
} |
} |
474 |
|
|
475 |
if (stream) |
if (stream) |
1092 |
|
|
1093 |
TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT(fd,optval,result); |
TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT(fd,optval,result); |
1094 |
#endif |
#endif |
1095 |
return; // ignore errors and do not throw an exception |
result = TARGET_NATIVE_OK; // ignore errors and do not throw an exception |
1096 |
break; |
break; |
1097 |
|
|
1098 |
case SOCKOPT_SO_SNDBUF: |
case SOCKOPT_SO_SNDBUF: |
1102 |
{ JCL_ThrowException(env, IO_EXCEPTION, |
{ JCL_ThrowException(env, IO_EXCEPTION, |
1103 |
"Internal error: _javanet_set_option()"); return; } |
"Internal error: _javanet_set_option()"); return; } |
1104 |
|
|
1105 |
|
|
1106 |
optval = (*env)->CallIntMethod(env, val, mid); |
optval = (*env)->CallIntMethod(env, val, mid); |
1107 |
if ((*env)->ExceptionOccurred(env)) |
if ((*env)->ExceptionOccurred(env)) |
1108 |
return; |
return; |