struct collection *s;
};
+/** @brief A track name part */
struct namepart {
char *part; /* part */
pcre *re; /* compiled regexp */
unsigned reflags; /* regexp flags */
};
+/** @brief A list of track name parts */
struct namepartlist {
int n;
struct namepart *s;
};
+/** @brief A track name transform */
struct transform {
char *type; /* track or dir */
char *context; /* sort or choose */
unsigned flags; /* regexp flags */
};
+/** @brief A list of track name transforms */
struct transformlist {
int n;
struct transform *t;
const char *home;
/** @brief Login username */
- const char *username;
+ char *username;
/** @brief Login password */
- const char *password;
+ char *password;
/** @brief Address to connect to */
struct netaddress connect;
/** @brief Maximum refresh interval for web interface (seconds) */
long refresh;
+ /** @brief Minimum refresh interval for web interface (seconds) */
+ long refresh_min;
+
/** @brief Facilities restricted to trusted users
*
* A bitmap of @ref RESTRICT_SCRATCH, @ref RESTRICT_REMOVE and @ref
/** @brief RTP delay threshold */
long rtp_delay_threshold;
+
+ /** @brief Verbose RTP transmission logging */
+ int rtp_verbose;
/** @brief TTL for multicast packets */
long multicast_ttl;
/** @brief Maximum bias */
long new_bias;
-
+
+ /** @brief Rescan on (un)mount */
+ int mount_rescan;
+
/* derived values: */
int nparts; /* number of distinct name parts */
char **parts; /* name part list */
int config_verify(void);
+void config_free(struct config *c);
+
extern char *configfile;
extern int config_per_user;