diff -r eb491334113f -r 119ac9128c1b src/java.base/share/native/libnet/net_util.h --- a/src/java.base/share/native/libnet/net_util.h Fri Oct 25 14:50:16 2019 +0100 +++ b/src/java.base/share/native/libnet/net_util.h Fri Oct 25 15:56:35 2019 +0100 @@ -40,6 +40,9 @@ #define NET_WAIT_WRITE 0x02 #define NET_WAIT_CONNECT 0x04 +/* 2 bytes to allow for null at end of string and null at start of string for abstract name */ +#define MAX_UNIX_DOMAIN_PATH_LEN (int)(sizeof(((struct sockaddr_un *)0)->sun_path)-2) + /************************************************************************ * Cached field IDs * @@ -111,6 +114,12 @@ extern jfieldID ia6_scopeifnameID; extern jmethodID ia6_ctrID; +/* UnixDomainSocketAddress methods */ +extern jclass udsa_class; +extern jmethodID udsa_ctorID; +extern jfieldID udsa_pathID; +extern jfieldID udsa_isAbstractID; + /************************************************************************ * Utilities */ @@ -157,6 +166,12 @@ JNIEXPORT jobject JNICALL NET_SockaddrToInetAddress(JNIEnv *env, SOCKETADDRESS *sa, int *port); +JNIEXPORT jobject JNICALL +NET_SockaddrToUnixAddress(JNIEnv *env, SOCKETADDRESS *sa); + +JNIEXPORT jint JNICALL +NET_UnixSocketAddressToSockaddr(JNIEnv *env, jobject uaddr, SOCKETADDRESS *sa, int *len); + void platformInit(); void parseExclusiveBindProperty(JNIEnv *env);