chiark / gitweb /
Disobedience: basic support for required/prohibited tags.
[disorder] / lib / configuration.h
index e9fce7359a48da7aa409a7e4169e32a2f879f78c..6e3a9a946b8a04a2024e589d3a0c98fda9bd9b71 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * This file is part of DisOrder.
- * Copyright (C) 2004-2009 Richard Kettlewell
+ * Copyright (C) 2004-2010 Richard Kettlewell
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -70,7 +70,8 @@ struct collectionlist {
 
 struct namepart {
   char *part;                          /* part */
-  pcre *re;                            /* regexp */
+  pcre *re;                            /* compiled regexp */
+  char *res;                            /* regexp as a string */
   char *replace;                       /* replacement string */
   char *context;                       /* context glob */
   unsigned reflags;                    /* regexp flags */
@@ -184,14 +185,20 @@ struct config {
   /** @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;
+
   /** @brief Home directory for state files */
   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;
@@ -208,6 +215,9 @@ struct config {
   /** @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
@@ -241,6 +251,9 @@ struct config {
 
   /** @brief RTP delay threshold */
   long rtp_delay_threshold;
+
+  /** @brief Verbose RTP transmission logging */
+  int rtp_verbose;
   
   /** @brief TTL for multicast packets */
   long multicast_ttl;
@@ -280,7 +293,10 @@ struct config {
 
   /** @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  */
@@ -313,6 +329,10 @@ char *config_usersysconf(const struct passwd *pw );
 char *config_private(void);
 /* get the private config file */
 
+int config_verify(void);
+
+void config_free(struct config *c);
+
 extern char *configfile;
 extern int config_per_user;