chiark / gitweb /
lib/addr.c, etc.: Return plain addresses from `netaddress_resolve'.
[disorder] / lib / configuration.h
index 148d08f60adda079a105ab00a797d39f34ce2a6c..0fbf0bba7b989d0dd3dd403998f2b83fab55e487 100644 (file)
@@ -234,6 +234,25 @@ struct config {
   /** @brief RTP delay threshold */
   long rtp_delay_threshold;
 
+  /** @brief Whether to ignore the server's suggested RTP arrangement and
+   * always request a unicast stream */
+  int rtp_always_request;
+
+  /** @brief RTP buffer low-water mark */
+  long rtp_minbuffer;
+
+  /** @brief RTP buffer maximum size */
+  long rtp_maxbuffer;
+
+  /** @brief RTP receive buffer size */
+  long rtp_rcvbuf;
+
+  /** @brief Fixed RTP listening address */
+  struct netaddress rtp_request_address;
+
+  /** @brief @c disorder-playrtp instance name (for naming sockets etc.) */
+  char *rtp_instance_name;
+
   /** @brief Verbose RTP transmission logging */
   int rtp_verbose;
   
@@ -243,6 +262,25 @@ struct config {
   /** @brief Whether to loop back multicast packets */
   int multicast_loop;
 
+  /** @brief Maximum size of RTP payload to send
+   *
+   * This is the maximum number of bytes we pass to write(2); to determine
+   * actual packet sizes, add a UDP header and an IP header (and a link layer
+   * header if it's the link layer size you care about).
+   *
+   * Don't make this too big or arithmetic will start to overflow.
+   */
+  long rtp_max_payload;
+
+  /** @brief Whether to allow MTU discovery
+   *
+   * This is `yes' to force it on, `no' to force it off, or `default' to do
+   * whatever the system is configured to do.  Note that this only has a
+   * useful effect in IPv4, since IPv6 doesn't permit hop-by-hop
+   * fragmentation.
+   */
+  char *rtp_mtu_discovery;
+
   /** @brief Login lifetime in seconds */
   long cookie_login_lifetime;
 
@@ -304,10 +342,6 @@ char *config_get_file(const char *name);
 
 struct passwd;
 
-char *config_userconf(const char *home, const struct passwd *pw);
-/* get the user's own private conffile, assuming their home dir is
- * @home@ if not null and using @pw@ otherwise */
-
 char *config_usersysconf(const struct passwd *pw );
 /* get the user's conffile in /etc */
 
@@ -318,7 +352,7 @@ int config_verify(void);
 
 void config_free(struct config *c);
 
-extern char *configfile;
+extern char *configfile, *userconfigfile;
 extern int config_per_user;
 
 extern const struct uaudio *const *config_uaudio_apis;