cscvs to tla changeset 29
[onak.git] / onak-conf.h
index f91057e321a67b2c11292864d578a049b32f4f68..11458187fad6dcf259407976419ff5e294316b85 100644 (file)
 #define __ONAK_CONF_H_
 
 #define VERSION "0.0.4"
+#define CONFIGFILE "/home/noodles/projects/onak/onak.conf"
 
 /*
  *     struct onak_config - Runtime configuration for onak.
  *     @maxkeys: The maximum number of keys a query should return.
+ *     @thissite: Our email address that servers sync with.
+ *     @adminemail: The email address of the server admin.
+ *     @mta: The mta to invoke to send sync mails.
+ *     @syncsites: A linked list of sites we sync with.
  *
- *     @db2_dbpath: The path to the directory containing the db2 files.
+ *     @db_dir: The path to the directory containing the database files.
  * 
- *     @file_dbpath: The path to the flat file DB directory.
- *
  *     @pg_dbhost: The host that Postgres is running on.
  *     @pg_dbname: The database name.
  *     @pg_dbuser: The user we should connect as.
  *     will eventually be populated from the config file.
  */
 struct onak_config {
-       int maxkeys;
-
        /*
-        * Options for the db2 file backend.
+        * Generic options.
         */
-       char *db2_dbpath;
+       int maxkeys;
+       char *thissite;
+       char *adminemail;
+       char *mta;
+       struct ll *syncsites;
 
        /*
-        * Options for the file backend.
+        * Options for any database backend that needs a directory, be it the
+        * file, db2 or db3 options.
         */
-       char *file_dbpath;
+       char *db_dir;
        
        /*
         * Options for the Postgres backend.
@@ -54,4 +60,9 @@ struct onak_config {
  */
 extern struct onak_config config;
 
+/*
+ *     readconfig - read the onak config.
+ */
+void readconfig(void);
+
 #endif /* __ONAK_CONF_H_ */