* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*/
+/** @file lib/configuration.h
+ * @brief Configuration file support
+ */
#ifndef CONFIGURATION_H
#define CONFIGURATION_H
-#include <ao/ao.h>
+#include "speaker-protocol.h"
struct real_pcre;
struct config {
/* server config */
+ /** @brief Authorization algorithm */
+ char *authorization_algorithm;
+
/** @brief All players */
struct stringlistlist player;
/** @brief Maximum number of recent tracks to record in history */
long history;
+ /** @brief Expiry limit for noticed.db */
+ long noticed_history;
+
/** @brief Trusted users */
struct stringlist trust;
const char *speaker_command;
/** @brief Target sample format */
- ao_sample_format sample_format;
+ struct stream_header sample_format;
/** @brief Sox syntax generation */
long sox_generation;
#define BACKEND_ALSA 0 /**< Use ALSA (Linux only) */
#define BACKEND_COMMAND 1 /**< Execute a command */
#define BACKEND_NETWORK 2 /**< Transmit RTP */
+#define BACKEND_COREAUDIO 3 /**< Use Core Audio (Mac only) */
+#define BACKEND_OSS 4 /**< Use OSS */
/** @brief Home directory for state files */
const char *home;
const char *device;
struct transformlist transform; /* path name transformations */
- struct stringlist broadcast; /* audio broadcast address */
- struct stringlist broadcast_from; /* audio broadcast source address */
+ /** @brief Address to send audio data to */
+ struct stringlist broadcast;
+
+ /** @brief Source address for network audio transmission */
+ struct stringlist broadcast_from;
+
+ /** @brief TTL for multicast packets */
+ long multicast_ttl;
/* derived values: */
int nparts; /* number of distinct name parts */
extern struct config *config;
/* the current configuration */
-int config_read(void);
+int config_read(int server);
/* re-read config, return 0 on success or non-0 on error.
* Only updates @config@ if the new configuration is valid. */