/* 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.
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) \
(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++)