chiark / gitweb /
journald: add Storage= setting to control where the journal is stored
[elogind.git] / src / journal / journald.h
index 159364d930bf61fdddfdbf19dc271a474055421c..34deb8561e89f9f4476030825504af11fc53b4d8 100644 (file)
 #include "journal-rate-limit.h"
 #include "list.h"
 
 #include "journal-rate-limit.h"
 #include "list.h"
 
+typedef enum Storage {
+        STORAGE_AUTO,
+        STORAGE_VOLATILE,
+        STORAGE_PERMANENT,
+        STORAGE_NONE,
+        _STORAGE_MAX,
+        _STORAGE_INVALID = -1
+} Storage;
+
 typedef struct StdoutStream StdoutStream;
 
 typedef struct Server {
 typedef struct StdoutStream StdoutStream;
 
 typedef struct Server {
@@ -86,9 +95,16 @@ typedef struct Server {
         int max_level_syslog;
         int max_level_kmsg;
         int max_level_console;
         int max_level_syslog;
         int max_level_kmsg;
         int max_level_console;
+
+        Storage storage;
 } Server;
 
 /* gperf lookup function */
 const struct ConfigPerfItem* journald_gperf_lookup(const char *key, unsigned length);
 
 } Server;
 
 /* gperf lookup function */
 const struct ConfigPerfItem* journald_gperf_lookup(const char *key, unsigned length);
 
+int config_parse_storage(const char *filename, unsigned line, const char *section, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+
+const char *storage_to_string(Storage s);
+Storage storage_from_string(const char *s);
+
 #endif
 #endif