]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
.
authorAndre Noll <maan@tuebingen.mpg.de>
Sat, 31 May 2025 22:19:15 +0000 (00:19 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Tue, 10 Jun 2025 14:04:43 +0000 (16:04 +0200)
audioc.c
client.c
web/documentation.in.html
web/para.css

index 36f9f040101ca74afcbf6b3eacc7a917516a20dd..4047a9e383fd90f3c035a108f4d57f19ea75c11b 100644 (file)
--- a/audioc.c
+++ b/audioc.c
@@ -1,6 +1,16 @@
 /* Copyright (C) 2005 Andre Noll <maan@tuebingen.mpg.de>, see file COPYING. */
 
-/** \file audioc.c The client program used to connect to para_audiod. */
+/** \file audioc.c The client program used to connect to para_audiod.
+ *
+ * The code if this file is conceptually similar to \ref client.c because
+ * para_audioc(1) also operates in one of three possible modes: completion
+ * interactive or non-interactive mode. Like the client code it calls \ref
+ * i9e_open() of \ref interactive.c to create an interactive session. However,
+ * the code to connect to the server (para_audiod(1)) is not shared with
+ * any other executable, so it is part of this file.
+ */
+
+/* \cond */
 
 #include <netinet/in.h>
 #include <sys/socket.h>
@@ -13,7 +23,6 @@
 
 #include "audiod_cmd.lsg.h"
 #include "audioc.lsg.h"
-
 #include "para.h"
 #include "error.h"
 #include "lsu.h"
@@ -21,7 +30,6 @@
 #include "string.h"
 #include "fd.h"
 
-/** Array of error strings. */
 DEFINE_PARA_ERRLIST;
 
 static char *socket_name;
@@ -310,21 +318,24 @@ static void handle_help_flag(void)
        exit(EXIT_SUCCESS);
 }
 
+/** \endcond */
+
 /**
  * The client program to connect to para_audiod.
  *
- * \param argc Usual argument count.
- * \param argv Usual argument vector.
+ * \param argc Options are defined in the audioc lopsub suite.
+ * \param argv The audioc suite defines no subcommands.
  *
  * It connects to the "well-known" local socket to communicate with
  * para_audiod. Authentication is performed by sending a ucred buffer
  * containing the user id to the local socket.
  *
- * Any data received from the socket is written to stdout.
+ * Any data received from the socket is written to stdout, employing the
+ * buffer tree subsystem.
  *
  * \return EXIT_SUCCESS or EXIT_FAILURE.
  *
- * \sa \ref send_cred_buffer(), para_audioc(1), para_audiod(1).
+ * \sa \ref send_cred_buffer(), \ref stdout.c, para_audioc(1), para_audiod(1).
  */
 int main(int argc, char *argv[])
 {
index 6f28a25bd87356130d82c84590aa299f35d10f8b..0eec7c52ffda5c86946ed5414c7935e72873903b 100644 (file)
--- a/client.c
+++ b/client.c
@@ -3,7 +3,7 @@
 /** \file client.c The client program used to connect to para_server.
  *
  * The bulk of the code of this file is the completers because interactive
- * sessions are implemented in \ref interactive.c and the autentication
+ * sessions are implemented in \ref interactive.c and the authentication
  * handshake (shared with para_audiod(1)) is implemented in \ref
  * client_common.c. This file contains no non-static functions except main().
  */
index 9c58221f0a747982559fa19367395984fffed652..e570c5f5744ae1d6ce934cb81051440b2c87ee77 100644 (file)
 
 <h2> Source code documentation </h2>
 
-<p> The public functions and variables of the paraslash source
-code are documented in the <a href="doxygen/html/files.html">API
-Reference</a>. Suggested entry points: </p>
+<p> All public functions and variables are documented, but static functions,
+structures and macros defined in .c files are not. Most source files contain
+additional comments not shown here which describe particular implementation
+details. </p>
 
-<ul>
-       <li> Executables:
-               [<a href="doxygen/html/server_8c.html">para_server</a>]
-               [<a href="doxygen/html/audiod_8c.html">para_audiod</a>]
-               [<a href="doxygen/html/client_8c.html">para_client</a>]
-               [<a href="doxygen/html/audioc_8c.html">para_audioc</a>]
-               [<a href="doxygen/html/afh_8c.html">para_afh</a>]
-               [<a href="doxygen/html/recv_8c.html">para_recv</a>]
-               [<a href="doxygen/html/filter_8c.html">para_filter</a>]
-               [<a href="doxygen/html/write_8c.html">para_write</a>]
-               [<a href="doxygen/html/gui_8c.html">para_gui</a>]
-               [<a href="doxygen/html/mixer_8c.html">para_mixer</a>]
-               [<a href="doxygen/html/play_8c.html">para_play</a>]
-       </li> <li> Subsystems:
-               [<a href="doxygen/html/sched_8h.html">Scheduler</a>]
-               [<a href="doxygen/html/buffer__tree_8h.html">Buffer Trees</a>]
-               [<a href="doxygen/html/afh_8h.html">Audio Format Handlers</a>]
-               [<a href="doxygen/html/afs_8h.html">Audio File Selector</a>]
-               [<a href="doxygen/html/vss_8h.html">Virtual Streaming System</a>]
-               [<a href="doxygen/html/send_8h.html">Senders</a>]
-               [<a href="doxygen/html/recv_8h.html">Receivers</a>]
-               [<a href="doxygen/html/filter_8h.html">Filters</a>]
-               [<a href="doxygen/html/write_8h.html">Writers</a>]
-               [<a href="doxygen/html/interactive_8h.html">Interactive Sessions</a>]
-               [<a href="doxygen/html/crypt_8h.html">Crypto API</a>]
-       </li>
-</ul>
+<h3> Subsystems </h3>
+
+<p> To get started in a particular subsystem, follow one of the links
+below. Each link points to a header file which defines the public API of a
+paraslash subsystem. This selection is not exhaustive, though. </p>
+
+<p>
+       [<a href="doxygen/html/sched_8h.html">Scheduler</a>]
+       [<a href="doxygen/html/buffer__tree_8h.html">Buffer Trees</a>]
+       [<a href="doxygen/html/afh_8h.html">Audio Format Handlers</a>]
+       [<a href="doxygen/html/vss_8h.html">Virtual Streaming System</a>]
+       [<a href="doxygen/html/afs_8h.html">Audio File Selector</a>]
+       [<a href="doxygen/html/send_8h.html">Senders</a>]
+       [<a href="doxygen/html/recv_8h.html">Receivers</a>]
+       [<a href="doxygen/html/filter_8h.html">Filters</a>]
+       [<a href="doxygen/html/write_8h.html">Writers</a>]
+       [<a href="doxygen/html/interactive_8h.html">Interactive Sessions</a>]
+       [<a href="doxygen/html/crypt_8h.html">Crypto API</a>]
+</p>
+
+<h3> Executables </h3>
+
+<p> The detailed description of each executable usually mentions relevant
+other object files which are linked into the executable. The comment of the
+main function talks about public functions defined elsewhere and called from
+this file. The comment also describes which tasks are created and registered
+to the paraslash scheduler. </p>
+
+<p>
+       [<a href="doxygen/html/server_8c.html">para_server</a>]
+       [<a href="doxygen/html/audiod_8c.html">para_audiod</a>]
+       [<a href="doxygen/html/client_8c.html">para_client</a>]
+       [<a href="doxygen/html/audioc_8c.html">para_audioc</a>]
+       [<a href="doxygen/html/afh_8c.html">para_afh</a>]
+       [<a href="doxygen/html/recv_8c.html">para_recv</a>]
+       [<a href="doxygen/html/filter_8c.html">para_filter</a>]
+       [<a href="doxygen/html/write_8c.html">para_write</a>]
+       [<a href="doxygen/html/gui_8c.html">para_gui</a>]
+       [<a href="doxygen/html/mixer_8c.html">para_mixer</a>]
+       [<a href="doxygen/html/play_8c.html">para_play</a>]
+</p>
+
+<h3> Indices </h3>
+
+<p>
+       [<a href="doxygen/html/classes.html">Data Structure Index</a>]
+       [<a href="doxygen/html/globals_enum.html">Enumerations</a>]
+       [<a href="doxygen/html/files.html">File List</a>]
+       [<a href="doxygen/html/globals_vars.html">Global Variables</a>]
+</p>
index 5fac87bbfd793a0a7acd332c155e9235810306a1..893aabfb40dc9c8b6a4b137c0bedb50bb9872459 100644 (file)
@@ -85,11 +85,11 @@ td.tiny {
 }
 
 .memitem { /* outer border around function */
-       padding: 6px;
+       padding: 20px;
        background-color: #000000;
        border-width: 2px;
        border-style: solid;
-       border-color: #ffff00;
+       border-color: #333333;
 }
 
 .memname {
@@ -102,31 +102,11 @@ td.tiny {
        padding-left: 10px;
 }
 
-/* inner box containing function definition */
-.memproto {
-       background-color: #000055;
-       width: 100%;
-       border-width: 2px;
-       border-style: solid;
-       border-color: #ffff00;
-       font-weight: bold;
-}
-
 .paramkey {
        color: #ff0000;
        text-align: right;
 }
 
-.paramtype { /* type of function parameter, e.g. "int" */
-       color: #00ff00;
-       white-space: nowrap;
-}
-
-.paramname { /* name of function parameter */
-       color: #ffff00;
-       font-style: italic;
-}
-
 a.title:hover {
        background-color: #AA3100;
 }