+/*
+ * Check whether a notification is pending on a notification channel.
+ *
+ * This call allows the user to check whether a notification is pending on
+ * the notification channel.
+ *
+ * If pending is set to true and the return value is
+ * LTTNG_NOTIFICATION_CHANNEL_STATUS_OK,
+ * lttng_notification_channel_get_next_notification() can be called and
+ * is guaranteed to not block.
+ *
+ * Returns LTTNG_NOTIFICATION_CHANNEL_STATUS_OK on success or
+ * LTTNG_NOTIFICATION_CHANNEL_STATUS_INVALID if an invalid parameter was
+ * provided.
+ */
+extern enum lttng_notification_channel_status
+lttng_notification_channel_has_pending_notification(
+ struct lttng_notification_channel *channel,
+ bool *notification_pending);
+
+/*
+ * Subscribe to notifications of a condition through a notification channel.
+ *
+ * The caller retains the ownership of the condition passed through this call
+ * and it can be disposed-of at any moment after this call.
+ *
+ * An error will be reported if the client tries to subscribe to the same
+ * condition multiple times without unsubscribing.
+ *
+ * Returns LTTNG_NOTIFICATION_CHANNEL_STATUS_OK on success,
+ * LTTNG_NOTIFICATION_CHANNEL_STATUS_INVALID if an invalid parameter was
+ * provided, or LTTNG_NOTIFICATION_CHANNEL_STATUS_ALREADY_SUBSCRIBED if the
+ * client was already subscribed to the condition through this channel.
+ */