]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
recv
authorAndre Noll <maan@tuebingen.mpg.de>
Wed, 11 Jun 2025 19:03:27 +0000 (21:03 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Wed, 11 Jun 2025 19:03:27 +0000 (21:03 +0200)
recv.h

diff --git a/recv.h b/recv.h
index 391395b241d67abf12eb70996a10ee7950519087..62b6ef802eb5e158492b268195dd6c64d6e15b55 100644 (file)
--- a/recv.h
+++ b/recv.h
@@ -1,6 +1,17 @@
 /* Copyright (C) 2005 Andre Noll <maan@tuebingen.mpg.de>, see file COPYING. */
 
-/** \file recv.h Receiver-related structures and exported symbols of recv_common.c. */
+/** \file recv.h Receiver API
+ *
+ * Receivers are part of para_audiod(1) and para_recv(1). Each receiver is
+ * implemented in a separate file which defines a non-static a \ref receiver
+ * structure. An instance of the receiver, a \ref receiver_node, is created
+ * by calling \ref receiver::open. The receiver node is set up by making
+ * it the root of a buffer tree and registering it to the scheduler. Once
+ * scheduling is started the receiver node performs I/O as long as there is
+ * input available and room and room in its output buffer.
+ *
+ * The few functions declared here are defined in \ref recv_common.c.
+ */
 
 /**
  * Describes one instance of a receiver.
@@ -78,6 +89,7 @@ struct receiver {
        btr_command_handler execute;
 };
 
+/** \cond doxygen_ignore */
 #define RECV_CMD(_num) (lls_cmd(_num, recv_cmd_suite))
 
 #define RECV_CMD_OPT_RESULT(_recv, _opt, _lpr) \
@@ -90,6 +102,7 @@ struct receiver {
        (lls_uint32_val(0, RECV_CMD_OPT_RESULT(_recv, _opt, _lpr)))
 #define RECV_CMD_OPT_INT32_VAL(_recv, _opt, _lpr) \
        (lls_int32_val(0, RECV_CMD_OPT_RESULT(_recv, _opt, _lpr)))
+/** \endcond */
 
 /** Iterate over all available receivers. */
 #define FOR_EACH_RECEIVER(i) for (i = 1; lls_cmd(i, recv_cmd_suite); i++)