+/*
+ * This pipe is used to inform the thread managing application notify
+ * communication that a command is queued and ready to be processed.
+ */
+extern int apps_cmd_notify_pipe[2];
+
+/*
+ * Used to notify that a hash table needs to be destroyed by dedicated
+ * thread. Required by design because we don't want to move destroy
+ * paths outside of large RCU read-side lock paths, and destroy cannot
+ * be called by call_rcu thread, because it may hang (waiting for
+ * call_rcu completion).
+ */
+extern int ht_cleanup_pipe[2];
+
+extern int kernel_poll_pipe[2];
+
+/*
+ * Populated when the daemon starts with the current page size of the system.
+ * Set in main() with the current page size.
+ */
+extern long page_size;
+
+/* Application health monitoring */
+extern struct health_app *health_sessiond;
+
+extern struct sessiond_config config;
+
+extern int lttng_sessiond_ready;
+
+extern int ust_consumerd64_fd, ust_consumerd32_fd;
+
+/* Parent PID for --sig-parent option */
+extern pid_t ppid;
+/* Internal parent PID use with daemonize. */
+extern pid_t child_ppid;
+
+int sessiond_init_thread_quit_pipe(void);
+int sessiond_check_thread_quit_pipe(int fd, uint32_t events);
+int sessiond_wait_for_quit_pipe(unsigned int timeout_us);
+int sessiond_notify_quit_pipe(void);
+void sessiond_close_quit_pipe(void);
+
+int sessiond_set_thread_pollset(struct lttng_poll_event *events, size_t size);
+void sessiond_notify_ready(void);
+void sessiond_signal_parents(void);
+
+void sessiond_set_client_thread_state(bool running);
+void sessiond_wait_client_thread_stopped(void);
+