+/*
+ * Hash table that contains the JUL app created upon registration indexed by
+ * socket.
+ */
+struct lttng_ht *jul_apps_ht_by_sock;
+
+/*
+ * Registration message payload from a JUL application. The PID is used to find
+ * back the corresponding UST app object so both socket can be linked.
+ */
+struct jul_register_msg {
+ uint32_t pid;
+};
+
+/*
+ * JUL application object created after a successful registration. This object
+ * is kept inside an UST app.
+ */
+struct jul_app {
+ /*
+ * PID sent during registration of a JUL application.
+ */
+ pid_t pid;
+
+ /*
+ * JUL TCP socket that was created upon registration.
+ */
+ struct lttcomm_sock *sock;
+
+ /*
+ * Associated UST app. socket. To get a reference to the ust application
+ * object corresponding to that socket, a lookup MUST be done each time
+ * since there is important synchronization issue for the lockless hash
+ * table shared accross multiple threads.
+ */
+ int ust_app_sock;
+
+ /* Initialized with the JUL sock value. */
+ struct lttng_ht_node_ulong node;
+};
+