chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
build-sys: use autoconf'igured mkdir/ln/sed programs
[elogind.git]
/
load-fragment.c
diff --git
a/load-fragment.c
b/load-fragment.c
index ff3b29c084a7a0c3f25f451dbec8d5dac002497c..148a579d99244127d123b08888eddb48a82a54e6 100644
(file)
--- a/
load-fragment.c
+++ b/
load-fragment.c
@@
-28,6
+28,7
@@
#include <sched.h>
#include <sys/prctl.h>
#include <sys/mount.h>
#include <sched.h>
#include <sys/prctl.h>
#include <sys/mount.h>
+#include <linux/fs.h>
#include "unit.h"
#include "strv.h"
#include "unit.h"
#include "strv.h"
@@
-150,6
+151,38
@@
static int config_parse_names(
return 0;
}
return 0;
}
+static int config_parse_description(
+ const char *filename,
+ unsigned line,
+ const char *section,
+ const char *lvalue,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
+
+ Unit *u = userdata;
+ char *k;
+
+ assert(filename);
+ assert(lvalue);
+ assert(rvalue);
+ assert(data);
+
+ if (!(k = unit_full_printf(u, rvalue)))
+ return -ENOMEM;
+
+ free(u->meta.description);
+
+ if (*k)
+ u->meta.description = k;
+ else {
+ free(k);
+ u->meta.description = NULL;
+ }
+
+ return 0;
+}
+
static int config_parse_listen(
const char *filename,
unsigned line,
static int config_parse_listen(
const char *filename,
unsigned line,
@@
-1094,7
+1127,11
@@
static void dump_items(FILE *f, const ConfigItem *items) {
{ config_parse_kill_mode, "KILLMODE" },
{ config_parse_listen, "SOCKET [...]" },
{ config_parse_socket_bind, "SOCKETBIND" },
{ config_parse_kill_mode, "KILLMODE" },
{ config_parse_listen, "SOCKET [...]" },
{ config_parse_socket_bind, "SOCKETBIND" },
- { config_parse_bindtodevice, "NETWORKINTERFACE" }
+ { config_parse_bindtodevice, "NETWORKINTERFACE" },
+ { config_parse_usec, "SECONDS" },
+ { config_parse_path_strv, "PATH [...]" },
+ { config_parse_mount_flags, "MOUNTFLAG [...]" },
+ { config_parse_description, "DESCRIPTION" },
};
assert(f);
};
assert(f);
@@
-1134,7
+1171,8
@@
static int load_from_path(Unit *u, const char *path) {
[UNIT_DEVICE] = "Device",
[UNIT_MOUNT] = "Mount",
[UNIT_AUTOMOUNT] = "Automount",
[UNIT_DEVICE] = "Device",
[UNIT_MOUNT] = "Mount",
[UNIT_AUTOMOUNT] = "Automount",
- [UNIT_SNAPSHOT] = "Snapshot"
+ [UNIT_SNAPSHOT] = "Snapshot",
+ [UNIT_SWAP] = "Swap"
};
#define EXEC_CONTEXT_CONFIG_ITEMS(context, section) \
};
#define EXEC_CONTEXT_CONFIG_ITEMS(context, section) \
@@
-1160,6
+1198,7
@@
static int load_from_path(Unit *u, const char *path) {
{ "SyslogIdentifier", config_parse_string, &(context).syslog_identifier, section }, \
{ "SyslogFacility", config_parse_facility, &(context).syslog_priority, section }, \
{ "SyslogLevel", config_parse_level, &(context).syslog_priority, section }, \
{ "SyslogIdentifier", config_parse_string, &(context).syslog_identifier, section }, \
{ "SyslogFacility", config_parse_facility, &(context).syslog_priority, section }, \
{ "SyslogLevel", config_parse_level, &(context).syslog_priority, section }, \
+ { "SyslogNoPrefix", config_parse_bool, &(context).syslog_no_prefix, section }, \
{ "Capabilities", config_parse_capabilities, &(context), section }, \
{ "SecureBits", config_parse_secure_bits, &(context), section }, \
{ "CapabilityBoundingSetDrop", config_parse_bounding_set, &(context), section }, \
{ "Capabilities", config_parse_capabilities, &(context), section }, \
{ "SecureBits", config_parse_secure_bits, &(context), section }, \
{ "CapabilityBoundingSetDrop", config_parse_bounding_set, &(context), section }, \
@@
-1189,7
+1228,7
@@
static int load_from_path(Unit *u, const char *path) {
const ConfigItem items[] = {
{ "Names", config_parse_names, u, "Unit" },
const ConfigItem items[] = {
{ "Names", config_parse_names, u, "Unit" },
- { "Description", config_parse_
string, &u->meta.description,
"Unit" },
+ { "Description", config_parse_
description, u,
"Unit" },
{ "Requires", config_parse_deps, UINT_TO_PTR(UNIT_REQUIRES), "Unit" },
{ "RequiresOverridable", config_parse_deps, UINT_TO_PTR(UNIT_REQUIRES_OVERRIDABLE), "Unit" },
{ "Requisite", config_parse_deps, UINT_TO_PTR(UNIT_REQUISITE), "Unit" },
{ "Requires", config_parse_deps, UINT_TO_PTR(UNIT_REQUIRES), "Unit" },
{ "RequiresOverridable", config_parse_deps, UINT_TO_PTR(UNIT_REQUIRES_OVERRIDABLE), "Unit" },
{ "Requisite", config_parse_deps, UINT_TO_PTR(UNIT_REQUISITE), "Unit" },
@@
-1249,6
+1288,9
@@
static int load_from_path(Unit *u, const char *path) {
{ "Where", config_parse_path, &u->automount.where, "Automount" },
{ "Where", config_parse_path, &u->automount.where, "Automount" },
+ { "What", config_parse_path, &u->swap.parameters_fragment.what, "Swap" },
+ { "Priority", config_parse_int, &u->swap.parameters_fragment.priority, "Swap" },
+
{ NULL, NULL, NULL, NULL }
};
{ NULL, NULL, NULL, NULL }
};