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