X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fload-fragment.c;h=e5c7ba24ab8e45117f968372848bab994ecdcde6;hb=09c661966c31301ced89de93a97e9758a50fe071;hp=b7bb4d7c5c5f221201fd7539f8e4700b51ece7e2;hpb=6cf6bbc2682c6df010d64ea7e49d93affa7282cd;p=elogind.git diff --git a/src/load-fragment.c b/src/load-fragment.c index b7bb4d7c5..e5c7ba24a 100644 --- a/src/load-fragment.c +++ b/src/load-fragment.c @@ -1205,6 +1205,33 @@ finish: return r; } +static int config_parse_ip_tos( + const char *filename, + unsigned line, + const char *section, + const char *lvalue, + const char *rvalue, + void *data, + void *userdata) { + + int *ip_tos = data, x; + int r; + + assert(filename); + assert(lvalue); + assert(rvalue); + assert(data); + + if ((x = ip_tos_from_string(rvalue)) < 0) + if ((r = safe_atoi(rvalue, &x)) < 0) { + log_error("[%s:%u] Failed to parse IP TOS value: %s", filename, line, rvalue); + return r; + } + + *ip_tos = x; + return 0; +} + DEFINE_CONFIG_PARSE_ENUM(config_parse_notify_access, notify_access, NotifyAccess, "Failed to parse notify access specifier"); #define FOLLOW_MAX 8 @@ -1365,7 +1392,8 @@ static void dump_items(FILE *f, const ConfigItem *items) { { config_parse_timer_unit, "NAME" }, { config_parse_path_spec, "PATH" }, { config_parse_path_unit, "UNIT" }, - { config_parse_notify_access, "ACCESS" } + { config_parse_notify_access, "ACCESS" }, + { config_parse_ip_tos, "TOS" }, }; assert(f); @@ -1478,6 +1506,7 @@ static int load_from_path(Unit *u, const char *path) { { "RecursiveStop", config_parse_bool, &u->meta.recursive_stop, "Unit" }, { "StopWhenUnneeded", config_parse_bool, &u->meta.stop_when_unneeded, "Unit" }, { "OnlyByDependency", config_parse_bool, &u->meta.only_by_dependency, "Unit" }, + { "DefaultDependencies", config_parse_bool, &u->meta.default_dependencies, "Unit" }, { "PIDFile", config_parse_path, &u->service.pid_file, "Service" }, { "ExecStartPre", config_parse_exec, u->service.exec_command+SERVICE_EXEC_START_PRE, "Service" }, @@ -1517,6 +1546,15 @@ static int load_from_path(Unit *u, const char *path) { { "KillMode", config_parse_kill_mode, &u->socket.kill_mode, "Socket" }, { "Accept", config_parse_bool, &u->socket.accept, "Socket" }, { "MaxConnections", config_parse_unsigned, &u->socket.max_connections, "Socket" }, + { "KeepAlive", config_parse_bool, &u->socket.keep_alive, "Socket" }, + { "Priority", config_parse_int, &u->socket.priority, "Socket" }, + { "ReceiveBuffer", config_parse_size, &u->socket.receive_buffer, "Socket" }, + { "SendBuffer", config_parse_size, &u->socket.send_buffer, "Socket" }, + { "IPTOS", config_parse_ip_tos, &u->socket.ip_tos, "Socket" }, + { "IPTTL", config_parse_int, &u->socket.ip_ttl, "Socket" }, + { "Mark", config_parse_int, &u->socket.mark, "Socket" }, + { "PipeSize", config_parse_size, &u->socket.pipe_size, "Socket" }, + { "FreeBind", config_parse_bool, &u->socket.free_bind, "Socket" }, EXEC_CONTEXT_CONFIG_ITEMS(u->socket.exec_context, "Socket"), { "What", config_parse_string, &u->mount.parameters_fragment.what, "Mount" }, @@ -1525,9 +1563,11 @@ static int load_from_path(Unit *u, const char *path) { { "Type", config_parse_string, &u->mount.parameters_fragment.fstype, "Mount" }, { "TimeoutSec", config_parse_usec, &u->mount.timeout_usec, "Mount" }, { "KillMode", config_parse_kill_mode, &u->mount.kill_mode, "Mount" }, + { "DirectoryMode", config_parse_mode, &u->mount.directory_mode, "Mount" }, EXEC_CONTEXT_CONFIG_ITEMS(u->mount.exec_context, "Mount"), { "Where", config_parse_path, &u->automount.where, "Automount" }, + { "DirectoryMode", config_parse_mode, &u->automount.directory_mode, "Automount" }, { "What", config_parse_path, &u->swap.parameters_fragment.what, "Swap" }, { "Priority", config_parse_int, &u->swap.parameters_fragment.priority, "Swap" },