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; |