root/build2/src/core/load-fragment-gperf.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. load_fragment_gperf_hash
  2. load_fragment_gperf_lookup

/* ANSI-C code produced by gperf version 3.0.4 */
/* Command-line: gperf  */
/* Computed positions: -k'3,9,12,15,$' */

#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
/* The character set is not based on ISO-646.  */
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
#endif


#include <stddef.h>
#include "conf-parser.h"
#include "load-fragment.h"
#include "missing.h"
#include <string.h>

#define TOTAL_KEYWORDS 565
#define MIN_WORD_LENGTH 9
#define MAX_WORD_LENGTH 32
#define MIN_HASH_VALUE 26
#define MAX_HASH_VALUE 1855
/* maximum key range = 1830, duplicates = 0 */

#ifdef __GNUC__
__inline
#else
#ifdef __cplusplus
inline
#endif
#endif
static unsigned int
load_fragment_gperf_hash (register const char *str, register unsigned int len)
{
  static const unsigned short asso_values[] =
    {
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856,    5, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856,  585,  705,  485,  490,  260,
       785,  555,   20,  215,  395,  110,  195,  475,  325,  440,
        45,  640,  530,   35,  190,  525,  230,  130,   20, 1856,
       120, 1856, 1856, 1856, 1856, 1856, 1856,   25,  275,    0,
       180,    0,  450,  295,  305,   25,  105,  570,  220,   85,
       145,  145,   65,  810,   15,   10,    0,   35,  530,  565,
       340,   40,  315, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
      1856, 1856, 1856, 1856, 1856, 1856, 1856
    };
  register int hval = len;

  switch (hval)
    {
      default:
        hval += asso_values[(unsigned char)str[14]];
      /*FALLTHROUGH*/
      case 14:
      case 13:
      case 12:
        hval += asso_values[(unsigned char)str[11]];
      /*FALLTHROUGH*/
      case 11:
      case 10:
      case 9:
        hval += asso_values[(unsigned char)str[8]+1];
      /*FALLTHROUGH*/
      case 8:
      case 7:
      case 6:
      case 5:
      case 4:
      case 3:
        hval += asso_values[(unsigned char)str[2]];
        break;
    }
  return hval + asso_values[(unsigned char)str[len - 1]];
}

#ifdef __GNUC__
__inline
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
__attribute__ ((__gnu_inline__))
#endif
#endif
const struct ConfigPerfItem *
load_fragment_gperf_lookup (register const char *str, register unsigned int len)
{
  static const struct ConfigPerfItem wordlist[] =
    {
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Socket.User",                         config_parse_unit_string_printf,    0,                             offsetof(Socket, exec_context.user)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Path.Unit",                       config_parse_trigger_unit,          0,                             0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.ProtectHome",                  config_parse_protect_home,          0,                             offsetof(Socket, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.Transparent",              config_parse_bool,                  0,                             offsetof(Socket, transparent)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Swap.User",                         config_parse_unit_string_printf,    0,                             offsetof(Swap, exec_context.user)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Service.Restart",                 config_parse_service_restart,       0,                             offsetof(Service, restart)},
      {"Socket.OOMScoreAdjust",               config_parse_exec_oom_score_adjust, 0,                             offsetof(Socket, exec_context)},
      {(char*)0},
      {"Service.RestartSec",              config_parse_sec,                   0,                             offsetof(Service, restart_usec)},
      {"Swap.What",                       config_parse_path,                  0,                             offsetof(Swap, parameters_fragment.what)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.TTYReset",                     config_parse_bool,                  0,                             offsetof(Swap, exec_context.tty_reset)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.RuntimeDirectoryMode",         config_parse_mode,                  0,                             offsetof(Service, exec_context.runtime_directory_mode)},
      {(char*)0},
      {"Unit.Wants",                      config_parse_unit_deps,             UNIT_WANTS,                    0},
      {(char*)0}, {(char*)0},
      {"Automount.DirectoryMode",         config_parse_mode,                  0,                             offsetof(Automount, directory_mode)},
      {(char*)0},
      {"Path.PathExists",                 config_parse_path_spec,             0,                             0},
      {(char*)0}, {(char*)0},
      {"Unit.ConditionHost",              config_parse_unit_condition_string, CONDITION_HOST,                0},
      {(char*)0},
      {"Service.RestartForceExitStatus",  config_parse_set_status,            0,                             offsetof(Service, restart_force_status)},
      {"Service.RestrictAddressFamilies",      config_parse_address_families,      0,                             offsetof(Service, exec_context)},
      {"Service.RestartPreventExitStatus", config_parse_set_status,           0,                             offsetof(Service, restart_prevent_status)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.Slice",                       config_parse_unit_slice,            0,                             0},
      {(char*)0}, {(char*)0},
      {"Swap.RuntimeDirectoryMode",         config_parse_mode,                  0,                             offsetof(Swap, exec_context.runtime_directory_mode)},
      {"Unit.Before",                     config_parse_unit_deps,             UNIT_BEFORE,                   0},
      {(char*)0}, {(char*)0},
      {"Mount.DirectoryMode",             config_parse_mode,                  0,                             offsetof(Mount, directory_mode)},
      {(char*)0},
      {"Swap.Personality",                  config_parse_personality,           0,                             offsetof(Swap, exec_context.personality)},
      {"Socket.SocketUser",               config_parse_unit_string_printf,    0,                             offsetof(Socket, user)},
      {(char*)0},
      {"Socket.ExecStartPre",             config_parse_exec,                  SOCKET_EXEC_START_PRE,         offsetof(Socket, exec_command)},
      {"Socket.ExecStartPost",            config_parse_exec,                  SOCKET_EXEC_START_POST,        offsetof(Socket, exec_command)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.RuntimeDirectory",             config_parse_runtime_directory,     0,                             offsetof(Service, exec_context.runtime_directory)},
      {(char*)0},
      {"Socket.Nice",                         config_parse_exec_nice,             0,                             offsetof(Socket, exec_context)},
      {"Socket.MountFlags",                   config_parse_exec_mount_flags,      0,                             offsetof(Socket, exec_context)},
      {(char*)0}, {(char*)0},
      {"Socket.Priority",                 config_parse_int,                   0,                             offsetof(Socket, priority)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Unit.ConditionPathIsReadWrite",   config_parse_unit_condition_path,   CONDITION_PATH_IS_READ_WRITE,  0},
      {"Unit.ConditionPathIsMountPoint",  config_parse_unit_condition_path,   CONDITION_PATH_IS_MOUNT_POINT, 0},
      {"Service.RootDirectory",                config_parse_unit_path_printf,      0,                             offsetof(Service, exec_context.root_directory)},
      {(char*)0}, {(char*)0},
      {"Unit.ConditionPathExists",        config_parse_unit_condition_path,   CONDITION_PATH_EXISTS,         0},
      {"Socket.ListenMessageQueue",       config_parse_socket_listen,         SOCKET_MQUEUE,                 0},
      {(char*)0},
      {"Service.OOMScoreAdjust",               config_parse_exec_oom_score_adjust, 0,                             offsetof(Service, exec_context)},
      {"Swap.RootDirectory",                config_parse_unit_path_printf,      0,                             offsetof(Swap, exec_context.root_directory)},
      {"Socket.ListenSequentialPacket",   config_parse_socket_listen,         SOCKET_SOCKET,                 0},
      {"Service.RootDirectoryStartOnly",  config_parse_bool,                  0,                             offsetof(Service, root_directory_start_only)},
      {"Swap.RuntimeDirectory",             config_parse_runtime_directory,     0,                             offsetof(Swap, exec_context.runtime_directory)},
      {(char*)0},
      {"Install.RequiredBy",              NULL,                               0,                             0},
      {(char*)0},
      {"Socket.DirectoryMode",            config_parse_mode,                  0,                             offsetof(Socket, directory_mode)},
      {"Slice.Slice",                       config_parse_unit_slice,            0,                             0},
      {"Unit.AllowIsolate",               config_parse_bool,                  0,                             offsetof(Unit, allow_isolate)},
      {"Swap.Priority",                   config_parse_int,                   0,                             offsetof(Swap, parameters_fragment.priority)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Unit.ConditionSecurity",          config_parse_unit_condition_string, CONDITION_SECURITY,            0},
      {"Service.Group",                        config_parse_unit_string_printf,    0,                             offsetof(Service, exec_context.group)},
      {(char*)0},
      {"Socket.ProtectSystem",                config_parse_protect_system,        0,                             offsetof(Socket, exec_context)},
      {"Mount.Slice",                       config_parse_unit_slice,            0,                             0},
      {"Socket.Group",                        config_parse_unit_string_printf,    0,                             offsetof(Socket, exec_context.group)},
      {(char*)0},
      {"Socket.LimitAS",                      config_parse_limit,                 RLIMIT_AS,                     offsetof(Socket, exec_context.rlimit)},
      {"Socket.PipeSize",                 config_parse_iec_size,              0,                             offsetof(Socket, pipe_size)},
      {(char*)0}, {(char*)0},
      {"Socket.ExecStopPre",              config_parse_exec,                  SOCKET_EXEC_STOP_PRE,          offsetof(Socket, exec_command)},
      {"Socket.ExecStopPost",             config_parse_exec,                  SOCKET_EXEC_STOP_POST,         offsetof(Socket, exec_command)},
      {(char*)0},
      {"Swap.ProtectHome",                  config_parse_protect_home,          0,                             offsetof(Swap, exec_context)},
      {"Swap.Options",                    config_parse_string,                0,                             offsetof(Swap, parameters_fragment.options)},
      {"Socket.SocketGroup",              config_parse_unit_string_printf,    0,                             offsetof(Socket, group)},
      {"Unit.ConditionPathIsDirectory",   config_parse_unit_condition_path,   CONDITION_PATH_IS_DIRECTORY,   0},
      {(char*)0},
      {"Socket.TimerSlackNSec",               config_parse_nsec,                  0,                             offsetof(Socket, exec_context.timer_slack_nsec)},
      {(char*)0}, {(char*)0},
      {"Mount.SloppyOptions",             config_parse_bool,                  0,                             offsetof(Mount, sloppy_options)},
      {"Mount.PrivateDevices",               config_parse_bool,                  0,                             offsetof(Mount, exec_context.private_devices)},
      {(char*)0}, {(char*)0},
      {"Swap.ProtectSystem",                config_parse_protect_system,        0,                             offsetof(Swap, exec_context)},
      {(char*)0}, {(char*)0},
      {"Mount.Group",                        config_parse_unit_string_printf,    0,                             offsetof(Mount, exec_context.group)},
      {(char*)0}, {(char*)0},
      {"Mount.TTYReset",                     config_parse_bool,                  0,                             offsetof(Mount, exec_context.tty_reset)},
      {(char*)0},
      {"Unit.BindTo",                     config_parse_unit_deps,             UNIT_BINDS_TO,                 0},
      {(char*)0}, {(char*)0},
      {"Mount.RootDirectory",                config_parse_unit_path_printf,      0,                             offsetof(Mount, exec_context.root_directory)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Socket.LimitRSS",                     config_parse_limit,                 RLIMIT_RSS,                    offsetof(Socket, exec_context.rlimit)},
      {"Unit.ConditionKernelCommandLine", config_parse_unit_condition_string, CONDITION_KERNEL_COMMAND_LINE, 0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.InaccessibleDirectories",      config_parse_namespace_path_strv,   0,                             offsetof(Socket, exec_context.inaccessible_dirs)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.WatchdogSec",             config_parse_sec,                   0,                             offsetof(Service, watchdog_usec)},
      {"Timer.Unit",                      config_parse_trigger_unit,          0,                             0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.ListenStream",             config_parse_socket_listen,         SOCKET_SOCKET,                 0},
      {(char*)0}, {(char*)0},
      {"Swap.LimitAS",                      config_parse_limit,                 RLIMIT_AS,                     offsetof(Swap, exec_context.rlimit)},
      {"Swap.LimitRSS",                     config_parse_limit,                 RLIMIT_RSS,                    offsetof(Swap, exec_context.rlimit)},
      {(char*)0},
      {"Swap.Slice",                       config_parse_unit_slice,            0,                             0},
      {"Socket.Broadcast",                config_parse_bool,                  0,                             offsetof(Socket, broadcast)},
      {(char*)0},
      {"Service.Slice",                       config_parse_unit_slice,            0,                             0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Mount.Nice",                         config_parse_exec_nice,             0,                             offsetof(Mount, exec_context)},
      {(char*)0},
      {"Socket.SocketMode",               config_parse_mode,                  0,                             offsetof(Socket, socket_mode)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.TimeoutSec",                config_parse_sec,                   0,                             offsetof(Mount, timeout_usec)},
      {(char*)0},
      {"Swap.StandardError",                config_parse_output,                0,                             offsetof(Swap, exec_context.std_error)},
      {(char*)0},
      {"Mount.TimerSlackNSec",               config_parse_nsec,                  0,                             offsetof(Mount, exec_context.timer_slack_nsec)},
      {"Socket.ListenDatagram",           config_parse_socket_listen,         SOCKET_SOCKET,                 0},
      {(char*)0},
      {"Mount.Options",                   config_parse_string,                0,                             offsetof(Mount, parameters_fragment.options)},
      {"Swap.StandardOutput",               config_parse_output,                0,                             offsetof(Swap, exec_context.std_output)},
      {(char*)0},
      {"Mount.SecureBits",                   config_parse_exec_secure_bits,      0,                             offsetof(Mount, exec_context)},
      {(char*)0}, {(char*)0},
      {"Mount.ProtectSystem",                config_parse_protect_system,        0,                             offsetof(Mount, exec_context)},
      {(char*)0},
      {"Path.PathChanged",                config_parse_path_spec,             0,                             0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.SuccessExitStatus",       config_parse_set_status,            0,                             offsetof(Service, success_status)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Swap, cgroup_context.cpu_shares)},
      {(char*)0}, {(char*)0},
      {"Swap.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Swap, cgroup_context.device_policy)},
      {"Socket.Accept",                   config_parse_bool,                  0,                             offsetof(Socket, accept)},
      {(char*)0}, {(char*)0},
      {"Scope.Slice",                       config_parse_unit_slice,            0,                             0},
      {"Mount.ProtectHome",                  config_parse_protect_home,          0,                             offsetof(Mount, exec_context)},
      {"Socket.Environment",                  config_parse_environ,               0,                             offsetof(Socket, exec_context.environment)},
      {(char*)0}, {(char*)0},
      {"Timer.Persistent",                config_parse_bool,                  0,                             offsetof(Timer, persistent)},
      {"Socket.EnvironmentFile",              config_parse_unit_env_file,         0,                             offsetof(Socket, exec_context.environment_files)},
      {"Service.StartLimitBurst",         config_parse_unsigned,              0,                             offsetof(Service, start_limit.burst)},
      {(char*)0},
      {"Swap.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Swap, cgroup_context.startup_blockio_weight)},
      {(char*)0},
      {"Mount.Personality",                  config_parse_personality,           0,                             offsetof(Mount, exec_context.personality)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.WorkingDirectory",            config_parse_unit_path_printf,      0,                             offsetof(Mount, exec_context.working_directory)},
      {"Swap.RestrictAddressFamilies",      config_parse_address_families,      0,                             offsetof(Swap, exec_context)},
      {"Mount.KillMode",                     config_parse_kill_mode,             0,                             offsetof(Mount, kill_context.kill_mode)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.User",                         config_parse_unit_string_printf,    0,                             offsetof(Service, exec_context.user)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Service.ReadWriteDirectories",         config_parse_namespace_path_strv,   0,                             offsetof(Service, exec_context.read_write_dirs)},
      {(char*)0}, {(char*)0},
      {"Mount.TTYVHangup",                   config_parse_bool,                  0,                             offsetof(Mount, exec_context.tty_vhangup)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Socket.TimeoutSec",               config_parse_sec,                   0,                             offsetof(Socket, timeout_usec)},
      {"Swap.KillMode",                     config_parse_kill_mode,             0,                             offsetof(Swap, kill_context.kill_mode)},
      {"Swap.ReadOnlyDirectories",          config_parse_namespace_path_strv,   0,                             offsetof(Swap, exec_context.read_only_dirs)},
      {(char*)0},
      {"Mount.PrivateTmp",                   config_parse_bool,                  0,                             offsetof(Mount, exec_context.private_tmp)},
      {"Socket.PrivateTmp",                   config_parse_bool,                  0,                             offsetof(Socket, exec_context.private_tmp)},
      {(char*)0}, {(char*)0},
      {"Unit.ReloadPropagatedFrom",       config_parse_unit_deps,             UNIT_RELOAD_PROPAGATED_FROM,   0},
      {(char*)0},
      {"Slice.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Slice, cgroup_context)},
      {"Service.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Service, cgroup_context.startup_blockio_weight)},
      {"Socket.BindToDevice",             config_parse_socket_bindtodevice,   0,                             0},
      {"Slice.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Slice, cgroup_context.cpu_shares)},
      {"Mount.RuntimeDirectoryMode",         config_parse_mode,                  0,                             offsetof(Mount, exec_context.runtime_directory_mode)},
      {(char*)0},
      {"Install.DefaultInstance",         NULL,                               0,                             0},
      {"Service.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Service, cgroup_context.startup_cpu_shares)},
      {"Mount.What",                      config_parse_string,                0,                             offsetof(Mount, parameters_fragment.what)},
      {(char*)0},
      {"Mount.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Mount, cgroup_context)},
      {(char*)0},
      {"Slice.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Slice, cgroup_context.blockio_weight)},
      {"Mount.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Mount, cgroup_context.cpu_shares)},
      {"Swap.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Swap, cgroup_context)},
      {"Unit.BindsTo",                    config_parse_unit_deps,             UNIT_BINDS_TO,                 0},
      {(char*)0}, {(char*)0},
      {"Slice.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Slice, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Mount, cgroup_context.blockio_weight)},
      {(char*)0},
      {"Timer.OnUnitActiveSec",           config_parse_timer,                 0,                             0},
      {(char*)0}, {(char*)0},
      {"Socket.NoDelay",                  config_parse_bool,                  0,                             offsetof(Socket, no_delay)},
      {"Mount.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Mount, cgroup_context)},
      {(char*)0},
      {"Timer.AccuracySec",               config_parse_sec,                   0,                             offsetof(Timer, accuracy_usec)},
      {(char*)0},
      {"Unit.Conflicts",                  config_parse_unit_deps,             UNIT_CONFLICTS,                0},
      {"Scope.TimeoutStopSec",            config_parse_sec,                   0,                             offsetof(Scope, timeout_stop_usec)},
      {(char*)0},
      {"Service.UtmpIdentifier",               config_parse_unit_string_printf,    0,                             offsetof(Service, exec_context.utmp_id)},
      {"Swap.StandardInput",                config_parse_input,                 0,                             offsetof(Swap, exec_context.std_input)},
      {"Unit.OnFailure",                  config_parse_unit_deps,             UNIT_ON_FAILURE,               0},
      {(char*)0}, {(char*)0},
      {"Mount.RuntimeDirectory",             config_parse_runtime_directory,     0,                             offsetof(Mount, exec_context.runtime_directory)},
      {(char*)0},
      {"Path.PathExistsGlob",             config_parse_path_spec,             0,                             0},
      {"Automount.Where",                 config_parse_path,                  0,                             offsetof(Automount, where)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Mount.ReadWriteDirectories",         config_parse_namespace_path_strv,   0,                             offsetof(Mount, exec_context.read_write_dirs)},
      {(char*)0},
      {"Timer.OnUnitInactiveSec",         config_parse_timer,                 0,                             0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.SyslogIdentifier",             config_parse_unit_string_printf,    0,                             offsetof(Mount, exec_context.syslog_identifier)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Timer.OnStartupSec",              config_parse_timer,                 0,                             0},
      {"Mount.InaccessibleDirectories",      config_parse_namespace_path_strv,   0,                             offsetof(Mount, exec_context.inaccessible_dirs)},
      {"Socket.Symlinks",                 config_parse_unit_path_strv_printf, 0,                             offsetof(Socket, symlinks)},
      {(char*)0},
      {"Mount.SystemCallFilter",            config_parse_syscall_filter,        0,                             offsetof(Mount, exec_context)},
      {"Socket.SystemCallFilter",            config_parse_syscall_filter,        0,                             offsetof(Socket, exec_context)},
      {"Mount.SystemCallArchitectures",      config_parse_syscall_archs,         0,                             offsetof(Mount, exec_context.syscall_archs)},
      {"Socket.SystemCallArchitectures",      config_parse_syscall_archs,         0,                             offsetof(Socket, exec_context.syscall_archs)},
      {(char*)0},
      {"Mount.SystemCallErrorNumber",        config_parse_syscall_errno,         0,                             offsetof(Mount, exec_context)},
      {"Socket.SystemCallErrorNumber",        config_parse_syscall_errno,         0,                             offsetof(Socket, exec_context)},
      {"Socket.BindIPv6Only",             config_parse_socket_bind,           0,                             0,},
      {(char*)0},
      {"Service.StandardInput",                config_parse_input,                 0,                             offsetof(Service, exec_context.std_input)},
      {"Service.StandardOutput",               config_parse_output,                0,                             offsetof(Service, exec_context.std_output)},
      {(char*)0},
      {"Scope.KillMode",                     config_parse_kill_mode,             0,                             offsetof(Scope, kill_context.kill_mode)},
      {"Mount.SyslogFacility",               config_parse_log_facility,          0,                             offsetof(Mount, exec_context.syslog_priority)},
      {(char*)0},
      {"Service.SupplementaryGroups",          config_parse_strv,                  0,                             offsetof(Service, exec_context.supplementary_groups)},
      {(char*)0}, {(char*)0},
      {"Mount.UtmpIdentifier",               config_parse_unit_string_printf,    0,                             offsetof(Mount, exec_context.utmp_id)},
      {(char*)0}, {(char*)0},
      {"Unit.ConditionPathExistsGlob",    config_parse_unit_condition_path,   CONDITION_PATH_EXISTS_GLOB,    0},
      {"Unit.DefaultDependencies",        config_parse_bool,                  0,                             offsetof(Unit, default_dependencies)},
      {"Unit.ConditionNeedsUpdate",       config_parse_unit_condition_path,   CONDITION_NEEDS_UPDATE,        0},
      {"Service.StandardError",                config_parse_output,                0,                             offsetof(Service, exec_context.std_error)},
      {(char*)0}, {(char*)0},
      {"Socket.PassSecurity",             config_parse_bool,                  0,                             offsetof(Socket, pass_sec)},
      {"Service.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Service, cgroup_context.device_policy)},
      {"Mount.KillSignal",                   config_parse_kill_signal,           0,                             offsetof(Mount, kill_context.kill_signal)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.ListenSpecial",            config_parse_socket_listen,         SOCKET_SPECIAL,                0},
      {(char*)0},
      {"Slice.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Slice, cgroup_context.startup_cpu_shares)},
      {(char*)0},
      {"Service.StartLimitAction",        config_parse_failure_action,        0,                             offsetof(Service, start_limit_action)},
      {"Socket.StandardInput",                config_parse_input,                 0,                             offsetof(Socket, exec_context.std_input)},
      {"Socket.StandardOutput",               config_parse_output,                0,                             offsetof(Socket, exec_context.std_output)},
      {(char*)0}, {(char*)0},
      {"Socket.IOSchedulingClass",            config_parse_exec_io_class,         0,                             offsetof(Socket, exec_context)},
      {(char*)0},
      {"Swap.TTYVTDisallocate",             config_parse_bool,                  0,                             offsetof(Swap, exec_context.tty_vt_disallocate)},
      {"Mount.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Mount, cgroup_context.startup_cpu_shares)},
      {(char*)0}, {(char*)0},
      {"Swap.MountFlags",                   config_parse_exec_mount_flags,      0,                             offsetof(Swap, exec_context)},
      {(char*)0},
      {"Path.PathModified",               config_parse_path_spec,             0,                             0},
      {(char*)0},
      {"Swap.OOMScoreAdjust",               config_parse_exec_oom_score_adjust, 0,                             offsetof(Swap, exec_context)},
      {"Socket.StandardError",                config_parse_output,                0,                             offsetof(Socket, exec_context.std_error)},
      {"Socket.UtmpIdentifier",               config_parse_unit_string_printf,    0,                             offsetof(Socket, exec_context.utmp_id)},
      {"Scope.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Scope, cgroup_context)},
      {(char*)0}, {(char*)0},
      {"Scope.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Scope, cgroup_context.cpu_shares)},
      {"Swap.Environment",                  config_parse_environ,               0,                             offsetof(Swap, exec_context.environment)},
      {(char*)0}, {(char*)0},
      {"Slice.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Slice, cgroup_context)},
      {"Swap.EnvironmentFile",              config_parse_unit_env_file,         0,                             offsetof(Swap, exec_context.environment_files)},
      {(char*)0},
      {"Swap.IOSchedulingClass",            config_parse_exec_io_class,         0,                             offsetof(Swap, exec_context)},
      {(char*)0},
      {"Scope.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Scope, cgroup_context.blockio_weight)},
      {"Swap.TTYVHangup",                   config_parse_bool,                  0,                             offsetof(Swap, exec_context.tty_vhangup)},
      {"Timer.WakeSystem",                config_parse_bool,                  0,                             offsetof(Timer, wake_system)},
      {(char*)0},
      {"Swap.IgnoreSIGPIPE",                config_parse_bool,                  0,                             offsetof(Swap, exec_context.ignore_sigpipe)},
      {"Mount.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Mount, cgroup_context)},
      {"Scope.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Scope, cgroup_context)},
      {"Socket.MaxConnections",           config_parse_unsigned,              0,                             offsetof(Socket, max_connections)},
      {"Socket.IOSchedulingPriority",         config_parse_exec_io_priority,      0,                             offsetof(Socket, exec_context)},
      {"Unit.ConditionVirtualization",    config_parse_unit_condition_string, CONDITION_VIRTUALIZATION,      0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.PAMName",                     config_parse_unit_string_printf,    0,                             offsetof(Mount, exec_context.pam_name)},
      {(char*)0}, {(char*)0},
      {"Service.InaccessibleDirectories",      config_parse_namespace_path_strv,   0,                             offsetof(Service, exec_context.inaccessible_dirs)},
      {"BusName.Name",                    config_parse_string,                0,                             offsetof(BusName, name)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.Nice",                         config_parse_exec_nice,             0,                             offsetof(Service, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Mount.TTYPath",                      config_parse_unit_path_printf,      0,                             offsetof(Mount, exec_context.tty_path)},
      {(char*)0},
      {"Swap.IOSchedulingPriority",         config_parse_exec_io_priority,      0,                             offsetof(Swap, exec_context)},
      {(char*)0},
      {"Swap.PAMName",                     config_parse_unit_string_printf,    0,                             offsetof(Swap, exec_context.pam_name)},
      {"Mount.IOSchedulingClass",            config_parse_exec_io_class,         0,                             offsetof(Mount, exec_context)},
      {(char*)0}, {(char*)0},
      {"Socket.ReusePort",                config_parse_bool,                  0,                             offsetof(Socket, reuse_port)},
      {(char*)0}, {(char*)0},
      {"Swap.Nice",                         config_parse_exec_nice,             0,                             offsetof(Swap, exec_context)},
      {(char*)0},
      {"Socket.DeferAcceptSec",           config_parse_sec,                   0,                             offsetof(Socket, defer_accept)},
      {"Service.ReadOnlyDirectories",          config_parse_namespace_path_strv,   0,                             offsetof(Service, exec_context.read_only_dirs)},
      {(char*)0},
      {"Socket.Service",                  config_parse_socket_service,        0,                             0},
      {"Swap.TimeoutSec",                 config_parse_sec,                   0,                             offsetof(Swap, timeout_usec)},
      {"Service.StartLimitInterval",      config_parse_sec,                   0,                             offsetof(Service, start_limit.interval)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.Where",                     config_parse_path,                  0,                             offsetof(Mount, where)},
      {(char*)0}, {(char*)0},
      {"Swap.CPUSchedulingPolicy",          config_parse_exec_cpu_sched_policy, 0,                             offsetof(Swap, exec_context)},
      {"Unit.After",                      config_parse_unit_deps,             UNIT_AFTER,                    0},
      {"Swap.CPUSchedulingPriority",        config_parse_exec_cpu_sched_prio,   0,                             offsetof(Swap, exec_context)},
      {(char*)0},
      {"Service.NoNewPrivileges",              config_parse_no_new_privileges,     0,                             offsetof(Service, exec_context)},
      {(char*)0},
      {"Socket.RestrictAddressFamilies",      config_parse_address_families,      0,                             offsetof(Socket, exec_context)},
      {"Swap.SyslogIdentifier",             config_parse_unit_string_printf,    0,                             offsetof(Swap, exec_context.syslog_identifier)},
      {(char*)0},
      {"Socket.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Socket, cgroup_context)},
      {(char*)0},
      {"Mount.User",                         config_parse_unit_string_printf,    0,                             offsetof(Mount, exec_context.user)},
      {"Mount.IOSchedulingPriority",         config_parse_exec_io_priority,      0,                             offsetof(Mount, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Scope.KillSignal",                   config_parse_kill_signal,           0,                             offsetof(Scope, kill_context.kill_signal)},
      {"Socket.SecureBits",                   config_parse_exec_secure_bits,      0,                             offsetof(Socket, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Unit.PartOf",                     config_parse_unit_deps,             UNIT_PART_OF,                  0},
      {"Socket.KillSignal",                   config_parse_kill_signal,           0,                             offsetof(Socket, kill_context.kill_signal)},
      {"Path.MakeDirectory",              config_parse_bool,                  0,                             offsetof(Path, make_directory)},
      {(char*)0},
      {"Service.SysVStartPriority",      config_parse_sysv_priority,         0,                             offsetof(Service, sysv_start_priority)},
      {(char*)0},
      {"Slice.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Slice, cgroup_context.memory_accounting)},
      {"Swap.InaccessibleDirectories",      config_parse_namespace_path_strv,   0,                             offsetof(Swap, exec_context.inaccessible_dirs)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Scope.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Scope, cgroup_context.startup_cpu_shares)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.LimitLOCKS",                   config_parse_limit,                 RLIMIT_LOCKS,                  offsetof(Mount, exec_context.rlimit)},
      {"Mount.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Mount, cgroup_context.memory_accounting)},
      {(char*)0}, {(char*)0},
      {"Socket.TTYReset",                     config_parse_bool,                  0,                             offsetof(Socket, exec_context.tty_reset)},
      {"Swap.SyslogLevel",                  config_parse_log_level,             0,                             offsetof(Swap, exec_context.syslog_priority)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.NoNewPrivileges",              config_parse_no_new_privileges,     0,                             offsetof(Swap, exec_context)},
      {"Socket.SyslogFacility",               config_parse_log_facility,          0,                             offsetof(Socket, exec_context.syslog_priority)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Service.Type",                    config_parse_service_type,          0,                             offsetof(Service, type)},
      {"Socket.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Socket, cgroup_context.startup_cpu_shares)},
      {(char*)0},
      {"Swap.LimitSTACK",                   config_parse_limit,                 RLIMIT_STACK,                  offsetof(Swap, exec_context.rlimit)},
      {"Socket.PrivateDevices",               config_parse_bool,                  0,                             offsetof(Socket, exec_context.private_devices)},
      {(char*)0},
      {"Service.TimeoutSec",              config_parse_service_timeout,       0,                             offsetof(Service, timeout_start_usec)},
      {"Scope.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Scope, cgroup_context)},
      {"Unit.IgnoreOnIsolate",            config_parse_bool,                  0,                             offsetof(Unit, ignore_on_isolate)},
      {(char*)0},
      {"Service.TimeoutStopSec",          config_parse_service_timeout,       0,                             offsetof(Service, timeout_stop_usec)},
      {"Service.TimeoutStartSec",         config_parse_service_timeout,       0,                             offsetof(Service, timeout_start_usec)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.SendSIGHUP",                   config_parse_bool,                  0,                             offsetof(Socket, kill_context.send_sighup)},
      {"Unit.JobTimeoutSec",              config_parse_sec,                   0,                             offsetof(Unit, job_timeout)},
      {"Mount.StandardInput",                config_parse_input,                 0,                             offsetof(Mount, exec_context.std_input)},
      {(char*)0},
      {"Unit.OnFailureIsolate",           config_parse_job_mode_isolate,      0,                             offsetof(Unit, on_failure_job_mode)},
      {"Swap.Capabilities",                 config_parse_exec_capabilities,     0,                             offsetof(Swap, exec_context)},
      {"Socket.LimitRTTIME",                  config_parse_limit,                 RLIMIT_RTTIME,                 offsetof(Socket, exec_context.rlimit)},
      {(char*)0},
      {"Swap.ReadWriteDirectories",         config_parse_namespace_path_strv,   0,                             offsetof(Swap, exec_context.read_write_dirs)},
      {"Unit.Description",                config_parse_unit_string_printf,    0,                             offsetof(Unit, description)},
      {(char*)0},
      {"Unit.Requires",                   config_parse_unit_deps,             UNIT_REQUIRES,                 0},
      {"Unit.JobTimeoutRebootArgument",   config_parse_string,                0,                             offsetof(Unit, job_timeout_reboot_arg)},
      {"Service.GuessMainPID",            config_parse_bool,                  0,                             offsetof(Service, guess_main_pid)},
      {"Slice.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Slice, cgroup_context.startup_blockio_weight)},
      {"Service.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Service, cgroup_context.cpu_shares)},
      {(char*)0}, {(char*)0},
      {"Timer.OnBootSec",                 config_parse_timer,                 0,                             0},
      {"Swap.CapabilityBoundingSet",        config_parse_bounding_set,          0,                             offsetof(Swap, exec_context.capability_bounding_set_drop)},
      {"BusName.SELinuxContext",          config_parse_exec_selinux_context,  0,                             0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Mount, cgroup_context.startup_blockio_weight)},
      {"Service.SELinuxContext",              config_parse_exec_selinux_context,  0,                             offsetof(Service, exec_context)},
      {"Swap.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Swap, cgroup_context)},
      {"Unit.Requisite",                  config_parse_unit_deps,             UNIT_REQUISITE,                0},
      {"Socket.KillMode",                     config_parse_kill_mode,             0,                             offsetof(Socket, kill_context.kill_mode)},
      {(char*)0},
      {"Socket.LimitFSIZE",                   config_parse_limit,                 RLIMIT_FSIZE,                  offsetof(Socket, exec_context.rlimit)},
      {(char*)0},
      {"Unit.ConditionCapability",        config_parse_unit_condition_string, CONDITION_CAPABILITY,          0},
      {"Service.LimitAS",                      config_parse_limit,                 RLIMIT_AS,                     offsetof(Service, exec_context.rlimit)},
      {"Service.LimitRSS",                     config_parse_limit,                 RLIMIT_RSS,                    offsetof(Service, exec_context.rlimit)},
      {(char*)0},
      {"Socket.CapabilityBoundingSet",        config_parse_bounding_set,          0,                             offsetof(Socket, exec_context.capability_bounding_set_drop)},
      {"Socket.Capabilities",                 config_parse_exec_capabilities,     0,                             offsetof(Socket, exec_context)},
      {"Swap.UMask",                        config_parse_mode,                  0,                             offsetof(Swap, exec_context.umask)},
      {(char*)0},
      {"Service.CPUSchedulingPolicy",          config_parse_exec_cpu_sched_policy, 0,                             offsetof(Service, exec_context)},
      {"Socket.LimitRTPRIO",                  config_parse_limit,                 RLIMIT_RTPRIO,                 offsetof(Socket, exec_context.rlimit)},
      {"Service.CPUSchedulingPriority",        config_parse_exec_cpu_sched_prio,   0,                             offsetof(Service, exec_context)},
      {(char*)0},
      {"Unit.ConditionDirectoryNotEmpty", config_parse_unit_condition_path,   CONDITION_DIRECTORY_NOT_EMPTY, 0},
      {(char*)0},
      {"Unit.ConditionNull",              config_parse_unit_condition_null,   0,                             0},
      {(char*)0},
      {"Socket.RootDirectory",                config_parse_unit_path_printf,      0,                             offsetof(Socket, exec_context.root_directory)},
      {"Swap.WorkingDirectory",            config_parse_unit_path_printf,      0,                             offsetof(Swap, exec_context.working_directory)},
      {"Socket.ReadWriteDirectories",         config_parse_namespace_path_strv,   0,                             offsetof(Socket, exec_context.read_write_dirs)},
      {(char*)0},
      {"Swap.LimitNICE",                    config_parse_limit,                 RLIMIT_NICE,                   offsetof(Swap, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Slice.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Slice, cgroup_context.blockio_accounting)},
      {(char*)0},
      {"Service.IOSchedulingClass",            config_parse_exec_io_class,         0,                             offsetof(Service, exec_context)},
      {"Service.KillMode",                     config_parse_kill_mode,             0,                             offsetof(Service, kill_context.kill_mode)},
      {"Service.BusPolicy",              config_parse_warn_compat,           0,                             0},
      {(char*)0},
      {"Mount.StandardError",                config_parse_output,                0,                             offsetof(Mount, exec_context.std_error)},
      {"Swap.Group",                        config_parse_unit_string_printf,    0,                             offsetof(Swap, exec_context.group)},
      {"Timer.OnCalendar",                config_parse_timer,                 0,                             0},
      {(char*)0},
      {"Mount.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Mount, cgroup_context.blockio_accounting)},
      {"Swap.SELinuxContext",              config_parse_exec_selinux_context,  0,                             offsetof(Swap, exec_context)},
      {(char*)0},
      {"Slice.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Slice, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Socket.LimitLOCKS",                   config_parse_limit,                 RLIMIT_LOCKS,                  offsetof(Socket, exec_context.rlimit)},
      {"Socket.WorkingDirectory",            config_parse_unit_path_printf,      0,                             offsetof(Socket, exec_context.working_directory)},
      {(char*)0}, {(char*)0},
      {"Mount.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Mount, cgroup_context)},
      {"Scope.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Scope, cgroup_context.memory_accounting)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Slice.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Slice, cgroup_context)},
      {(char*)0},
      {"Socket.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Socket, cgroup_context.device_policy)},
      {"Swap.LimitLOCKS",                   config_parse_limit,                 RLIMIT_LOCKS,                  offsetof(Swap, exec_context.rlimit)},
      {"Swap.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Swap, cgroup_context.startup_cpu_shares)},
      {(char*)0},
      {"Service.IOSchedulingPriority",         config_parse_exec_io_priority,      0,                             offsetof(Service, exec_context)},
      {(char*)0}, {(char*)0},
      {"Unit.ConditionArchitecture",      config_parse_unit_condition_string, CONDITION_ARCHITECTURE,        0},
      {"Mount.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Mount, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.SyslogLevelPrefix",            config_parse_bool,                  0,                             offsetof(Swap, exec_context.syslog_level_prefix)},
      {(char*)0}, {(char*)0},
      {"Mount.CPUSchedulingPolicy",          config_parse_exec_cpu_sched_policy, 0,                             offsetof(Mount, exec_context)},
      {"Unit.ConditionACPower",           config_parse_unit_condition_string, CONDITION_AC_POWER,            0},
      {"Mount.CPUSchedulingPriority",        config_parse_exec_cpu_sched_prio,   0,                             offsetof(Mount, exec_context)},
      {(char*)0},
      {"Service.ProtectHome",                  config_parse_protect_home,          0,                             offsetof(Service, exec_context)},
      {(char*)0},
      {"Unit.JoinsNamespaceOf",           config_parse_unit_deps,             UNIT_JOINS_NAMESPACE_OF,       0},
      {(char*)0},
      {"Socket.SyslogIdentifier",             config_parse_unit_string_printf,    0,                             offsetof(Socket, exec_context.syslog_identifier)},
      {"Service.SyslogIdentifier",             config_parse_unit_string_printf,    0,                             offsetof(Service, exec_context.syslog_identifier)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.RemainAfterExit",         config_parse_bool,                  0,                             offsetof(Service, remain_after_exit)},
      {"Mount.RestrictAddressFamilies",      config_parse_address_families,      0,                             offsetof(Mount, exec_context)},
      {"Swap.SendSIGHUP",                   config_parse_bool,                  0,                             offsetof(Swap, kill_context.send_sighup)},
      {(char*)0},
      {"Socket.NoNewPrivileges",              config_parse_no_new_privileges,     0,                             offsetof(Socket, exec_context)},
      {"Swap.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Swap, cgroup_context.blockio_weight)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.TTYVTDisallocate",             config_parse_bool,                  0,                             offsetof(Mount, exec_context.tty_vt_disallocate)},
      {(char*)0}, {(char*)0},
      {"Socket.ListenNetlink",            config_parse_socket_listen,         SOCKET_SOCKET,                 0},
      {"Unit.IgnoreOnSnapshot",           config_parse_bool,                  0,                             offsetof(Unit, ignore_on_snapshot)},
      {"Unit.ConditionPathIsSymbolicLink",config_parse_unit_condition_path,   CONDITION_PATH_IS_SYMBOLIC_LINK,0},
      {"Socket.SyslogLevel",                  config_parse_log_level,             0,                             offsetof(Socket, exec_context.syslog_priority)},
      {"Service.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Service, cgroup_context)},
      {"Swap.LimitFSIZE",                   config_parse_limit,                 RLIMIT_FSIZE,                  offsetof(Swap, exec_context.rlimit)},
      {"Scope.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Scope, cgroup_context.startup_blockio_weight)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Unit.SourcePath",                 config_parse_path,                  0,                             offsetof(Unit, source_path)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.LimitMEMLOCK",                 config_parse_limit,                 RLIMIT_MEMLOCK,                offsetof(Socket, exec_context.rlimit)},
      {"Mount.SELinuxContext",              config_parse_exec_selinux_context,  0,                             offsetof(Mount, exec_context)},
      {(char*)0}, {(char*)0},
      {"Swap.LimitCPU",                     config_parse_limit,                 RLIMIT_CPU,                    offsetof(Swap, exec_context.rlimit)},
      {"Slice.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Slice, cgroup_context.cpu_accounting)},
      {(char*)0},
      {"Unit.JobTimeoutAction",           config_parse_failure_action,        0,                             offsetof(Unit, job_timeout_action)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Socket.IPTOS",                    config_parse_ip_tos,                0,                             offsetof(Socket, ip_tos)},
      {(char*)0},
      {"Mount.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Mount, cgroup_context.cpu_accounting)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.SystemCallFilter",            config_parse_syscall_filter,        0,                             offsetof(Service, exec_context)},
      {"Mount.PrivateNetwork",               config_parse_bool,                  0,                             offsetof(Mount, exec_context.private_network)},
      {"Service.SystemCallArchitectures",      config_parse_syscall_archs,         0,                             offsetof(Service, exec_context.syscall_archs)},
      {(char*)0},
      {"Service.MountFlags",                   config_parse_exec_mount_flags,      0,                             offsetof(Service, exec_context)},
      {"Service.SystemCallErrorNumber",        config_parse_syscall_errno,         0,                             offsetof(Service, exec_context)},
      {"Swap.PrivateTmp",                   config_parse_bool,                  0,                             offsetof(Swap, exec_context.private_tmp)},
      {(char*)0},
      {"Unit.RequiresMountsFor",          config_parse_unit_requires_mounts_for, 0,                          0},
      {(char*)0}, {(char*)0},
      {"Socket.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Socket, cgroup_context)},
      {(char*)0}, {(char*)0},
      {"Scope.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Scope, cgroup_context.blockio_accounting)},
      {"Socket.PAMName",                     config_parse_unit_string_printf,    0,                             offsetof(Socket, exec_context.pam_name)},
      {"BusName.Service",                 config_parse_busname_service,       0,                             0},
      {(char*)0}, {(char*)0},
      {"Socket.TTYVTDisallocate",             config_parse_bool,                  0,                             offsetof(Socket, exec_context.tty_vt_disallocate)},
      {"Service.Personality",                  config_parse_personality,           0,                             offsetof(Service, exec_context.personality)},
      {(char*)0},
      {"Unit.OnFailureJobMode",           config_parse_job_mode,              0,                             offsetof(Unit, on_failure_job_mode)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Scope.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Scope, cgroup_context)},
      {(char*)0}, {(char*)0},
      {"Mount.LimitRSS",                     config_parse_limit,                 RLIMIT_RSS,                    offsetof(Mount, exec_context.rlimit)},
      {(char*)0},
      {"Service.ProtectSystem",                config_parse_protect_system,        0,                             offsetof(Service, exec_context)},
      {"Mount.Environment",                  config_parse_environ,               0,                             offsetof(Mount, exec_context.environment)},
      {"Install.Alias",                   NULL,                               0,                             0},
      {(char*)0}, {(char*)0},
      {"Mount.EnvironmentFile",              config_parse_unit_env_file,         0,                             offsetof(Mount, exec_context.environment_files)},
      {"Socket.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Socket, cgroup_context.startup_blockio_weight)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Scope.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Scope, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.ListenFIFO",               config_parse_socket_listen,         SOCKET_FIFO,                   0},
      {(char*)0},
      {"Service.CapabilityBoundingSet",        config_parse_bounding_set,          0,                             offsetof(Service, exec_context.capability_bounding_set_drop)},
      {"Service.Capabilities",                 config_parse_exec_capabilities,     0,                             offsetof(Service, exec_context)},
      {(char*)0},
      {"Service.TimerSlackNSec",               config_parse_nsec,                  0,                             offsetof(Service, exec_context.timer_slack_nsec)},
      {"Socket.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Socket, cgroup_context.memory_accounting)},
      {(char*)0}, {(char*)0},
      {"Socket.SupplementaryGroups",          config_parse_strv,                  0,                             offsetof(Socket, exec_context.supplementary_groups)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Install.WantedBy",                NULL,                               0,                             0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.StandardOutput",               config_parse_output,                0,                             offsetof(Mount, exec_context.std_output)},
      {(char*)0},
      {"Mount.CPUAffinity",                  config_parse_exec_cpu_affinity,     0,                             offsetof(Mount, exec_context)},
      {(char*)0}, {(char*)0},
      {"Socket.TCPCongestion",            config_parse_string,                0,                             offsetof(Socket, tcp_congestion)},
      {"Swap.SystemCallFilter",            config_parse_syscall_filter,        0,                             offsetof(Swap, exec_context)},
      {"Service.RebootArgument",          config_parse_string,                0,                             offsetof(Service, reboot_arg)},
      {"Swap.SystemCallArchitectures",      config_parse_syscall_archs,         0,                             offsetof(Swap, exec_context.syscall_archs)},
      {"Socket.Backlog",                  config_parse_unsigned,              0,                             offsetof(Socket, backlog)},
      {"Socket.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Socket, cgroup_context.blockio_weight)},
      {"Swap.SystemCallErrorNumber",        config_parse_syscall_errno,         0,                             offsetof(Swap, exec_context)},
      {(char*)0},
      {"Socket.SendSIGKILL",                 config_parse_bool,                  0,                             offsetof(Socket, kill_context.send_sigkill)},
      {(char*)0},
      {"Service.Sockets",                 config_parse_service_sockets,       0,                             0},
      {"Swap.CPUAffinity",                  config_parse_exec_cpu_affinity,     0,                             offsetof(Swap, exec_context)},
      {(char*)0},
      {"Mount.LimitAS",                      config_parse_limit,                 RLIMIT_AS,                     offsetof(Mount, exec_context.rlimit)},
      {(char*)0},
      {"Socket.IgnoreSIGPIPE",                config_parse_bool,                  0,                             offsetof(Socket, exec_context.ignore_sigpipe)},
      {(char*)0},
      {"Socket.LimitSTACK",                   config_parse_limit,                 RLIMIT_STACK,                  offsetof(Socket, exec_context.rlimit)},
      {"Service.PermissionsStartOnly",    config_parse_bool,                  0,                             offsetof(Service, permissions_start_only)},
      {"Service.TTYVTDisallocate",             config_parse_bool,                  0,                             offsetof(Service, exec_context.tty_vt_disallocate)},
      {(char*)0}, {(char*)0},
      {"Mount.SendSIGKILL",                 config_parse_bool,                  0,                             offsetof(Mount, kill_context.send_sigkill)},
      {(char*)0},
      {"Socket.SyslogLevelPrefix",            config_parse_bool,                  0,                             offsetof(Socket, exec_context.syslog_level_prefix)},
      {(char*)0},
      {"Mount.LimitSTACK",                   config_parse_limit,                 RLIMIT_STACK,                  offsetof(Mount, exec_context.rlimit)},
      {(char*)0},
      {"Service.LimitFSIZE",                   config_parse_limit,                 RLIMIT_FSIZE,                  offsetof(Service, exec_context.rlimit)},
      {(char*)0}, {(char*)0},
      {"Service.LimitMSGQUEUE",                config_parse_limit,                 RLIMIT_MSGQUEUE,               offsetof(Service, exec_context.rlimit)},
      {(char*)0},
      {"Service.LimitSTACK",                   config_parse_limit,                 RLIMIT_STACK,                  offsetof(Service, exec_context.rlimit)},
      {"Scope.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Scope, cgroup_context.cpu_accounting)},
      {(char*)0},
      {"Mount.LimitSIGPENDING",              config_parse_limit,                 RLIMIT_SIGPENDING,             offsetof(Mount, exec_context.rlimit)},
      {(char*)0},
      {"Service.UMask",                        config_parse_mode,                  0,                             offsetof(Service, exec_context.umask)},
      {(char*)0},
      {"Service.BusName",                 config_parse_unit_string_printf,    0,                             offsetof(Service, bus_name)},
      {(char*)0},
      {"Service.ExecStart",               config_parse_exec,                  SERVICE_EXEC_START,            offsetof(Service, exec_command)},
      {(char*)0},
      {"Swap.LimitCORE",                    config_parse_limit,                 RLIMIT_CORE,                   offsetof(Swap, exec_context.rlimit)},
      {"Service.ExecStartPre",            config_parse_exec,                  SERVICE_EXEC_START_PRE,        offsetof(Service, exec_command)},
      {"Service.ExecStartPost",           config_parse_exec,                  SERVICE_EXEC_START_POST,       offsetof(Service, exec_command)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.Type",                      config_parse_string,                0,                             offsetof(Mount, parameters_fragment.fstype)},
      {"Socket.Mark",                     config_parse_int,                   0,                             offsetof(Socket, mark)},
      {(char*)0},
      {"Unit.ConditionFirstBoot",         config_parse_unit_condition_string, CONDITION_FIRST_BOOT,          0},
      {"Service.SyslogLevel",                  config_parse_log_level,             0,                             offsetof(Service, exec_context.syslog_priority)},
      {"Swap.KillSignal",                   config_parse_kill_signal,           0,                             offsetof(Swap, kill_context.kill_signal)},
      {(char*)0},
      {"Socket.AppArmorProfile",              config_parse_warn_compat,          0,                             0},
      {"Unit.Documentation",              config_parse_documentation,         0,                             offsetof(Unit, documentation)},
      {(char*)0},
      {"Unit.ConditionFileIsExecutable",  config_parse_unit_condition_path,   CONDITION_FILE_IS_EXECUTABLE,  0},
      {"Socket.LimitNICE",                    config_parse_limit,                 RLIMIT_NICE,                   offsetof(Socket, exec_context.rlimit)},
      {"Timer.OnActiveSec",               config_parse_timer,                 0,                             0},
      {"Slice.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Slice, cgroup_context.device_policy)},
      {"Socket.TTYPath",                      config_parse_unit_path_printf,      0,                             offsetof(Socket, exec_context.tty_path)},
      {(char*)0},
      {"Service.IgnoreSIGPIPE",                config_parse_bool,                  0,                             offsetof(Service, exec_context.ignore_sigpipe)},
      {(char*)0},
      {"Socket.Personality",                  config_parse_personality,           0,                             offsetof(Socket, exec_context.personality)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Mount, cgroup_context.device_policy)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.CPUSchedulingPolicy",          config_parse_exec_cpu_sched_policy, 0,                             offsetof(Socket, exec_context)},
      {(char*)0},
      {"Socket.CPUSchedulingPriority",        config_parse_exec_cpu_sched_prio,   0,                             offsetof(Socket, exec_context)},
      {(char*)0}, {(char*)0},
      {"Mount.UMask",                        config_parse_mode,                  0,                             offsetof(Mount, exec_context.umask)},
      {(char*)0}, {(char*)0},
      {"Swap.UtmpIdentifier",               config_parse_unit_string_printf,    0,                             offsetof(Swap, exec_context.utmp_id)},
      {(char*)0},
      {"Socket.LimitDATA",                    config_parse_limit,                 RLIMIT_DATA,                   offsetof(Socket, exec_context.rlimit)},
      {"Mount.CapabilityBoundingSet",        config_parse_bounding_set,          0,                             offsetof(Mount, exec_context.capability_bounding_set_drop)},
      {"Mount.Capabilities",                 config_parse_exec_capabilities,     0,                             offsetof(Mount, exec_context)},
      {(char*)0}, {(char*)0},
      {"Unit.ConditionFileNotEmpty",      config_parse_unit_condition_path,   CONDITION_FILE_NOT_EMPTY,      0},
      {"BusName.AllowUser",               config_parse_bus_policy,            0,                             0},
      {(char*)0}, {(char*)0},
      {"Service.LimitMEMLOCK",                 config_parse_limit,                 RLIMIT_MEMLOCK,                offsetof(Service, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.AppArmorProfile",              config_parse_warn_compat,          0,                             0},
      {"Socket.LimitCORE",                    config_parse_limit,                 RLIMIT_CORE,                   offsetof(Socket, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Socket.TTYVHangup",                   config_parse_bool,                  0,                             offsetof(Socket, exec_context.tty_vhangup)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Scope.SendSIGKILL",                 config_parse_bool,                  0,                             offsetof(Scope, kill_context.send_sigkill)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.LimitMSGQUEUE",                config_parse_limit,                 RLIMIT_MSGQUEUE,               offsetof(Socket, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Socket.PrivateNetwork",               config_parse_bool,                  0,                             offsetof(Socket, exec_context.private_network)},
      {(char*)0}, {(char*)0},
      {"Swap.SupplementaryGroups",          config_parse_strv,                  0,                             offsetof(Swap, exec_context.supplementary_groups)},
      {(char*)0},
      {"Service.FailureAction",           config_parse_failure_action,        0,                             offsetof(Service, failure_action)},
      {"Swap.LimitMEMLOCK",                 config_parse_limit,                 RLIMIT_MEMLOCK,                offsetof(Swap, exec_context.rlimit)},
      {"BusName.AllowGroup",              config_parse_bus_policy,            0,                             0},
      {(char*)0}, {(char*)0},
      {"Service.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Service, cgroup_context.blockio_weight)},
      {"Swap.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Swap, cgroup_context.blockio_accounting)},
      {"Service.KillSignal",                   config_parse_kill_signal,           0,                             offsetof(Service, kill_context.kill_signal)},
      {"Service.WorkingDirectory",            config_parse_unit_path_printf,      0,                             offsetof(Service, exec_context.working_directory)},
      {"Service.ExecStopPost",            config_parse_exec,                  SERVICE_EXEC_STOP_POST,        offsetof(Service, exec_command)},
      {"Socket.ReadOnlyDirectories",          config_parse_namespace_path_strv,   0,                             offsetof(Socket, exec_context.read_only_dirs)},
      {"Service.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Service, cgroup_context)},
      {"Swap.LimitMSGQUEUE",                config_parse_limit,                 RLIMIT_MSGQUEUE,               offsetof(Swap, exec_context.rlimit)},
      {(char*)0}, {(char*)0},
      {"Socket.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Socket, cgroup_context.cpu_shares)},
      {"Socket.PassCredentials",          config_parse_bool,                  0,                             offsetof(Socket, pass_cred)},
      {"Service.SecureBits",                   config_parse_exec_secure_bits,      0,                             offsetof(Service, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.LimitMEMLOCK",                 config_parse_limit,                 RLIMIT_MEMLOCK,                offsetof(Mount, exec_context.rlimit)},
      {"Swap.SyslogFacility",               config_parse_log_facility,          0,                             offsetof(Swap, exec_context.syslog_priority)},
      {"Mount.ReadOnlyDirectories",          config_parse_namespace_path_strv,   0,                             offsetof(Mount, exec_context.read_only_dirs)},
      {"Mount.SendSIGHUP",                   config_parse_bool,                  0,                             offsetof(Mount, kill_context.send_sighup)},
      {"Path.DirectoryNotEmpty",          config_parse_path_spec,             0,                             0},
      {(char*)0},
      {"Service.LimitRTTIME",                  config_parse_limit,                 RLIMIT_RTTIME,                 offsetof(Service, exec_context.rlimit)},
      {"Service.SyslogLevelPrefix",            config_parse_bool,                  0,                             offsetof(Service, exec_context.syslog_level_prefix)},
      {"Swap.SendSIGKILL",                 config_parse_bool,                  0,                             offsetof(Swap, kill_context.send_sigkill)},
      {(char*)0},
      {"Scope.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Scope, cgroup_context.device_policy)},
      {"Service.Environment",                  config_parse_environ,               0,                             offsetof(Service, exec_context.environment)},
      {"Socket.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Socket, cgroup_context.cpu_accounting)},
      {"Swap.LimitRTPRIO",                  config_parse_limit,                 RLIMIT_RTPRIO,                 offsetof(Swap, exec_context.rlimit)},
      {(char*)0},
      {"Service.EnvironmentFile",              config_parse_unit_env_file,         0,                             offsetof(Service, exec_context.environment_files)},
      {(char*)0},
      {"Service.PAMName",                     config_parse_unit_string_printf,    0,                             offsetof(Service, exec_context.pam_name)},
      {"Mount.AppArmorProfile",              config_parse_warn_compat,          0,                             0},
      {"Mount.LimitNOFILE",                  config_parse_limit,                 RLIMIT_NOFILE,                 offsetof(Mount, exec_context.rlimit)},
      {"Service.TTYVHangup",                   config_parse_bool,                  0,                             offsetof(Service, exec_context.tty_vhangup)},
      {(char*)0},
      {"Swap.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Swap, cgroup_context)},
      {"Swap.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Swap, cgroup_context)},
      {(char*)0},
      {"Service.SendSIGHUP",                   config_parse_bool,                  0,                             offsetof(Service, kill_context.send_sighup)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.LimitNICE",                    config_parse_limit,                 RLIMIT_NICE,                   offsetof(Service, exec_context.rlimit)},
      {"Service.LimitLOCKS",                   config_parse_limit,                 RLIMIT_LOCKS,                  offsetof(Service, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.SmackLabelIPOut",          config_parse_string,                0,                             offsetof(Socket, smack_ip_out)},
      {(char*)0},
      {"Mount.IgnoreSIGPIPE",                config_parse_bool,                  0,                             offsetof(Mount, exec_context.ignore_sigpipe)},
      {(char*)0}, {(char*)0},
      {"Install.Also",                    NULL,                               0,                             0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.SupplementaryGroups",          config_parse_strv,                  0,                             offsetof(Mount, exec_context.supplementary_groups)},
      {"Service.ExecStop",                config_parse_exec,                  SERVICE_EXEC_STOP,             offsetof(Service, exec_command)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.CPUSchedulingResetOnFork",     config_parse_bool,                  0,                             offsetof(Swap, exec_context.cpu_sched_reset_on_fork)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Unit.PropagatesReloadTo",         config_parse_unit_deps,             UNIT_PROPAGATES_RELOAD_TO,     0},
      {(char*)0},
      {"Mount.LimitNICE",                    config_parse_limit,                 RLIMIT_NICE,                   offsetof(Mount, exec_context.rlimit)},
      {"Swap.LimitNOFILE",                  config_parse_limit,                 RLIMIT_NOFILE,                 offsetof(Swap, exec_context.rlimit)},
      {"Socket.IPTTL",                    config_parse_int,                   0,                             offsetof(Socket, ip_ttl)},
      {(char*)0}, {(char*)0},
      {"Unit.RequisiteOverridable",       config_parse_unit_deps,             UNIT_REQUISITE_OVERRIDABLE,    0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"BusName.Activating",              config_parse_bool,                  0,                             offsetof(BusName, activating)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Service.LimitNPROC",                   config_parse_limit,                 RLIMIT_NPROC,                  offsetof(Service, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.LimitRTTIME",                  config_parse_limit,                 RLIMIT_RTTIME,                 offsetof(Swap, exec_context.rlimit)},
      {"Socket.RuntimeDirectoryMode",         config_parse_mode,                  0,                             offsetof(Socket, exec_context.runtime_directory_mode)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.NoNewPrivileges",              config_parse_no_new_privileges,     0,                             offsetof(Mount, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.TTYReset",                     config_parse_bool,                  0,                             offsetof(Service, exec_context.tty_reset)},
      {"Unit.RefuseManualStart",          config_parse_bool,                  0,                             offsetof(Unit, refuse_manual_start)},
      {"Path.DirectoryMode",              config_parse_mode,                  0,                             offsetof(Path, directory_mode)},
      {(char*)0},
      {"Socket.FreeBind",                 config_parse_bool,                  0,                             offsetof(Socket, free_bind)},
      {"Scope.SendSIGHUP",                   config_parse_bool,                  0,                             offsetof(Scope, kill_context.send_sighup)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.NotifyAccess",            config_parse_notify_access,         0,                             offsetof(Service, notify_access)},
      {(char*)0},
      {"Mount.SyslogLevel",                  config_parse_log_level,             0,                             offsetof(Mount, exec_context.syslog_priority)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.LimitCPU",                     config_parse_limit,                 RLIMIT_CPU,                    offsetof(Service, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Socket.RuntimeDirectory",             config_parse_runtime_directory,     0,                             offsetof(Socket, exec_context.runtime_directory)},
      {"Unit.RequiresOverridable",        config_parse_unit_deps,             UNIT_REQUIRES_OVERRIDABLE,     0},
      {"Mount.OOMScoreAdjust",               config_parse_exec_oom_score_adjust, 0,                             offsetof(Mount, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Socket, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Swap.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Swap, cgroup_context.memory_accounting)},
      {"Socket.LimitNPROC",                   config_parse_limit,                 RLIMIT_NPROC,                  offsetof(Socket, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.CPUSchedulingResetOnFork",     config_parse_bool,                  0,                             offsetof(Service, exec_context.cpu_sched_reset_on_fork)},
      {(char*)0}, {(char*)0},
      {"Socket.MessageQueueMessageSize",  config_parse_long,                  0,                             offsetof(Socket, mq_msgsize)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.PrivateDevices",               config_parse_bool,                  0,                             offsetof(Swap, exec_context.private_devices)},
      {(char*)0},
      {"Unit.RefuseManualStop",           config_parse_bool,                  0,                             offsetof(Unit, refuse_manual_stop)},
      {(char*)0}, {(char*)0},
      {"Service.SendSIGKILL",                 config_parse_bool,                  0,                             offsetof(Service, kill_context.send_sigkill)},
      {"Socket.MessageQueueMaxMessages",  config_parse_long,                  0,                             offsetof(Socket, mq_maxmsg)},
      {"Socket.SmackLabelIPIn",           config_parse_string,                0,                             offsetof(Socket, smack_ip_in)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.LimitNPROC",                   config_parse_limit,                 RLIMIT_NPROC,                  offsetof(Swap, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.LimitRTPRIO",                  config_parse_limit,                 RLIMIT_RTPRIO,                 offsetof(Service, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.LimitNOFILE",                  config_parse_limit,                 RLIMIT_NOFILE,                 offsetof(Socket, exec_context.rlimit)},
      {(char*)0},
      {"Socket.LimitCPU",                     config_parse_limit,                 RLIMIT_CPU,                    offsetof(Socket, exec_context.rlimit)},
      {"Socket.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Socket, cgroup_context)},
      {(char*)0}, {(char*)0},
      {"Service.CPUAffinity",                  config_parse_exec_cpu_affinity,     0,                             offsetof(Service, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.PrivateNetwork",               config_parse_bool,                  0,                             offsetof(Swap, exec_context.private_network)},
      {"Swap.LimitSIGPENDING",              config_parse_limit,                 RLIMIT_SIGPENDING,             offsetof(Swap, exec_context.rlimit)},
      {"Unit.StopWhenUnneeded",           config_parse_bool,                  0,                             offsetof(Unit, stop_when_unneeded)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Service, cgroup_context)},
      {(char*)0},
      {"Swap.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Swap, cgroup_context.cpu_accounting)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Swap.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Swap, cgroup_context)},
      {"Mount.LimitCORE",                    config_parse_limit,                 RLIMIT_CORE,                   offsetof(Mount, exec_context.rlimit)},
      {(char*)0},
      {"Mount.LimitRTTIME",                  config_parse_limit,                 RLIMIT_RTTIME,                 offsetof(Mount, exec_context.rlimit)},
      {"BusName.AllowWorld",              config_parse_bus_policy_world,      0,                             offsetof(BusName, policy_world)},
      {"Mount.LimitCPU",                     config_parse_limit,                 RLIMIT_CPU,                    offsetof(Mount, exec_context.rlimit)},
      {"Mount.CPUSchedulingResetOnFork",     config_parse_bool,                  0,                             offsetof(Mount, exec_context.cpu_sched_reset_on_fork)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.RemoveOnStop",             config_parse_bool,                  0,                             offsetof(Socket, remove_on_stop)},
      {"Service.TTYPath",                      config_parse_unit_path_printf,      0,                             offsetof(Service, exec_context.tty_path)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.ReceiveBuffer",            config_parse_iec_size,              0,                             offsetof(Socket, receive_buffer)},
      {(char*)0},
      {"Service.PrivateDevices",               config_parse_bool,                  0,                             offsetof(Service, exec_context.private_devices)},
      {"Service.ExecReload",              config_parse_exec,                  SERVICE_EXEC_RELOAD,           offsetof(Service, exec_command)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Mount.SyslogLevelPrefix",            config_parse_bool,                  0,                             offsetof(Mount, exec_context.syslog_level_prefix)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.SmackLabel",              config_parse_string,                0,                             offsetof(Socket, smack)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.LimitCORE",                    config_parse_limit,                 RLIMIT_CORE,                   offsetof(Service, exec_context.rlimit)},
      {(char*)0},
      {"Service.LimitNOFILE",                  config_parse_limit,                 RLIMIT_NOFILE,                 offsetof(Service, exec_context.rlimit)},
      {(char*)0}, {(char*)0},
      {"Socket.LimitSIGPENDING",              config_parse_limit,                 RLIMIT_SIGPENDING,             offsetof(Socket, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Socket, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Service.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Service, cgroup_context.blockio_accounting)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.PrivateTmp",                   config_parse_bool,                  0,                             offsetof(Service, exec_context.private_tmp)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.SyslogFacility",               config_parse_log_facility,          0,                             offsetof(Service, exec_context.syslog_priority)},
      {"Service.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Service, cgroup_context)},
      {"Service.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Service, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Swap.TimerSlackNSec",               config_parse_nsec,                  0,                             offsetof(Swap, exec_context.timer_slack_nsec)},
      {(char*)0}, {(char*)0},
      {"Swap.TTYPath",                      config_parse_unit_path_printf,      0,                             offsetof(Swap, exec_context.tty_path)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Socket.CPUAffinity",                  config_parse_exec_cpu_affinity,     0,                             offsetof(Socket, exec_context)},
      {(char*)0},
      {"Swap.SecureBits",                   config_parse_exec_secure_bits,      0,                             offsetof(Swap, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.LimitSIGPENDING",              config_parse_limit,                 RLIMIT_SIGPENDING,             offsetof(Service, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Swap.LimitDATA",                    config_parse_limit,                 RLIMIT_DATA,                   offsetof(Swap, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Mount.LimitFSIZE",                   config_parse_limit,                 RLIMIT_FSIZE,                  offsetof(Mount, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Service, cgroup_context.memory_accounting)},
      {(char*)0}, {(char*)0},
      {"Slice.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Slice, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Mount.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Mount, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Socket.CPUSchedulingResetOnFork",     config_parse_bool,                  0,                             offsetof(Socket, exec_context.cpu_sched_reset_on_fork)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Socket.SELinuxContext",              config_parse_exec_selinux_context,  0,                             offsetof(Socket, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Swap.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Swap, cgroup_context)},
      {(char*)0},
      {"Socket.SELinuxContextFromNet",   config_parse_bool,                  0,                             offsetof(Socket, selinux_context_from_net)},
      {(char*)0}, {(char*)0},
      {"Mount.LimitNPROC",                   config_parse_limit,                 RLIMIT_NPROC,                  offsetof(Mount, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.PIDFile",                 config_parse_unit_path_printf,      0,                             offsetof(Service, pid_file)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Service.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Service, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.AppArmorProfile",              config_parse_warn_compat,          0,                             0},
      {"Service.NonBlocking",             config_parse_bool,                  0,                             offsetof(Service, exec_context.non_blocking)},
      {(char*)0}, {(char*)0},
      {"Socket.UMask",                        config_parse_mode,                  0,                             offsetof(Socket, exec_context.umask)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Unit.PropagateReloadFrom",        config_parse_unit_deps,             UNIT_RELOAD_PROPAGATED_FROM,   0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Scope.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Scope, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Socket, cgroup_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"BusName.AcceptFileDescriptors",   config_parse_bool,                  0,                             offsetof(BusName, accept_fd)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Service, cgroup_context.cpu_accounting)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Unit.PropagateReloadTo",          config_parse_unit_deps,             UNIT_PROPAGATES_RELOAD_TO,     0},
      {(char*)0},
      {"Socket.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Socket, cgroup_context.blockio_accounting)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Mount.LimitMSGQUEUE",                config_parse_limit,                 RLIMIT_MSGQUEUE,               offsetof(Mount, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Socket.KeepAlive",                config_parse_bool,                  0,                             offsetof(Socket, keep_alive)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Socket.KeepAliveTimeSec",         config_parse_sec,                   0,                             offsetof(Socket, keep_alive_time)},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.KeepAliveIntervalSec",     config_parse_sec,                   0,                             offsetof(Socket, keep_alive_interval)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.KeepAliveProbes",          config_parse_unsigned,              0,                             offsetof(Socket, keep_alive_cnt)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0},
      {"Socket.SendBuffer",               config_parse_iec_size,              0,                             offsetof(Socket, send_buffer)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Mount.MountFlags",                   config_parse_exec_mount_flags,      0,                             offsetof(Mount, exec_context)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Mount.LimitRTPRIO",                  config_parse_limit,                 RLIMIT_RTPRIO,                 offsetof(Mount, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {"Service.LimitDATA",                    config_parse_limit,                 RLIMIT_DATA,                   offsetof(Service, exec_context.rlimit)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0},
      {"Service.PrivateNetwork",               config_parse_bool,                  0,                             offsetof(Service, exec_context.private_network)},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
      {(char*)0},
      {"Mount.LimitDATA",                    config_parse_limit,                 RLIMIT_DATA,                   offsetof(Mount, exec_context.rlimit)}
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      register int key = load_fragment_gperf_hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= 0)
        {
          register const char *s = wordlist[key].section_and_lvalue;

          if (s && *str == *s && !strcmp (str + 1, s + 1))
            return &wordlist[key];
        }
    }
  return 0;
}

/* [<][>][^][v][top][bottom][index][help] */