From: Andre Noll Date: Wed, 11 Jun 2025 19:03:27 +0000 (+0200) Subject: recv X-Git-Url: https://git.tuebingen.mpg.de/?a=commitdiff_plain;h=b9e3c89e5eb4d8d13d3ac4a201693906f83b66ee;p=paraslash.git recv --- diff --git a/recv.h b/recv.h index 391395b2..62b6ef80 100644 --- a/recv.h +++ b/recv.h @@ -1,6 +1,17 @@ /* Copyright (C) 2005 Andre Noll , 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++)