- 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 */
- long sox_generation; /* sox syntax generation */
- /* 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 */
- unsigned restrictions; /* restrictions */
- long queue_pad; /* how far to pad queue with
- * random tracks */
-#define RESTRICT_SCRATCH 1
-#define RESTRICT_REMOVE 2
-#define RESTRICT_MOVE 4
+
+ /** @brief Path to mixer device */
+ char *mixer;
+
+ /** @brief Mixer channel to use */
+ char *channel;
+
+ /** @brief Secondary listen address */
+ struct netaddress listen;
+
+ /** @brief Alias format string */
+ const char *alias;
+
+ /** @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 Pause mode for command backend */
+ const char *pause_mode;
+
+ /** @brief Target sample format */
+ struct stream_header sample_format;
+
+ /** @brief Sox syntax generation */
+ long sox_generation;
+
+ /** @brief API used to play sound */
+ const char *api;
+
+ /** @brief Maximum size of a playlist */
+ long playlist_max;
+
+ /** @brief Maximum lifetime of a playlist lock */
+ long playlist_lock_timeout;
+
+#if !_WIN32
+ /** @brief Home directory for state files */
+ const char *home;
+#endif
+
+ /** @brief Login username */
+ char *username;
+
+ /** @brief Login password */
+ char *password;
+
+ /** @brief Address to connect to */
+ struct netaddress connect;
+
+ /** @brief Directories to search for web templates */
+ struct stringlist templates;
+
+ /** @brief Canonical URL of web interface */
+ char *url;
+
+ /** @brief Short display limit */
+ long short_display;
+
+ /** @brief Maximum refresh interval for web interface (seconds) */
+ long refresh;
+
+ /** @brief Minimum refresh interval for web interface (seconds) */
+ long refresh_min;
+
+ /** @brief Target queue length */
+ long queue_pad;
+
+ /** @brief Minimum time between a track being played again */
+ long replay_min;
+
+#if HAVE_PCRE_H