GUACAMOLE-351: Separate guac_config structure into own header file, independent of how that config is loaded.
diff --git a/src/guacd/Makefile.am b/src/guacd/Makefile.am
index 8edcd25..fb8e8eb 100644
--- a/src/guacd/Makefile.am
+++ b/src/guacd/Makefile.am
@@ -26,6 +26,7 @@
     man/guacd.conf.5
 
 noinst_HEADERS =  \
+    conf.h        \
     conf-args.h   \
     conf-file.h   \
     conf-parse.h  \
diff --git a/src/guacd/conf-args.c b/src/guacd/conf-args.c
index 448f84d..1e92e86 100644
--- a/src/guacd/conf-args.c
+++ b/src/guacd/conf-args.c
@@ -19,8 +19,8 @@
 
 #include "config.h"
 
+#include "conf.h"
 #include "conf-args.h"
-#include "conf-file.h"
 #include "conf-parse.h"
 
 #include <getopt.h>
diff --git a/src/guacd/conf-args.h b/src/guacd/conf-args.h
index 8fa2c3b..2fb86b4 100644
--- a/src/guacd/conf-args.h
+++ b/src/guacd/conf-args.h
@@ -22,7 +22,7 @@
 
 #include "config.h"
 
-#include "conf-file.h"
+#include "conf.h"
 
 /**
  * Parses the given arguments into the given configuration. Zero is returned on
diff --git a/src/guacd/conf-file.c b/src/guacd/conf-file.c
index 21044b6..b99a852 100644
--- a/src/guacd/conf-file.c
+++ b/src/guacd/conf-file.c
@@ -19,6 +19,7 @@
 
 #include "config.h"
 
+#include "conf.h"
 #include "conf-file.h"
 #include "conf-parse.h"
 
diff --git a/src/guacd/conf-file.h b/src/guacd/conf-file.h
index 9042cc8..c38d859 100644
--- a/src/guacd/conf-file.h
+++ b/src/guacd/conf-file.h
@@ -22,51 +22,7 @@
 
 #include "config.h"
 
-#include <guacamole/client.h>
-
-/**
- * The contents of a guacd configuration file.
- */
-typedef struct guacd_config {
-
-    /**
-     * The host to bind on.
-     */
-    char* bind_host;
-
-    /**
-     * The port to bind on.
-     */
-    char* bind_port;
-
-    /**
-     * The file to write the PID in, if any.
-     */
-    char* pidfile;
-
-    /**
-     * Whether guacd should run in the foreground.
-     */
-    int foreground;
-
-#ifdef ENABLE_SSL
-    /**
-     * SSL certificate file.
-     */
-    char* cert_file;
-
-    /**
-     * SSL private key file.
-     */
-    char* key_file;
-#endif
-
-    /**
-     * The maximum log level to be logged by guacd.
-     */
-    guac_client_log_level max_log_level;
-
-} guacd_config;
+#include "conf.h"
 
 /**
  * Reads the given file descriptor, parsing its contents into the guacd_config.
diff --git a/src/guacd/conf-parse.c b/src/guacd/conf-parse.c
index e5a034f..8381aba 100644
--- a/src/guacd/conf-parse.c
+++ b/src/guacd/conf-parse.c
@@ -19,6 +19,7 @@
 
 #include "config.h"
 
+#include "conf.h"
 #include "conf-parse.h"
 
 #include <guacamole/client.h>
diff --git a/src/guacd/conf.h b/src/guacd/conf.h
new file mode 100644
index 0000000..3ecccb4
--- /dev/null
+++ b/src/guacd/conf.h
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#ifndef GUACD_CONF_H
+#define GUACD_CONF_H
+
+#include "config.h"
+
+#include <guacamole/client.h>
+
+/**
+ * The contents of a guacd configuration file.
+ */
+typedef struct guacd_config {
+
+    /**
+     * The host to bind on.
+     */
+    char* bind_host;
+
+    /**
+     * The port to bind on.
+     */
+    char* bind_port;
+
+    /**
+     * The file to write the PID in, if any.
+     */
+    char* pidfile;
+
+    /**
+     * Whether guacd should run in the foreground.
+     */
+    int foreground;
+
+#ifdef ENABLE_SSL
+    /**
+     * SSL certificate file.
+     */
+    char* cert_file;
+
+    /**
+     * SSL private key file.
+     */
+    char* key_file;
+#endif
+
+    /**
+     * The maximum log level to be logged by guacd.
+     */
+    guac_client_log_level max_log_level;
+
+} guacd_config;
+
+#endif
+
diff --git a/src/guacd/daemon.c b/src/guacd/daemon.c
index 2e80ef3..af7b29d 100644
--- a/src/guacd/daemon.c
+++ b/src/guacd/daemon.c
@@ -19,9 +19,10 @@
 
 #include "config.h"
 
-#include "connection.h"
+#include "conf.h"
 #include "conf-args.h"
 #include "conf-file.h"
+#include "connection.h"
 #include "log.h"
 #include "proc-map.h"