/* Copyright (C) 1997 Andre Noll <maan@tuebingen.mpg.de>, see file COPYING. */
-/** \file client.c The client program used to connect to para_server. */
+/** \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
+ * handshake (shared with para_audiod(1)) is implemented in \ref
+ * client_common.c. This file contains no non-static functions except main().
+ */
+
+/** \cond */
#include <signal.h>
#include <lopsub.h>
#include "buffer_tree.h"
#include "error.h"
-/** Array of error strings. */
DEFINE_PARA_ERRLIST;
static struct sched sched;
static struct supervisor_task supervisor_task;
-/**
+/** \endcond
+ *
* The client program to connect to para_server.
*
- * \param argc Usual argument count.
- * \param argv Usual argument vector.
+ * \param argc Options are defined in the client lopsub suite.
+ * \param argv The client suite defines no subcommands.
+ *
+ * If --complete is specified, possible completions are determined by executing
+ * a second instance of para_client(1). For example, if attribute completion
+ * is needed, the lsatt server subcommand is run.
+ *
+ * If run with no arguments, an interactive session is started. In this
+ * case we call \ref i9e_open() of \ref interactive.c, which implements
+ * interactive sessions, including command line editing and tab completion.
*
- * When called without a paraslash command, an interactive session is started.
* Otherwise, the client task and the supervisor task are started. The former
* communicates with para_server while the latter monitors whether the client
* task intends to read from stdin or write to stdout.
/** \file play.c Paraslash's standalone player
*
- * The para_play(1) is an interactive tool to play audio files in a terminal.
+ * para_play(1) is an interactive tool to play audio files in a terminal.
* It employs the buffer tree API to link together the afh receiver, a
* decoder and the default writer (alsa on linux), enabling playback for
* all supported audio formats.
* Interactive command line editing is based on the API defined in \ref
* interactive.h. Subcommands of para_play(1) are realized as lopsub
* subcommands.
- *
- * \cond doxygen_ignore */
+ */
+
+/** \cond */
#include <signal.h>
#include <lopsub.h>
return 1;
}
-/** \endcond doxygen_ignore
+/** \endcond
*
* The main function of para_play(1).
*
<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/play_8c.html">para_play</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/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/mixer_8c.html">para_mixer</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>]