jdk/src/jdk.sctp/unix/native/libsctp/SctpNet.c
changeset 29118 8782a8e91d4c
parent 28680 79674c06a625
child 33653 c1ee09fe3274
equal deleted inserted replaced
29117:7956b5dc0eac 29118:8782a8e91d4c
   429     }
   429     }
   430 
   430 
   431     paddr = addr_buf;
   431     paddr = addr_buf;
   432     for (i=0; i<addrCount; i++) {
   432     for (i=0; i<addrCount; i++) {
   433         jobject ia, isa = NULL;
   433         jobject ia, isa = NULL;
   434         int port;
   434         int port = 0;
   435         sap = (struct sockaddr*)addr_buf;
   435         sap = (struct sockaddr*)addr_buf;
   436         ia = NET_SockaddrToInetAddress(env, sap, &port);
   436         ia = NET_SockaddrToInetAddress(env, sap, &port);
   437         if (ia != NULL)
   437         if (ia != NULL)
   438             isa = (*env)->NewObject(env, isaCls, isaCtrID, ia, port);
   438             isa = (*env)->NewObject(env, isaCls, isaCtrID, ia, port);
   439         if (isa == NULL)
   439         if (isa == NULL)
   541     int result;
   541     int result;
   542     struct linger linger;
   542     struct linger linger;
   543     void *arg;
   543     void *arg;
   544     int arglen;
   544     int arglen;
   545 
   545 
       
   546     memset((char *) &linger, 0, sizeof(linger));
   546     if (mapSocketOption(opt, &klevel, &kopt) < 0) {
   547     if (mapSocketOption(opt, &klevel, &kopt) < 0) {
   547         JNU_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
   548         JNU_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
   548                                      "Unsupported socket option");
   549                                      "Unsupported socket option");
   549         return -1;
   550         return -1;
   550     }
   551     }
   598  */
   599  */
   599 JNIEXPORT void JNICALL Java_sun_nio_ch_sctp_SctpNet_setPrimAddrOption0
   600 JNIEXPORT void JNICALL Java_sun_nio_ch_sctp_SctpNet_setPrimAddrOption0
   600   (JNIEnv *env, jclass klass, jint fd, jint assocId, jobject iaObj, jint port) {
   601   (JNIEnv *env, jclass klass, jint fd, jint assocId, jobject iaObj, jint port) {
   601     struct sctp_setprim prim;
   602     struct sctp_setprim prim;
   602     struct sockaddr* sap = (struct sockaddr*)&prim.ssp_addr;
   603     struct sockaddr* sap = (struct sockaddr*)&prim.ssp_addr;
   603     int sap_len;
   604     int sap_len = sizeof(sap);
   604 
   605 
   605     if (NET_InetAddressToSockaddr(env, iaObj, port, sap,
   606     if (NET_InetAddressToSockaddr(env, iaObj, port, sap,
   606                                   &sap_len, JNI_TRUE) != 0) {
   607                                   &sap_len, JNI_TRUE) != 0) {
   607         return;
   608         return;
   608     }
   609     }
   623 JNIEXPORT void JNICALL Java_sun_nio_ch_sctp_SctpNet_setPeerPrimAddrOption0
   624 JNIEXPORT void JNICALL Java_sun_nio_ch_sctp_SctpNet_setPeerPrimAddrOption0
   624   (JNIEnv *env, jclass klass, jint fd, jint assocId,
   625   (JNIEnv *env, jclass klass, jint fd, jint assocId,
   625    jobject iaObj, jint port, jboolean preferIPv6) {
   626    jobject iaObj, jint port, jboolean preferIPv6) {
   626     struct sctp_setpeerprim prim;
   627     struct sctp_setpeerprim prim;
   627     struct sockaddr* sap = (struct sockaddr*)&prim.sspp_addr;
   628     struct sockaddr* sap = (struct sockaddr*)&prim.sspp_addr;
   628     int sap_len;
   629     int sap_len = sizeof(sap);
   629 
   630 
   630     if (NET_InetAddressToSockaddr(env, iaObj, port, sap,
   631     if (NET_InetAddressToSockaddr(env, iaObj, port, sap,
   631                                   &sap_len, preferIPv6) != 0) {
   632                                   &sap_len, preferIPv6) != 0) {
   632         return;
   633         return;
   633     }
   634     }