src/java.base/share/native/libnet/net_util.c
changeset 59243 fb1d9bf1be2b
parent 54627 22323f20401b
equal deleted inserted replaced
59242:6ba3d8d41135 59243:fb1d9bf1be2b
     1 /*
     1 /*
     2  * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
   113 /**
   113 /**
   114  * set_ methods return JNI_TRUE on success JNI_FALSE on error
   114  * set_ methods return JNI_TRUE on success JNI_FALSE on error
   115  * get_ methods that return +ve int return -1 on error
   115  * get_ methods that return +ve int return -1 on error
   116  * get_ methods that return objects return NULL on error.
   116  * get_ methods that return objects return NULL on error.
   117  */
   117  */
   118 jobject getInet6Address_scopeifname(JNIEnv *env, jobject iaObj) {
       
   119     jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
       
   120     CHECK_NULL_RETURN(holder, NULL);
       
   121     return (*env)->GetObjectField(env, holder, ia6_scopeifnameID);
       
   122 }
       
   123 
       
   124 jboolean setInet6Address_scopeifname(JNIEnv *env, jobject iaObj, jobject scopeifname) {
   118 jboolean setInet6Address_scopeifname(JNIEnv *env, jobject iaObj, jobject scopeifname) {
   125     jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
   119     jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
   126     CHECK_NULL_RETURN(holder, JNI_FALSE);
   120     CHECK_NULL_RETURN(holder, JNI_FALSE);
   127     (*env)->SetObjectField(env, holder, ia6_scopeifnameID, scopeifname);
   121     (*env)->SetObjectField(env, holder, ia6_scopeifnameID, scopeifname);
   128     return JNI_TRUE;
   122     return JNI_TRUE;
   129 }
       
   130 
       
   131 jboolean getInet6Address_scopeid_set(JNIEnv *env, jobject iaObj) {
       
   132     jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
       
   133     CHECK_NULL_RETURN(holder, JNI_FALSE);
       
   134     return (*env)->GetBooleanField(env, holder, ia6_scopeidsetID);
       
   135 }
   123 }
   136 
   124 
   137 unsigned int getInet6Address_scopeid(JNIEnv *env, jobject iaObj) {
   125 unsigned int getInet6Address_scopeid(JNIEnv *env, jobject iaObj) {
   138     jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
   126     jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
   139     CHECK_NULL_RETURN(holder, 0);
   127     CHECK_NULL_RETURN(holder, 0);
   204 
   192 
   205 int getInetAddress_family(JNIEnv *env, jobject iaObj) {
   193 int getInetAddress_family(JNIEnv *env, jobject iaObj) {
   206     jobject holder = (*env)->GetObjectField(env, iaObj, ia_holderID);
   194     jobject holder = (*env)->GetObjectField(env, iaObj, ia_holderID);
   207     CHECK_NULL_THROW_NPE_RETURN(env, holder, "InetAddress holder is null", -1);
   195     CHECK_NULL_THROW_NPE_RETURN(env, holder, "InetAddress holder is null", -1);
   208     return (*env)->GetIntField(env, holder, iac_familyID);
   196     return (*env)->GetIntField(env, holder, iac_familyID);
   209 }
       
   210 
       
   211 jobject getInetAddress_hostName(JNIEnv *env, jobject iaObj) {
       
   212     jobject holder = (*env)->GetObjectField(env, iaObj, ia_holderID);
       
   213     CHECK_NULL_THROW_NPE_RETURN(env, holder, "InetAddress holder is null", NULL);
       
   214     return (*env)->GetObjectField(env, holder, iac_hostNameID);
       
   215 }
   197 }
   216 
   198 
   217 JNIEXPORT jobject JNICALL
   199 JNIEXPORT jobject JNICALL
   218 NET_SockaddrToInetAddress(JNIEnv *env, SOCKETADDRESS *sa, int *port) {
   200 NET_SockaddrToInetAddress(JNIEnv *env, SOCKETADDRESS *sa, int *port) {
   219     jobject iaObj;
   201     jobject iaObj;