- char *mixer; /* mixer device file */
- char *channel; /* mixer channel */
- long prefsync; /* preflog sync intreval */
- struct stringlist listen; /* secondary listen address */
- const char *alias; /* alias format */
- int lock; /* server takes a lock */
- long nice_server; /* nice value for server */
- long nice_speaker; /* nice value for speaker */
- const char *speaker_command; /* command for speaker to run */
- ao_sample_format sample_format; /* sample format to enforce */
- /* shared client/server config */
- const char *home; /* home directory for state files */
- /* client config */
- const char *username, *password; /* our own username and password */
- struct stringlist connect; /* connect address */
- /* web config */
- struct stringlist templates; /* template path */
- const char *url; /* canonical URL */
- long refresh; /* maximum refresh period */
+
+ /** @brief Path to mixer device */
+ char *mixer;
+
+ /** @brief Mixer channel to use */
+ char *channel;
+
+ long prefsync; /* preflog sync interval */
+
+ /** @brief Secondary listen address */
+ struct stringlist listen;
+
+ /** @brief Alias format string */
+ const char *alias;
+
+ /** @brief Enable server locking */
+ int lock;
+
+ /** @brief Nice value for server */
+ long nice_server;
+
+ /** @brief Nice value for speaker */
+ long nice_speaker;
+
+ /** @brief Command execute by speaker to play audio */
+ const char *speaker_command;
+
+ /** @brief Target sample format */
+ ao_sample_format sample_format;
+
+ /** @brief Sox syntax generation */
+ long sox_generation;
+
+ /** @brief Speaker backend
+ *
+ * Choices are @ref BACKEND_ALSA, @ref BACKEND_COMMAND or @ref
+ * BACKEND_NETWORK.
+ */
+ int speaker_backend;
+#define BACKEND_ALSA 0 /**< Use ALSA (Linux only) */
+#define BACKEND_COMMAND 1 /**< Execute a command */
+#define BACKEND_NETWORK 2 /**< Transmit RTP */
+
+ /** @brief Home directory for state files */
+ const char *home;
+
+ /** @brief Login username */
+ const char *username;
+
+ /** @brief Login password */
+ const char *password;
+
+ /** @brief Address to connect to */
+ struct stringlist connect;
+
+ /** @brief Directories to search for web templates */
+ struct stringlist templates;
+
+ /** @brief Canonical URL of web interface */
+ const char *url;
+
+ /** @brief Maximum refresh interval for web interface (seconds) */
+ long refresh;
+
+ /** @brief Facilities restricted to trusted users
+ *
+ * A bitmap of @ref RESTRICT_SCRATCH, @ref RESTRICT_REMOVE and @ref
+ * RESTRICT_MOVE.
+ */