LCOV - code coverage report
Current view: top level - core - load-fragment-gperf.c (source / functions) Hit Total Coverage
Test: systemd test coverage Lines: 16 17 94.1 %
Date: 2015-07-29 18:47:03 Functions: 2 2 100.0 %

          Line data    Source code
       1             : /* ANSI-C code produced by gperf version 3.0.4 */
       2             : /* Command-line: gperf  */
       3             : /* Computed positions: -k'3,9,12,15,$' */
       4             : 
       5             : #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
       6             :       && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
       7             :       && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
       8             :       && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
       9             :       && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
      10             :       && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
      11             :       && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
      12             :       && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
      13             :       && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
      14             :       && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
      15             :       && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
      16             :       && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
      17             :       && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
      18             :       && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
      19             :       && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
      20             :       && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
      21             :       && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
      22             :       && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
      23             :       && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
      24             :       && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
      25             :       && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
      26             :       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
      27             :       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
      28             : /* The character set is not based on ISO-646.  */
      29             : #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
      30             : #endif
      31             : 
      32             : 
      33             : #include <stddef.h>
      34             : #include "conf-parser.h"
      35             : #include "load-fragment.h"
      36             : #include "missing.h"
      37             : #include <string.h>
      38             : 
      39             : #define TOTAL_KEYWORDS 596
      40             : #define MIN_WORD_LENGTH 9
      41             : #define MAX_WORD_LENGTH 32
      42             : #define MIN_HASH_VALUE 26
      43             : #define MAX_HASH_VALUE 2039
      44             : /* maximum key range = 2014, duplicates = 0 */
      45             : 
      46             : #ifdef __GNUC__
      47             : __inline
      48             : #else
      49             : #ifdef __cplusplus
      50             : inline
      51             : #endif
      52             : #endif
      53             : static unsigned int
      54         340 : load_fragment_gperf_hash (register const char *str, register unsigned int len)
      55             : {
      56             :   static const unsigned short asso_values[] =
      57             :     {
      58             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      59             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      60             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      61             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      62             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      63             :       2040, 2040, 2040, 2040,    5, 2040, 2040, 2040, 2040, 2040,
      64             :       2040, 2040, 2040, 2040, 2040,  470,  925,  425,  555,  235,
      65             :        780,  535,  365,  295,  260,  330,  410,  755,  620,  275,
      66             :        375,  820,  475,   80,  180,  550,  390,   85,    5, 2040,
      67             :         15, 2040, 2040, 2040, 2040, 2040, 2040,   25,  300,    0,
      68             :        185,    0,  320,  470,  155,   25,  120,  525,  175,   20,
      69             :        175,   40,   90,  670,   15,   10,    0,   35,  265,  765,
      70             :        355,  110,    0, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      71             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      72             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      73             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      74             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      75             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      76             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      77             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      78             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      79             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      80             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      81             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      82             :       2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
      83             :       2040, 2040, 2040, 2040, 2040, 2040, 2040
      84             :     };
      85         340 :   register int hval = len;
      86             : 
      87         340 :   switch (hval)
      88             :     {
      89             :       default:
      90         244 :         hval += asso_values[(unsigned char)str[14]];
      91             :       /*FALLTHROUGH*/
      92             :       case 14:
      93             :       case 13:
      94             :       case 12:
      95         291 :         hval += asso_values[(unsigned char)str[11]];
      96             :       /*FALLTHROUGH*/
      97             :       case 11:
      98             :       case 10:
      99             :       case 9:
     100         340 :         hval += asso_values[(unsigned char)str[8]+1];
     101             :       /*FALLTHROUGH*/
     102             :       case 8:
     103             :       case 7:
     104             :       case 6:
     105             :       case 5:
     106             :       case 4:
     107             :       case 3:
     108         340 :         hval += asso_values[(unsigned char)str[2]];
     109         340 :         break;
     110             :     }
     111         340 :   return hval + asso_values[(unsigned char)str[len - 1]];
     112             : }
     113             : 
     114             : #ifdef __GNUC__
     115             : __inline
     116             : #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
     117             : __attribute__ ((__gnu_inline__))
     118             : #endif
     119             : #endif
     120             : const struct ConfigPerfItem *
     121         340 : load_fragment_gperf_lookup (register const char *str, register unsigned int len)
     122             : {
     123             :   static const struct ConfigPerfItem wordlist[] =
     124             :     {
     125             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     126             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     127             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     128             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     129             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     130             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     131             :       {(char*)0}, {(char*)0},
     132             :       {"Socket.User",                         config_parse_unit_string_printf,    0,                             offsetof(Socket, exec_context.user)},
     133             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     134             :       {(char*)0},
     135             :       {"Socket.Slice",                       config_parse_unit_slice,            0,                             0},
     136             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     137             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     138             :       {(char*)0}, {(char*)0}, {(char*)0},
     139             :       {"Path.Unit",                       config_parse_trigger_unit,          0,                             0},
     140             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     141             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     142             :       {"Socket.Transparent",              config_parse_bool,                  0,                             offsetof(Socket, transparent)},
     143             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     144             :       {(char*)0},
     145             :       {"Swap.User",                         config_parse_unit_string_printf,    0,                             offsetof(Swap, exec_context.user)},
     146             :       {"Socket.Symlinks",                 config_parse_unit_path_strv_printf, 0,                             offsetof(Socket, symlinks)},
     147             :       {(char*)0}, {(char*)0},
     148             :       {"Socket.SystemCallFilter",            config_parse_syscall_filter,        0,                             offsetof(Socket, exec_context)},
     149             :       {(char*)0},
     150             :       {"Socket.SystemCallArchitectures",      config_parse_syscall_archs,         0,                             offsetof(Socket, exec_context.syscall_archs)},
     151             :       {(char*)0}, {(char*)0},
     152             :       {"Socket.SystemCallErrorNumber",        config_parse_syscall_errno,         0,                             offsetof(Socket, exec_context)},
     153             :       {"Swap.What",                       config_parse_path,                  0,                             offsetof(Swap, parameters_fragment.what)},
     154             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     155             :       {"Mount.TTYReset",                     config_parse_bool,                  0,                             offsetof(Mount, exec_context.tty_reset)},
     156             :       {(char*)0},
     157             :       {"Unit.BindTo",                     config_parse_unit_deps,             UNIT_BINDS_TO,                 0},
     158             :       {(char*)0}, {(char*)0},
     159             :       {"Service.WatchdogSec",             config_parse_sec,                   0,                             offsetof(Service, watchdog_usec)},
     160             :       {"Unit.Wants",                      config_parse_unit_deps,             UNIT_WANTS,                    0},
     161             :       {(char*)0}, {(char*)0},
     162             :       {"Automount.DirectoryMode",         config_parse_mode,                  0,                             offsetof(Automount, directory_mode)},
     163             :       {"Slice.Delegate",                     config_parse_bool,                  0,                             offsetof(Slice, cgroup_context.delegate)},
     164             :       {"Path.PathExists",                 config_parse_path_spec,             0,                             0},
     165             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     166             :       {"Socket.InaccessibleDirectories",      config_parse_namespace_path_strv,   0,                             offsetof(Socket, exec_context.inaccessible_dirs)},
     167             :       {(char*)0}, {(char*)0},
     168             :       {"Socket.Environment",                  config_parse_environ,               0,                             offsetof(Socket, exec_context.environment)},
     169             :       {"Mount.Delegate",                     config_parse_bool,                  0,                             offsetof(Mount, cgroup_context.delegate)},
     170             :       {(char*)0},
     171             :       {"Swap.ProtectHome",                  config_parse_protect_home,          0,                             offsetof(Swap, exec_context)},
     172             :       {"Socket.EnvironmentFile",              config_parse_unit_env_file,         0,                             offsetof(Socket, exec_context.environment_files)},
     173             :       {(char*)0},
     174             :       {"Scope.Delegate",                     config_parse_bool,                  0,                             offsetof(Scope, cgroup_context.delegate)},
     175             :       {"Swap.RuntimeDirectoryMode",         config_parse_mode,                  0,                             offsetof(Swap, exec_context.runtime_directory_mode)},
     176             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     177             :       {(char*)0}, {(char*)0}, {(char*)0},
     178             :       {"Swap.ProtectSystem",                config_parse_protect_system,        0,                             offsetof(Swap, exec_context)},
     179             :       {"Mount.KillMode",                     config_parse_kill_mode,             0,                             offsetof(Mount, kill_context.kill_mode)},
     180             :       {"Service.Restart",                 config_parse_service_restart,       0,                             offsetof(Service, restart)},
     181             :       {(char*)0}, {(char*)0},
     182             :       {"Service.RestartSec",              config_parse_sec,                   0,                             offsetof(Service, restart_usec)},
     183             :       {"Scope.KillMode",                     config_parse_kill_mode,             0,                             offsetof(Scope, kill_context.kill_mode)},
     184             :       {(char*)0}, {(char*)0},
     185             :       {"Unit.BindsTo",                    config_parse_unit_deps,             UNIT_BINDS_TO,                 0},
     186             :       {"Swap.TTYReset",                     config_parse_bool,                  0,                             offsetof(Swap, exec_context.tty_reset)},
     187             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     188             :       {"Service.RuntimeDirectoryMode",         config_parse_mode,                  0,                             offsetof(Service, exec_context.runtime_directory_mode)},
     189             :       {"Automount.TimeoutIdleSec",        config_parse_sec,                   0,                             offsetof(Automount, timeout_idle_usec)},
     190             :       {(char*)0},
     191             :       {"Unit.Before",                     config_parse_unit_deps,             UNIT_BEFORE,                   0},
     192             :       {(char*)0},
     193             :       {"Swap.StandardError",                config_parse_output,                0,                             offsetof(Swap, exec_context.std_error)},
     194             :       {(char*)0},
     195             :       {"Socket.ProtectSystem",                config_parse_protect_system,        0,                             offsetof(Socket, exec_context)},
     196             :       {"Socket.Nice",                         config_parse_exec_nice,             0,                             offsetof(Socket, exec_context)},
     197             :       {"Socket.SocketUser",               config_parse_unit_string_printf,    0,                             offsetof(Socket, user)},
     198             :       {(char*)0},
     199             :       {"Swap.StandardOutput",               config_parse_output,                0,                             offsetof(Swap, exec_context.std_output)},
     200             :       {"Service.RestartForceExitStatus",  config_parse_set_status,            0,                             offsetof(Service, restart_force_status)},
     201             :       {"Service.RestrictAddressFamilies",      config_parse_address_families,      0,                             offsetof(Service, exec_context)},
     202             :       {"Service.RestartPreventExitStatus", config_parse_set_status,           0,                             offsetof(Service, restart_prevent_status)},
     203             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     204             :       {"Socket.MountFlags",                   config_parse_exec_mount_flags,      0,                             offsetof(Socket, exec_context)},
     205             :       {(char*)0}, {(char*)0},
     206             :       {"Socket.ListenMessageQueue",       config_parse_socket_listen,         SOCKET_MQUEUE,                 0},
     207             :       {"Mount.RuntimeDirectoryMode",         config_parse_mode,                  0,                             offsetof(Mount, exec_context.runtime_directory_mode)},
     208             :       {"Socket.SocketMode",               config_parse_mode,                  0,                             offsetof(Socket, socket_mode)},
     209             :       {(char*)0},
     210             :       {"Socket.ListenSequentialPacket",   config_parse_socket_listen,         SOCKET_SOCKET,                 0},
     211             :       {"Timer.Unit",                      config_parse_trigger_unit,          0,                             0},
     212             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     213             :       {"Socket.DirectoryMode",            config_parse_mode,                  0,                             offsetof(Socket, directory_mode)},
     214             :       {"Slice.Slice",                       config_parse_unit_slice,            0,                             0},
     215             :       {(char*)0}, {(char*)0},
     216             :       {"Socket.ListenStream",             config_parse_socket_listen,         SOCKET_SOCKET,                 0},
     217             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     218             :       {(char*)0}, {(char*)0},
     219             :       {"Mount.Slice",                       config_parse_unit_slice,            0,                             0},
     220             :       {"Unit.AllowIsolate",               config_parse_bool,                  0,                             offsetof(Unit, allow_isolate)},
     221             :       {(char*)0}, {(char*)0}, {(char*)0},
     222             :       {"Scope.Slice",                       config_parse_unit_slice,            0,                             0},
     223             :       {(char*)0}, {(char*)0},
     224             :       {"Mount.DirectoryMode",             config_parse_mode,                  0,                             offsetof(Mount, directory_mode)},
     225             :       {(char*)0},
     226             :       {"Swap.Personality",                  config_parse_personality,           0,                             offsetof(Swap, exec_context.personality)},
     227             :       {"Swap.Options",                    config_parse_string,                0,                             offsetof(Swap, parameters_fragment.options)},
     228             :       {(char*)0}, {(char*)0}, {(char*)0},
     229             :       {"Socket.TimerSlackNSec",               config_parse_nsec,                  0,                             offsetof(Socket, exec_context.timer_slack_nsec)},
     230             :       {"Mount.ProtectHome",                  config_parse_protect_home,          0,                             offsetof(Mount, exec_context)},
     231             :       {(char*)0}, {(char*)0},
     232             :       {"Mount.PrivateDevices",               config_parse_bool,                  0,                             offsetof(Mount, exec_context.private_devices)},
     233             :       {"Socket.ListenDatagram",           config_parse_socket_listen,         SOCKET_SOCKET,                 0},
     234             :       {(char*)0}, {(char*)0}, {(char*)0},
     235             :       {"Swap.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Swap, cgroup_context.startup_blockio_weight)},
     236             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     237             :       {(char*)0},
     238             :       {"Socket.SyslogFacility",               config_parse_log_facility,          0,                             offsetof(Socket, exec_context.syslog_priority)},
     239             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     240             :       {(char*)0},
     241             :       {"Socket.Group",                        config_parse_unit_string_printf,    0,                             offsetof(Socket, exec_context.group)},
     242             :       {"Swap.RootDirectory",                config_parse_unit_path_printf,      0,                             offsetof(Swap, exec_context.root_directory)},
     243             :       {(char*)0},
     244             :       {"Automount.Where",                 config_parse_path,                  0,                             offsetof(Automount, where)},
     245             :       {"Swap.RuntimeDirectory",             config_parse_runtime_directory,     0,                             offsetof(Swap, exec_context.runtime_directory)},
     246             :       {(char*)0},
     247             :       {"Service.Slice",                       config_parse_unit_slice,            0,                             0},
     248             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     249             :       {"Socket.SocketGroup",              config_parse_unit_string_printf,    0,                             offsetof(Socket, group)},
     250             :       {"Socket.LimitAS",                      config_parse_limit,                 RLIMIT_AS,                     offsetof(Socket, exec_context.rlimit)},
     251             :       {"Socket.PipeSize",                 config_parse_iec_size,              0,                             offsetof(Socket, pipe_size)},
     252             :       {"Mount.TTYVHangup",                   config_parse_bool,                  0,                             offsetof(Mount, exec_context.tty_vhangup)},
     253             :       {(char*)0},
     254             :       {"Mount.TTYPath",                      config_parse_unit_path_printf,      0,                             offsetof(Mount, exec_context.tty_path)},
     255             :       {(char*)0},
     256             :       {"Swap.Slice",                       config_parse_unit_slice,            0,                             0},
     257             :       {"Socket.Broadcast",                config_parse_bool,                  0,                             offsetof(Socket, broadcast)},
     258             :       {(char*)0}, {(char*)0},
     259             :       {"Socket.ExecStartPre",             config_parse_exec,                  SOCKET_EXEC_START_PRE,         offsetof(Socket, exec_command)},
     260             :       {"Socket.ExecStartPost",            config_parse_exec,                  SOCKET_EXEC_START_POST,        offsetof(Socket, exec_command)},
     261             :       {"Mount.Group",                        config_parse_unit_string_printf,    0,                             offsetof(Mount, exec_context.group)},
     262             :       {(char*)0}, {(char*)0},
     263             :       {"Service.RuntimeDirectory",             config_parse_runtime_directory,     0,                             offsetof(Service, exec_context.runtime_directory)},
     264             :       {"Mount.Nice",                         config_parse_exec_nice,             0,                             offsetof(Mount, exec_context)},
     265             :       {"Timer.Persistent",                config_parse_bool,                  0,                             offsetof(Timer, persistent)},
     266             :       {(char*)0},
     267             :       {"Socket.SyslogLevel",                  config_parse_log_level,             0,                             offsetof(Socket, exec_context.syslog_priority)},
     268             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     269             :       {"Swap.Priority",                   config_parse_int,                   0,                             offsetof(Swap, parameters_fragment.priority)},
     270             :       {(char*)0},
     271             :       {"Service.SuccessExitStatus",       config_parse_set_status,            0,                             offsetof(Service, success_status)},
     272             :       {"Service.RootDirectory",                config_parse_unit_path_printf,      0,                             offsetof(Service, exec_context.root_directory)},
     273             :       {(char*)0},
     274             :       {"Swap.KillMode",                     config_parse_kill_mode,             0,                             offsetof(Swap, kill_context.kill_mode)},
     275             :       {"Swap.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Swap, cgroup_context.cpu_shares)},
     276             :       {(char*)0},
     277             :       {"Mount.SecureBits",                   config_parse_exec_secure_bits,      0,                             offsetof(Mount, exec_context)},
     278             :       {(char*)0}, {(char*)0}, {(char*)0},
     279             :       {"Service.RootDirectoryStartOnly",  config_parse_bool,                  0,                             offsetof(Service, root_directory_start_only)},
     280             :       {"Path.PathChanged",                config_parse_path_spec,             0,                             0},
     281             :       {"Mount.RuntimeDirectory",             config_parse_runtime_directory,     0,                             offsetof(Mount, exec_context.runtime_directory)},
     282             :       {"Install.RequiredBy",              NULL,                               0,                             0},
     283             :       {(char*)0}, {(char*)0}, {(char*)0},
     284             :       {"Socket.TimeoutSec",               config_parse_sec,                   0,                             offsetof(Socket, timeout_usec)},
     285             :       {"Service.StartLimitBurst",         config_parse_unsigned,              0,                             offsetof(Service, start_limit.burst)},
     286             :       {"Swap.ReadOnlyDirectories",          config_parse_namespace_path_strv,   0,                             offsetof(Swap, exec_context.read_only_dirs)},
     287             :       {"Socket.Priority",                 config_parse_int,                   0,                             offsetof(Socket, priority)},
     288             :       {"Mount.TimeoutSec",                config_parse_sec,                   0,                             offsetof(Mount, timeout_usec)},
     289             :       {"Unit.ConditionSecurity",          config_parse_unit_condition_string, CONDITION_SECURITY,            offsetof(Unit, conditions)},
     290             :       {"Socket.SyslogIdentifier",             config_parse_unit_string_printf,    0,                             offsetof(Socket, exec_context.syslog_identifier)},
     291             :       {"Mount.SloppyOptions",             config_parse_bool,                  0,                             offsetof(Mount, sloppy_options)},
     292             :       {(char*)0},
     293             :       {"Service.Delegate",                     config_parse_bool,                  0,                             offsetof(Service, cgroup_context.delegate)},
     294             :       {"Mount.SystemCallFilter",            config_parse_syscall_filter,        0,                             offsetof(Mount, exec_context)},
     295             :       {"Mount.Options",                   config_parse_string,                0,                             offsetof(Mount, parameters_fragment.options)},
     296             :       {"Mount.SystemCallArchitectures",      config_parse_syscall_archs,         0,                             offsetof(Mount, exec_context.syscall_archs)},
     297             :       {"Scope.TimeoutStopSec",            config_parse_sec,                   0,                             offsetof(Scope, timeout_stop_usec)},
     298             :       {(char*)0},
     299             :       {"Mount.SystemCallErrorNumber",        config_parse_syscall_errno,         0,                             offsetof(Mount, exec_context)},
     300             :       {"Swap.StandardInput",                config_parse_input,                 0,                             offsetof(Swap, exec_context.std_input)},
     301             :       {"Mount.ProtectSystem",                config_parse_protect_system,        0,                             offsetof(Mount, exec_context)},
     302             :       {"Swap.MountFlags",                   config_parse_exec_mount_flags,      0,                             offsetof(Swap, exec_context)},
     303             :       {(char*)0}, {(char*)0}, {(char*)0},
     304             :       {"Mount.RootDirectory",                config_parse_unit_path_printf,      0,                             offsetof(Mount, exec_context.root_directory)},
     305             :       {(char*)0},
     306             :       {"Mount.PrivateTmp",                   config_parse_bool,                  0,                             offsetof(Mount, exec_context.private_tmp)},
     307             :       {(char*)0},
     308             :       {"Swap.RestrictAddressFamilies",      config_parse_address_families,      0,                             offsetof(Swap, exec_context)},
     309             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     310             :       {"Socket.Accept",                   config_parse_bool,                  0,                             offsetof(Socket, accept)},
     311             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     312             :       {"Install.DefaultInstance",         NULL,                               0,                             0},
     313             :       {(char*)0},
     314             :       {"Socket.LimitRSS",                     config_parse_limit,                 RLIMIT_RSS,                    offsetof(Socket, exec_context.rlimit)},
     315             :       {"Mount.KillSignal",                   config_parse_kill_signal,           0,                             offsetof(Mount, kill_context.kill_signal)},
     316             :       {"BusName.Name",                    config_parse_string,                0,                             offsetof(BusName, name)},
     317             :       {"Socket.ExecStopPre",              config_parse_exec,                  SOCKET_EXEC_STOP_PRE,          offsetof(Socket, exec_command)},
     318             :       {"Socket.ExecStopPost",             config_parse_exec,                  SOCKET_EXEC_STOP_POST,         offsetof(Socket, exec_command)},
     319             :       {(char*)0},
     320             :       {"Scope.KillSignal",                   config_parse_kill_signal,           0,                             offsetof(Scope, kill_context.kill_signal)},
     321             :       {"Service.Nice",                         config_parse_exec_nice,             0,                             offsetof(Service, exec_context)},
     322             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     323             :       {(char*)0}, {(char*)0}, {(char*)0},
     324             :       {"Mount.TimerSlackNSec",               config_parse_nsec,                  0,                             offsetof(Mount, exec_context.timer_slack_nsec)},
     325             :       {(char*)0},
     326             :       {"Swap.PAMName",                     config_parse_unit_string_printf,    0,                             offsetof(Swap, exec_context.pam_name)},
     327             :       {"Unit.Requires",                   config_parse_unit_deps,             UNIT_REQUIRES,                 0},
     328             :       {(char*)0}, {(char*)0}, {(char*)0},
     329             :       {"Swap.LimitAS",                      config_parse_limit,                 RLIMIT_AS,                     offsetof(Swap, exec_context.rlimit)},
     330             :       {"Swap.LimitRSS",                     config_parse_limit,                 RLIMIT_RSS,                    offsetof(Swap, exec_context.rlimit)},
     331             :       {"Socket.BindToDevice",             config_parse_socket_bindtodevice,   0,                             0},
     332             :       {(char*)0}, {(char*)0},
     333             :       {"Socket.PrivateTmp",                   config_parse_bool,                  0,                             offsetof(Socket, exec_context.private_tmp)},
     334             :       {"Timer.OnStartupSec",              config_parse_timer,                 0,                             0},
     335             :       {(char*)0}, {(char*)0},
     336             :       {"Service.InaccessibleDirectories",      config_parse_namespace_path_strv,   0,                             offsetof(Service, exec_context.inaccessible_dirs)},
     337             :       {"Timer.AccuracySec",               config_parse_sec,                   0,                             offsetof(Timer, accuracy_usec)},
     338             :       {"Service.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Service, cgroup_context.startup_blockio_weight)},
     339             :       {"Unit.Requisite",                  config_parse_unit_deps,             UNIT_REQUISITE,                0},
     340             :       {(char*)0},
     341             :       {"Swap.TTYVTDisallocate",             config_parse_bool,                  0,                             offsetof(Swap, exec_context.tty_vt_disallocate)},
     342             :       {(char*)0}, {(char*)0},
     343             :       {"Service.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Service, cgroup_context.startup_cpu_shares)},
     344             :       {(char*)0}, {(char*)0}, {(char*)0},
     345             :       {"Service.NoNewPrivileges",              config_parse_no_new_privileges,     0,                             offsetof(Service, exec_context)},
     346             :       {(char*)0}, {(char*)0},
     347             :       {"Timer.WakeSystem",                config_parse_bool,                  0,                             offsetof(Timer, wake_system)},
     348             :       {"Service.SupplementaryGroups",          config_parse_strv,                  0,                             offsetof(Service, exec_context.supplementary_groups)},
     349             :       {"Service.ReadWriteDirectories",         config_parse_namespace_path_strv,   0,                             offsetof(Service, exec_context.read_write_dirs)},
     350             :       {(char*)0},
     351             :       {"Mount.What",                      config_parse_string,                0,                             offsetof(Mount, parameters_fragment.what)},
     352             :       {(char*)0},
     353             :       {"Slice.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Slice, cgroup_context)},
     354             :       {(char*)0}, {(char*)0}, {(char*)0},
     355             :       {"Socket.ReusePort",                config_parse_bool,                  0,                             offsetof(Socket, reuse_port)},
     356             :       {(char*)0}, {(char*)0},
     357             :       {"Swap.Nice",                         config_parse_exec_nice,             0,                             offsetof(Swap, exec_context)},
     358             :       {(char*)0},
     359             :       {"Socket.DeferAcceptSec",           config_parse_sec,                   0,                             offsetof(Socket, defer_accept)},
     360             :       {"Mount.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Mount, cgroup_context)},
     361             :       {"Swap.Delegate",                     config_parse_bool,                  0,                             offsetof(Swap, cgroup_context.delegate)},
     362             :       {"Socket.Service",                  config_parse_socket_service,        0,                             0},
     363             :       {"Swap.TimeoutSec",                 config_parse_sec,                   0,                             offsetof(Swap, timeout_usec)},
     364             :       {(char*)0},
     365             :       {"Scope.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Scope, cgroup_context)},
     366             :       {(char*)0}, {(char*)0}, {(char*)0},
     367             :       {"Mount.Where",                     config_parse_path,                  0,                             offsetof(Mount, where)},
     368             :       {"Unit.RequiresMountsFor",          config_parse_unit_requires_mounts_for, 0,                          0},
     369             :       {(char*)0}, {(char*)0},
     370             :       {"Unit.After",                      config_parse_unit_deps,             UNIT_AFTER,                    0},
     371             :       {"Socket.MaxConnections",           config_parse_unsigned,              0,                             offsetof(Socket, max_connections)},
     372             :       {"Mount.Personality",                  config_parse_personality,           0,                             offsetof(Mount, exec_context.personality)},
     373             :       {(char*)0},
     374             :       {"Unit.OnFailure",                  config_parse_unit_deps,             UNIT_ON_FAILURE,               0},
     375             :       {"Socket.RestrictAddressFamilies",      config_parse_address_families,      0,                             offsetof(Socket, exec_context)},
     376             :       {(char*)0},
     377             :       {"Mount.WorkingDirectory",            config_parse_unit_path_printf,      0,                             offsetof(Mount, exec_context.working_directory)},
     378             :       {"Socket.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Socket, cgroup_context)},
     379             :       {"Path.PathExistsGlob",             config_parse_path_spec,             0,                             0},
     380             :       {"Mount.User",                         config_parse_unit_string_printf,    0,                             offsetof(Mount, exec_context.user)},
     381             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     382             :       {(char*)0},
     383             :       {"Mount.ReadWriteDirectories",         config_parse_namespace_path_strv,   0,                             offsetof(Mount, exec_context.read_write_dirs)},
     384             :       {"Socket.SecureBits",                   config_parse_exec_secure_bits,      0,                             offsetof(Socket, exec_context)},
     385             :       {(char*)0},
     386             :       {"Socket.NoDelay",                  config_parse_bool,                  0,                             offsetof(Socket, no_delay)},
     387             :       {"Swap.Group",                        config_parse_unit_string_printf,    0,                             offsetof(Swap, exec_context.group)},
     388             :       {"Unit.PartOf",                     config_parse_unit_deps,             UNIT_PART_OF,                  0},
     389             :       {(char*)0},
     390             :       {"Socket.ProtectHome",                  config_parse_protect_home,          0,                             offsetof(Socket, exec_context)},
     391             :       {(char*)0}, {(char*)0},
     392             :       {"Socket.OOMScoreAdjust",               config_parse_exec_oom_score_adjust, 0,                             offsetof(Socket, exec_context)},
     393             :       {(char*)0}, {(char*)0},
     394             :       {"Mount.InaccessibleDirectories",      config_parse_namespace_path_strv,   0,                             offsetof(Mount, exec_context.inaccessible_dirs)},
     395             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     396             :       {(char*)0},
     397             :       {"Socket.ListenSpecial",            config_parse_socket_listen,         SOCKET_SPECIAL,                0},
     398             :       {"Service.StandardInput",                config_parse_input,                 0,                             offsetof(Service, exec_context.std_input)},
     399             :       {"Service.StandardOutput",               config_parse_output,                0,                             offsetof(Service, exec_context.std_output)},
     400             :       {(char*)0}, {(char*)0},
     401             :       {"Service.SmackProcessLabel",           config_parse_exec_smack_process_label, 0,                          offsetof(Service, exec_context)},
     402             :       {"Unit.ConditionKernelCommandLine", config_parse_unit_condition_string, CONDITION_KERNEL_COMMAND_LINE, offsetof(Unit, conditions)},
     403             :       {(char*)0}, {(char*)0}, {(char*)0},
     404             :       {"Swap.NoNewPrivileges",              config_parse_no_new_privileges,     0,                             offsetof(Swap, exec_context)},
     405             :       {(char*)0}, {(char*)0}, {(char*)0},
     406             :       {"Socket.SyslogLevelPrefix",            config_parse_bool,                  0,                             offsetof(Socket, exec_context.syslog_level_prefix)},
     407             :       {"Unit.IgnoreOnIsolate",            config_parse_bool,                  0,                             offsetof(Unit, ignore_on_isolate)},
     408             :       {"Service.StandardError",                config_parse_output,                0,                             offsetof(Service, exec_context.std_error)},
     409             :       {"Swap.SmackProcessLabel",           config_parse_exec_smack_process_label, 0,                          offsetof(Swap, exec_context)},
     410             :       {"Mount.IOSchedulingClass",            config_parse_exec_io_class,         0,                             offsetof(Mount, exec_context)},
     411             :       {"Swap.OOMScoreAdjust",               config_parse_exec_oom_score_adjust, 0,                             offsetof(Swap, exec_context)},
     412             :       {"Socket.StandardInput",                config_parse_input,                 0,                             offsetof(Socket, exec_context.std_input)},
     413             :       {"Socket.StandardOutput",               config_parse_output,                0,                             offsetof(Socket, exec_context.std_output)},
     414             :       {(char*)0}, {(char*)0},
     415             :       {"Slice.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Slice, cgroup_context.blockio_weight)},
     416             :       {"Mount.UtmpIdentifier",               config_parse_unit_string_printf,    0,                             offsetof(Mount, exec_context.utmp_id)},
     417             :       {"Timer.OnUnitActiveSec",           config_parse_timer,                 0,                             0},
     418             :       {(char*)0},
     419             :       {"Unit.ConditionHost",              config_parse_unit_condition_string, CONDITION_HOST,                offsetof(Unit, conditions)},
     420             :       {"Service.StartLimitAction",        config_parse_failure_action,        0,                             offsetof(Service, start_limit_action)},
     421             :       {"Slice.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Slice, cgroup_context)},
     422             :       {"Service.StartLimitInterval",      config_parse_sec,                   0,                             offsetof(Service, start_limit.interval)},
     423             :       {"Path.PathModified",               config_parse_path_spec,             0,                             0},
     424             :       {(char*)0},
     425             :       {"Mount.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Mount, cgroup_context.blockio_weight)},
     426             :       {"Socket.StandardError",                config_parse_output,                0,                             offsetof(Socket, exec_context.std_error)},
     427             :       {"Unit.JoinsNamespaceOf",           config_parse_unit_deps,             UNIT_JOINS_NAMESPACE_OF,       0},
     428             :       {"Socket.ReadWriteDirectories",         config_parse_namespace_path_strv,   0,                             offsetof(Socket, exec_context.read_write_dirs)},
     429             :       {(char*)0},
     430             :       {"Scope.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Scope, cgroup_context.blockio_weight)},
     431             :       {"Mount.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Mount, cgroup_context)},
     432             :       {(char*)0},
     433             :       {"Service.User",                         config_parse_unit_string_printf,    0,                             offsetof(Service, exec_context.user)},
     434             :       {(char*)0},
     435             :       {"Unit.DefaultDependencies",        config_parse_bool,                  0,                             offsetof(Unit, default_dependencies)},
     436             :       {"Scope.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Scope, cgroup_context)},
     437             :       {(char*)0},
     438             :       {"Swap.IOSchedulingClass",            config_parse_exec_io_class,         0,                             offsetof(Swap, exec_context)},
     439             :       {(char*)0},
     440             :       {"Unit.ConditionPathIsReadWrite",   config_parse_unit_condition_path,   CONDITION_PATH_IS_READ_WRITE,  offsetof(Unit, conditions)},
     441             :       {"Unit.ConditionPathIsMountPoint",  config_parse_unit_condition_path,   CONDITION_PATH_IS_MOUNT_POINT, offsetof(Unit, conditions)},
     442             :       {(char*)0}, {(char*)0},
     443             :       {"Timer.OnUnitInactiveSec",         config_parse_timer,                 0,                             0},
     444             :       {"Unit.ConditionPathExists",        config_parse_unit_condition_path,   CONDITION_PATH_EXISTS,         offsetof(Unit, conditions)},
     445             :       {"Timer.OnBootSec",                 config_parse_timer,                 0,                             0},
     446             :       {(char*)0}, {(char*)0},
     447             :       {"Path.MakeDirectory",              config_parse_bool,                  0,                             offsetof(Path, make_directory)},
     448             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     449             :       {(char*)0}, {(char*)0},
     450             :       {"BusName.Service",                 config_parse_busname_service,       0,                             0},
     451             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     452             :       {"Slice.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Slice, cgroup_context.cpu_shares)},
     453             :       {"Socket.SupplementaryGroups",          config_parse_strv,                  0,                             offsetof(Socket, exec_context.supplementary_groups)},
     454             :       {(char*)0}, {(char*)0}, {(char*)0},
     455             :       {"Swap.TTYVHangup",                   config_parse_bool,                  0,                             offsetof(Swap, exec_context.tty_vhangup)},
     456             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     457             :       {"Mount.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Mount, cgroup_context.cpu_shares)},
     458             :       {(char*)0}, {(char*)0}, {(char*)0},
     459             :       {"Socket.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Socket, cgroup_context.device_policy)},
     460             :       {"Scope.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Scope, cgroup_context.cpu_shares)},
     461             :       {(char*)0},
     462             :       {"Service.ReadOnlyDirectories",          config_parse_namespace_path_strv,   0,                             offsetof(Service, exec_context.read_only_dirs)},
     463             :       {"Socket.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Socket, cgroup_context.startup_cpu_shares)},
     464             :       {"Slice.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Slice, cgroup_context)},
     465             :       {"Service.IOSchedulingClass",            config_parse_exec_io_class,         0,                             offsetof(Service, exec_context)},
     466             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     467             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     468             :       {"Mount.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Mount, cgroup_context)},
     469             :       {(char*)0}, {(char*)0},
     470             :       {"Service.OOMScoreAdjust",               config_parse_exec_oom_score_adjust, 0,                             offsetof(Service, exec_context)},
     471             :       {(char*)0},
     472             :       {"Scope.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Scope, cgroup_context)},
     473             :       {(char*)0},
     474             :       {"Swap.Environment",                  config_parse_environ,               0,                             offsetof(Swap, exec_context.environment)},
     475             :       {(char*)0}, {(char*)0},
     476             :       {"Swap.CPUSchedulingPolicy",          config_parse_exec_cpu_sched_policy, 0,                             offsetof(Swap, exec_context)},
     477             :       {"Swap.EnvironmentFile",              config_parse_unit_env_file,         0,                             offsetof(Swap, exec_context.environment_files)},
     478             :       {"Swap.CPUSchedulingPriority",        config_parse_exec_cpu_sched_prio,   0,                             offsetof(Swap, exec_context)},
     479             :       {(char*)0},
     480             :       {"Service.Group",                        config_parse_unit_string_printf,    0,                             offsetof(Service, exec_context.group)},
     481             :       {"Unit.Conflicts",                  config_parse_unit_deps,             UNIT_CONFLICTS,                0},
     482             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     483             :       {(char*)0}, {(char*)0},
     484             :       {"Mount.IOSchedulingPriority",         config_parse_exec_io_priority,      0,                             offsetof(Mount, exec_context)},
     485             :       {(char*)0},
     486             :       {"Swap.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Swap, cgroup_context.blockio_weight)},
     487             :       {(char*)0}, {(char*)0},
     488             :       {"Unit.Description",                config_parse_unit_string_printf,    0,                             offsetof(Unit, description)},
     489             :       {"Service.UtmpIdentifier",               config_parse_unit_string_printf,    0,                             offsetof(Service, exec_context.utmp_id)},
     490             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     491             :       {(char*)0},
     492             :       {"Swap.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Swap, cgroup_context)},
     493             :       {(char*)0}, {(char*)0},
     494             :       {"Socket.UtmpIdentifier",               config_parse_unit_string_printf,    0,                             offsetof(Socket, exec_context.utmp_id)},
     495             :       {"Mount.SyslogIdentifier",             config_parse_unit_string_printf,    0,                             offsetof(Mount, exec_context.syslog_identifier)},
     496             :       {(char*)0},
     497             :       {"Socket.PassSecurity",             config_parse_bool,                  0,                             offsetof(Socket, pass_sec)},
     498             :       {(char*)0},
     499             :       {"Unit.ConditionArchitecture",      config_parse_unit_condition_string, CONDITION_ARCHITECTURE,        offsetof(Unit, conditions)},
     500             :       {(char*)0}, {(char*)0},
     501             :       {"Socket.BindIPv6Only",             config_parse_socket_bind,           0,                             0,},
     502             :       {(char*)0},
     503             :       {"Swap.SyslogIdentifier",             config_parse_unit_string_printf,    0,                             offsetof(Swap, exec_context.syslog_identifier)},
     504             :       {"Swap.Capabilities",                 config_parse_exec_capabilities,     0,                             offsetof(Swap, exec_context)},
     505             :       {"Socket.LimitRTTIME",                  config_parse_limit,                 RLIMIT_RTTIME,                 offsetof(Socket, exec_context.rlimit)},
     506             :       {(char*)0},
     507             :       {"Swap.IOSchedulingPriority",         config_parse_exec_io_priority,      0,                             offsetof(Swap, exec_context)},
     508             :       {"Unit.ConditionACPower",           config_parse_unit_condition_string, CONDITION_AC_POWER,            offsetof(Unit, conditions)},
     509             :       {(char*)0},
     510             :       {"Swap.InaccessibleDirectories",      config_parse_namespace_path_strv,   0,                             offsetof(Swap, exec_context.inaccessible_dirs)},
     511             :       {(char*)0},
     512             :       {"Swap.UMask",                        config_parse_mode,                  0,                             offsetof(Swap, exec_context.umask)},
     513             :       {"Slice.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Slice, cgroup_context.startup_blockio_weight)},
     514             :       {(char*)0}, {(char*)0},
     515             :       {"Unit.ConditionPathIsDirectory",   config_parse_unit_condition_path,   CONDITION_PATH_IS_DIRECTORY,   offsetof(Unit, conditions)},
     516             :       {"Socket.TTYReset",                     config_parse_bool,                  0,                             offsetof(Socket, exec_context.tty_reset)},
     517             :       {"Swap.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Swap, cgroup_context)},
     518             :       {"Socket.KillSignal",                   config_parse_kill_signal,           0,                             offsetof(Socket, kill_context.kill_signal)},
     519             :       {(char*)0},
     520             :       {"Mount.RestrictAddressFamilies",      config_parse_address_families,      0,                             offsetof(Mount, exec_context)},
     521             :       {(char*)0},
     522             :       {"Mount.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Mount, cgroup_context.startup_blockio_weight)},
     523             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     524             :       {"Scope.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Scope, cgroup_context.startup_blockio_weight)},
     525             :       {"Service.Type",                    config_parse_service_type,          0,                             offsetof(Service, type)},
     526             :       {(char*)0},
     527             :       {"Unit.RequiresOverridable",        config_parse_unit_deps,             UNIT_REQUIRES_OVERRIDABLE,     0},
     528             :       {(char*)0}, {(char*)0}, {(char*)0},
     529             :       {"Service.TimeoutSec",              config_parse_service_timeout,       0,                             offsetof(Service, timeout_start_usec)},
     530             :       {(char*)0}, {(char*)0},
     531             :       {"Unit.IgnoreOnSnapshot",           config_parse_bool,                  0,                             offsetof(Unit, ignore_on_snapshot)},
     532             :       {"Service.TimeoutStopSec",          config_parse_service_timeout,       0,                             offsetof(Service, timeout_stop_usec)},
     533             :       {"Service.TimeoutStartSec",         config_parse_service_timeout,       0,                             offsetof(Service, timeout_start_usec)},
     534             :       {"Unit.AssertSecurity",             config_parse_unit_condition_string, CONDITION_SECURITY,            offsetof(Unit, asserts)},
     535             :       {(char*)0},
     536             :       {"Slice.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Slice, cgroup_context)},
     537             :       {"BusName.SELinuxContext",          config_parse_exec_selinux_context,  0,                             0},
     538             :       {"Unit.JobTimeoutSec",              config_parse_sec,                   0,                             offsetof(Unit, job_timeout)},
     539             :       {(char*)0},
     540             :       {"Swap.LimitLOCKS",                   config_parse_limit,                 RLIMIT_LOCKS,                  offsetof(Swap, exec_context.rlimit)},
     541             :       {(char*)0},
     542             :       {"Service.SELinuxContext",              config_parse_warn_compat,           DISABLED_CONFIGURATION,        0},
     543             :       {"Service.IOSchedulingPriority",         config_parse_exec_io_priority,      0,                             offsetof(Service, exec_context)},
     544             :       {"Socket.IOSchedulingClass",            config_parse_exec_io_class,         0,                             offsetof(Socket, exec_context)},
     545             :       {(char*)0},
     546             :       {"Mount.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Mount, cgroup_context)},
     547             :       {(char*)0}, {(char*)0},
     548             :       {"Unit.JobTimeoutRebootArgument",   config_parse_string,                0,                             offsetof(Unit, job_timeout_reboot_arg)},
     549             :       {(char*)0},
     550             :       {"Scope.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Scope, cgroup_context)},
     551             :       {"Slice.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Slice, cgroup_context)},
     552             :       {(char*)0},
     553             :       {"Unit.ConditionCapability",        config_parse_unit_condition_string, CONDITION_CAPABILITY,          offsetof(Unit, conditions)},
     554             :       {(char*)0}, {(char*)0}, {(char*)0},
     555             :       {"Service.RemainAfterExit",         config_parse_bool,                  0,                             offsetof(Service, remain_after_exit)},
     556             :       {(char*)0},
     557             :       {"Unit.RequisiteOverridable",       config_parse_unit_deps,             UNIT_REQUISITE_OVERRIDABLE,    0},
     558             :       {(char*)0},
     559             :       {"Mount.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Mount, cgroup_context)},
     560             :       {(char*)0}, {(char*)0}, {(char*)0},
     561             :       {"Socket.PrivateDevices",               config_parse_bool,                  0,                             offsetof(Socket, exec_context.private_devices)},
     562             :       {"Scope.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Scope, cgroup_context)},
     563             :       {(char*)0}, {(char*)0},
     564             :       {"Unit.ReloadPropagatedFrom",       config_parse_unit_deps,             UNIT_RELOAD_PROPAGATED_FROM,   0},
     565             :       {(char*)0},
     566             :       {"Service.RebootArgument",          config_parse_string,                0,                             offsetof(Service, reboot_arg)},
     567             :       {(char*)0},
     568             :       {"Mount.StandardError",                config_parse_output,                0,                             offsetof(Mount, exec_context.std_error)},
     569             :       {(char*)0},
     570             :       {"Timer.OnCalendar",                config_parse_timer,                 0,                             0},
     571             :       {(char*)0}, {(char*)0}, {(char*)0},
     572             :       {"Mount.SyslogFacility",               config_parse_log_facility,          0,                             offsetof(Mount, exec_context.syslog_priority)},
     573             :       {"Swap.CapabilityBoundingSet",        config_parse_bounding_set,          0,                             offsetof(Swap, exec_context.capability_bounding_set_drop)},
     574             :       {(char*)0}, {(char*)0}, {(char*)0},
     575             :       {"Swap.ReadWriteDirectories",         config_parse_namespace_path_strv,   0,                             offsetof(Swap, exec_context.read_write_dirs)},
     576             :       {"Unit.OnFailureJobMode",           config_parse_job_mode,              0,                             offsetof(Unit, on_failure_job_mode)},
     577             :       {"Socket.LimitLOCKS",                   config_parse_limit,                 RLIMIT_LOCKS,                  offsetof(Socket, exec_context.rlimit)},
     578             :       {"Unit.ConditionVirtualization",    config_parse_unit_condition_string, CONDITION_VIRTUALIZATION,      offsetof(Unit, conditions)},
     579             :       {(char*)0}, {(char*)0},
     580             :       {"Swap.SyslogLevel",                  config_parse_log_level,             0,                             offsetof(Swap, exec_context.syslog_priority)},
     581             :       {(char*)0}, {(char*)0}, {(char*)0},
     582             :       {"Socket.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Socket, cgroup_context.blockio_weight)},
     583             :       {"Service.IgnoreSIGPIPE",                config_parse_bool,                  0,                             offsetof(Service, exec_context.ignore_sigpipe)},
     584             :       {"Mount.TTYVTDisallocate",             config_parse_bool,                  0,                             offsetof(Mount, exec_context.tty_vt_disallocate)},
     585             :       {"Socket.CapabilityBoundingSet",        config_parse_bounding_set,          0,                             offsetof(Socket, exec_context.capability_bounding_set_drop)},
     586             :       {"Socket.Capabilities",                 config_parse_exec_capabilities,     0,                             offsetof(Socket, exec_context)},
     587             :       {"Mount.StandardOutput",               config_parse_output,                0,                             offsetof(Mount, exec_context.std_output)},
     588             :       {(char*)0}, {(char*)0},
     589             :       {"Unit.Documentation",              config_parse_documentation,         0,                             offsetof(Unit, documentation)},
     590             :       {"Service.SystemCallFilter",            config_parse_syscall_filter,        0,                             offsetof(Service, exec_context)},
     591             :       {(char*)0},
     592             :       {"Service.SystemCallArchitectures",      config_parse_syscall_archs,         0,                             offsetof(Service, exec_context.syscall_archs)},
     593             :       {(char*)0},
     594             :       {"Socket.Personality",                  config_parse_personality,           0,                             offsetof(Socket, exec_context.personality)},
     595             :       {"Service.SystemCallErrorNumber",        config_parse_syscall_errno,         0,                             offsetof(Service, exec_context)},
     596             :       {"Socket.ListenNetlink",            config_parse_socket_listen,         SOCKET_SOCKET,                 0},
     597             :       {(char*)0},
     598             :       {"Socket.LimitFSIZE",                   config_parse_limit,                 RLIMIT_FSIZE,                  offsetof(Socket, exec_context.rlimit)},
     599             :       {(char*)0},
     600             :       {"Swap.LimitCORE",                    config_parse_limit,                 RLIMIT_CORE,                   offsetof(Swap, exec_context.rlimit)},
     601             :       {(char*)0}, {(char*)0},
     602             :       {"Swap.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Swap, cgroup_context.device_policy)},
     603             :       {(char*)0},
     604             :       {"Mount.StandardInput",                config_parse_input,                 0,                             offsetof(Mount, exec_context.std_input)},
     605             :       {(char*)0},
     606             :       {"Unit.OnFailureIsolate",           config_parse_job_mode_isolate,      0,                             offsetof(Unit, on_failure_job_mode)},
     607             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     608             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     609             :       {(char*)0}, {(char*)0}, {(char*)0},
     610             :       {"Mount.PAMName",                     config_parse_unit_string_printf,    0,                             offsetof(Mount, exec_context.pam_name)},
     611             :       {"Swap.LimitNICE",                    config_parse_limit,                 RLIMIT_NICE,                   offsetof(Swap, exec_context.rlimit)},
     612             :       {"Swap.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Swap, cgroup_context)},
     613             :       {"Swap.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Swap, cgroup_context)},
     614             :       {"Service.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Service, cgroup_context.cpu_shares)},
     615             :       {(char*)0},
     616             :       {"Swap.SELinuxContext",              config_parse_warn_compat,           DISABLED_CONFIGURATION,        0},
     617             :       {"Unit.ConditionNeedsUpdate",       config_parse_unit_condition_path,   CONDITION_NEEDS_UPDATE,        offsetof(Unit, conditions)},
     618             :       {"Swap.SystemCallFilter",            config_parse_syscall_filter,        0,                             offsetof(Swap, exec_context)},
     619             :       {(char*)0},
     620             :       {"Swap.SystemCallArchitectures",      config_parse_syscall_archs,         0,                             offsetof(Swap, exec_context.syscall_archs)},
     621             :       {(char*)0},
     622             :       {"Mount.PrivateNetwork",               config_parse_bool,                  0,                             offsetof(Mount, exec_context.private_network)},
     623             :       {"Swap.SystemCallErrorNumber",        config_parse_syscall_errno,         0,                             offsetof(Swap, exec_context)},
     624             :       {"Socket.IOSchedulingPriority",         config_parse_exec_io_priority,      0,                             offsetof(Socket, exec_context)},
     625             :       {(char*)0},
     626             :       {"Service.SyslogIdentifier",             config_parse_unit_string_printf,    0,                             offsetof(Service, exec_context.syslog_identifier)},
     627             :       {(char*)0},
     628             :       {"Swap.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Swap, cgroup_context.startup_cpu_shares)},
     629             :       {"Socket.ListenFIFO",               config_parse_socket_listen,         SOCKET_FIFO,                   0},
     630             :       {(char*)0}, {(char*)0},
     631             :       {"Swap.LimitFSIZE",                   config_parse_limit,                 RLIMIT_FSIZE,                  offsetof(Swap, exec_context.rlimit)},
     632             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     633             :       {"Mount.Type",                      config_parse_string,                0,                             offsetof(Mount, parameters_fragment.fstype)},
     634             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     635             :       {"Socket.IgnoreSIGPIPE",                config_parse_bool,                  0,                             offsetof(Socket, exec_context.ignore_sigpipe)},
     636             :       {(char*)0},
     637             :       {"Socket.AppArmorProfile",             config_parse_warn_compat,           DISABLED_CONFIGURATION,        0},
     638             :       {(char*)0}, {(char*)0},
     639             :       {"Unit.AssertHost",                 config_parse_unit_condition_string, CONDITION_HOST,                offsetof(Unit, asserts)},
     640             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     641             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     642             :       {(char*)0},
     643             :       {"Unit.SourcePath",                 config_parse_path,                  0,                             offsetof(Unit, source_path)},
     644             :       {"Service.BlockIOWeight",                config_parse_blockio_weight,        0,                             offsetof(Service, cgroup_context.blockio_weight)},
     645             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     646             :       {"Socket.ReadOnlyDirectories",          config_parse_namespace_path_strv,   0,                             offsetof(Socket, exec_context.read_only_dirs)},
     647             :       {"Service.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Service, cgroup_context)},
     648             :       {(char*)0},
     649             :       {"Socket.TTYPath",                      config_parse_unit_path_printf,      0,                             offsetof(Socket, exec_context.tty_path)},
     650             :       {"Service.SysVStartPriority",       config_parse_warn_compat,           DISABLED_LEGACY,               0},
     651             :       {"Unit.ConditionDirectoryNotEmpty", config_parse_unit_condition_path,   CONDITION_DIRECTORY_NOT_EMPTY, offsetof(Unit, conditions)},
     652             :       {(char*)0}, {(char*)0},
     653             :       {"Swap.SupplementaryGroups",          config_parse_strv,                  0,                             offsetof(Swap, exec_context.supplementary_groups)},
     654             :       {"Mount.CPUSchedulingPolicy",          config_parse_exec_cpu_sched_policy, 0,                             offsetof(Mount, exec_context)},
     655             :       {(char*)0},
     656             :       {"Mount.CPUSchedulingPriority",        config_parse_exec_cpu_sched_prio,   0,                             offsetof(Mount, exec_context)},
     657             :       {"Unit.ConditionPathExistsGlob",    config_parse_unit_condition_path,   CONDITION_PATH_EXISTS_GLOB,    offsetof(Unit, conditions)},
     658             :       {"Swap.UtmpIdentifier",               config_parse_unit_string_printf,    0,                             offsetof(Swap, exec_context.utmp_id)},
     659             :       {"Service.Sockets",                 config_parse_service_sockets,       0,                             0},
     660             :       {(char*)0},
     661             :       {"Mount.CapabilityBoundingSet",        config_parse_bounding_set,          0,                             offsetof(Mount, exec_context.capability_bounding_set_drop)},
     662             :       {"Mount.Capabilities",                 config_parse_exec_capabilities,     0,                             offsetof(Mount, exec_context)},
     663             :       {(char*)0}, {(char*)0}, {(char*)0},
     664             :       {"Service.TimerSlackNSec",               config_parse_nsec,                  0,                             offsetof(Service, exec_context.timer_slack_nsec)},
     665             :       {"Socket.TTYVTDisallocate",             config_parse_bool,                  0,                             offsetof(Socket, exec_context.tty_vt_disallocate)},
     666             :       {(char*)0}, {(char*)0}, {(char*)0},
     667             :       {"Slice.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Slice, cgroup_context.startup_cpu_shares)},
     668             :       {(char*)0}, {(char*)0}, {(char*)0},
     669             :       {"Unit.JobTimeoutAction",           config_parse_failure_action,        0,                             offsetof(Unit, job_timeout_action)},
     670             :       {(char*)0},
     671             :       {"Mount.LimitAS",                      config_parse_limit,                 RLIMIT_AS,                     offsetof(Mount, exec_context.rlimit)},
     672             :       {"Swap.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Swap, cgroup_context)},
     673             :       {"Socket.RootDirectory",                config_parse_unit_path_printf,      0,                             offsetof(Socket, exec_context.root_directory)},
     674             :       {(char*)0},
     675             :       {"Mount.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Mount, cgroup_context.startup_cpu_shares)},
     676             :       {(char*)0},
     677             :       {"Mount.LimitRSS",                     config_parse_limit,                 RLIMIT_RSS,                    offsetof(Mount, exec_context.rlimit)},
     678             :       {"Service.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Service, cgroup_context.device_policy)},
     679             :       {(char*)0},
     680             :       {"Scope.StartupCPUShares",             config_parse_cpu_shares,            0,                             offsetof(Scope, cgroup_context.startup_cpu_shares)},
     681             :       {(char*)0}, {(char*)0}, {(char*)0},
     682             :       {"Socket.LimitDATA",                    config_parse_limit,                 RLIMIT_DATA,                   offsetof(Socket, exec_context.rlimit)},
     683             :       {"Service.CPUSchedulingPolicy",          config_parse_exec_cpu_sched_policy, 0,                             offsetof(Service, exec_context)},
     684             :       {"Socket.LimitRTPRIO",                  config_parse_limit,                 RLIMIT_RTPRIO,                 offsetof(Socket, exec_context.rlimit)},
     685             :       {"Service.CPUSchedulingPriority",        config_parse_exec_cpu_sched_prio,   0,                             offsetof(Service, exec_context)},
     686             :       {"Socket.TCPCongestion",            config_parse_string,                0,                             offsetof(Socket, tcp_congestion)},
     687             :       {(char*)0}, {(char*)0},
     688             :       {"Unit.PropagatesReloadTo",         config_parse_unit_deps,             UNIT_PROPAGATES_RELOAD_TO,     0},
     689             :       {(char*)0}, {(char*)0},
     690             :       {"Socket.LimitNICE",                    config_parse_limit,                 RLIMIT_NICE,                   offsetof(Socket, exec_context.rlimit)},
     691             :       {(char*)0}, {(char*)0},
     692             :       {"Service.CapabilityBoundingSet",        config_parse_bounding_set,          0,                             offsetof(Service, exec_context.capability_bounding_set_drop)},
     693             :       {"Service.Capabilities",                 config_parse_exec_capabilities,     0,                             offsetof(Service, exec_context)},
     694             :       {"Service.KillMode",                     config_parse_kill_mode,             0,                             offsetof(Service, kill_context.kill_mode)},
     695             :       {"Slice.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Slice, cgroup_context.memory_accounting)},
     696             :       {"Socket.WorkingDirectory",            config_parse_unit_path_printf,      0,                             offsetof(Socket, exec_context.working_directory)},
     697             :       {(char*)0},
     698             :       {"Socket.Delegate",                     config_parse_bool,                  0,                             offsetof(Socket, cgroup_context.delegate)},
     699             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     700             :       {(char*)0}, {(char*)0},
     701             :       {"Mount.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Mount, cgroup_context.memory_accounting)},
     702             :       {"Socket.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Socket, cgroup_context)},
     703             :       {(char*)0},
     704             :       {"Service.NotifyAccess",            config_parse_notify_access,         0,                             offsetof(Service, notify_access)},
     705             :       {"Swap.WorkingDirectory",            config_parse_unit_path_printf,      0,                             offsetof(Swap, exec_context.working_directory)},
     706             :       {"Scope.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Scope, cgroup_context.memory_accounting)},
     707             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     708             :       {(char*)0},
     709             :       {"Swap.IgnoreSIGPIPE",                config_parse_bool,                  0,                             offsetof(Swap, exec_context.ignore_sigpipe)},
     710             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     711             :       {"Socket.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Socket, cgroup_context.memory_accounting)},
     712             :       {(char*)0}, {(char*)0}, {(char*)0},
     713             :       {"Swap.SyslogLevelPrefix",            config_parse_bool,                  0,                             offsetof(Swap, exec_context.syslog_level_prefix)},
     714             :       {(char*)0}, {(char*)0}, {(char*)0},
     715             :       {"Socket.Mark",                     config_parse_int,                   0,                             offsetof(Socket, mark)},
     716             :       {"Service.ExecStart",               config_parse_exec,                  SERVICE_EXEC_START,            offsetof(Service, exec_command)},
     717             :       {(char*)0}, {(char*)0},
     718             :       {"Service.ExecStartPre",            config_parse_exec,                  SERVICE_EXEC_START_PRE,        offsetof(Service, exec_command)},
     719             :       {"Service.ExecStartPost",           config_parse_exec,                  SERVICE_EXEC_START_POST,       offsetof(Service, exec_command)},
     720             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     721             :       {"Socket.LimitCORE",                    config_parse_limit,                 RLIMIT_CORE,                   offsetof(Socket, exec_context.rlimit)},
     722             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     723             :       {(char*)0}, {(char*)0},
     724             :       {"Unit.ConditionFirstBoot",         config_parse_unit_condition_string, CONDITION_FIRST_BOOT,          offsetof(Unit, conditions)},
     725             :       {"Service.ProtectHome",                  config_parse_protect_home,          0,                             offsetof(Service, exec_context)},
     726             :       {"Service.ExecStopPost",            config_parse_exec,                  SERVICE_EXEC_STOP_POST,        offsetof(Service, exec_command)},
     727             :       {(char*)0},
     728             :       {"Mount.Environment",                  config_parse_environ,               0,                             offsetof(Mount, exec_context.environment)},
     729             :       {(char*)0}, {(char*)0},
     730             :       {"Unit.ConditionFileIsExecutable",  config_parse_unit_condition_path,   CONDITION_FILE_IS_EXECUTABLE,  offsetof(Unit, conditions)},
     731             :       {"Mount.EnvironmentFile",              config_parse_unit_env_file,         0,                             offsetof(Mount, exec_context.environment_files)},
     732             :       {(char*)0},
     733             :       {"Unit.ConditionNull",              config_parse_unit_condition_null,   0,                             offsetof(Unit, conditions)},
     734             :       {"Mount.IgnoreSIGPIPE",                config_parse_bool,                  0,                             offsetof(Mount, exec_context.ignore_sigpipe)},
     735             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     736             :       {"Socket.RemoveOnStop",             config_parse_bool,                  0,                             offsetof(Socket, remove_on_stop)},
     737             :       {(char*)0},
     738             :       {"Mount.UMask",                        config_parse_mode,                  0,                             offsetof(Mount, exec_context.umask)},
     739             :       {"Socket.RuntimeDirectoryMode",         config_parse_mode,                  0,                             offsetof(Socket, exec_context.runtime_directory_mode)},
     740             :       {(char*)0}, {(char*)0}, {(char*)0},
     741             :       {"Service.ProtectSystem",                config_parse_protect_system,        0,                             offsetof(Service, exec_context)},
     742             :       {(char*)0},
     743             :       {"Unit.AssertKernelCommandLine",    config_parse_unit_condition_string, CONDITION_KERNEL_COMMAND_LINE, offsetof(Unit, asserts)},
     744             :       {(char*)0},
     745             :       {"Swap.KillSignal",                   config_parse_kill_signal,           0,                             offsetof(Swap, kill_context.kill_signal)},
     746             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     747             :       {"Mount.SELinuxContext",              config_parse_warn_compat,           DISABLED_CONFIGURATION,        0},
     748             :       {(char*)0}, {(char*)0},
     749             :       {"Unit.AssertACPower",              config_parse_unit_condition_string, CONDITION_AC_POWER,            offsetof(Unit, asserts)},
     750             :       {(char*)0},
     751             :       {"Socket.KillMode",                     config_parse_kill_mode,             0,                             offsetof(Socket, kill_context.kill_mode)},
     752             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     753             :       {(char*)0}, {(char*)0},
     754             :       {"Mount.CPUAffinity",                  config_parse_exec_cpu_affinity,     0,                             offsetof(Mount, exec_context)},
     755             :       {"Service.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Service, cgroup_context)},
     756             :       {"Service.BlockIOWriteBandwidth",        config_parse_blockio_bandwidth,     0,                             offsetof(Service, cgroup_context)},
     757             :       {(char*)0},
     758             :       {"Unit.AssertPathIsReadWrite",      config_parse_unit_condition_path,   CONDITION_PATH_IS_READ_WRITE,  offsetof(Unit, asserts)},
     759             :       {"Unit.AssertPathIsMountPoint",     config_parse_unit_condition_path,   CONDITION_PATH_IS_MOUNT_POINT, offsetof(Unit, asserts)},
     760             :       {"Slice.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Slice, cgroup_context.blockio_accounting)},
     761             :       {(char*)0}, {(char*)0},
     762             :       {"Unit.AssertPathExists",           config_parse_unit_condition_path,   CONDITION_PATH_EXISTS,         offsetof(Unit, asserts)},
     763             :       {(char*)0},
     764             :       {"Mount.SmackProcessLabel",           config_parse_exec_smack_process_label, 0,                          offsetof(Mount, exec_context)},
     765             :       {(char*)0},
     766             :       {"Socket.LimitMSGQUEUE",                config_parse_limit,                 RLIMIT_MSGQUEUE,               offsetof(Socket, exec_context.rlimit)},
     767             :       {"Swap.LimitRTPRIO",                  config_parse_limit,                 RLIMIT_RTPRIO,                 offsetof(Swap, exec_context.rlimit)},
     768             :       {"Socket.NoNewPrivileges",              config_parse_no_new_privileges,     0,                             offsetof(Socket, exec_context)},
     769             :       {"Mount.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Mount, cgroup_context.blockio_accounting)},
     770             :       {(char*)0},
     771             :       {"Mount.SupplementaryGroups",          config_parse_strv,                  0,                             offsetof(Mount, exec_context.supplementary_groups)},
     772             :       {(char*)0}, {(char*)0},
     773             :       {"Scope.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Scope, cgroup_context.blockio_accounting)},
     774             :       {(char*)0},
     775             :       {"Socket.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Socket, cgroup_context)},
     776             :       {"Service.FailureAction",           config_parse_failure_action,        0,                             offsetof(Service, failure_action)},
     777             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     778             :       {"Unit.AssertCapability",           config_parse_unit_condition_string, CONDITION_CAPABILITY,          offsetof(Unit, asserts)},
     779             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     780             :       {(char*)0}, {(char*)0}, {(char*)0},
     781             :       {"Swap.CPUSchedulingResetOnFork",     config_parse_bool,                  0,                             offsetof(Swap, exec_context.cpu_sched_reset_on_fork)},
     782             :       {"Unit.AssertVirtualization",       config_parse_unit_condition_string, CONDITION_VIRTUALIZATION,      offsetof(Unit, asserts)},
     783             :       {(char*)0},
     784             :       {"Socket.LimitSTACK",                   config_parse_limit,                 RLIMIT_STACK,                  offsetof(Socket, exec_context.rlimit)},
     785             :       {(char*)0},
     786             :       {"Socket.SmackProcessLabel",           config_parse_exec_smack_process_label, 0,                          offsetof(Socket, exec_context)},
     787             :       {(char*)0},
     788             :       {"Service.ExecStop",                config_parse_exec,                  SERVICE_EXEC_STOP,             offsetof(Service, exec_command)},
     789             :       {"Socket.PassCredentials",          config_parse_bool,                  0,                             offsetof(Socket, pass_cred)},
     790             :       {(char*)0}, {(char*)0},
     791             :       {"Service.FileDescriptorStoreMax",  config_parse_unsigned,              0,                             offsetof(Service, n_fd_store_max)},
     792             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     793             :       {(char*)0}, {(char*)0}, {(char*)0},
     794             :       {"Service.UMask",                        config_parse_mode,                  0,                             offsetof(Service, exec_context.umask)},
     795             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     796             :       {(char*)0},
     797             :       {"Socket.Backlog",                  config_parse_unsigned,              0,                             offsetof(Socket, backlog)},
     798             :       {(char*)0}, {(char*)0},
     799             :       {"Mount.SyslogLevel",                  config_parse_log_level,             0,                             offsetof(Mount, exec_context.syslog_priority)},
     800             :       {(char*)0},
     801             :       {"Socket.PAMName",                     config_parse_unit_string_printf,    0,                             offsetof(Socket, exec_context.pam_name)},
     802             :       {(char*)0},
     803             :       {"Unit.ConditionFileNotEmpty",      config_parse_unit_condition_path,   CONDITION_FILE_NOT_EMPTY,      offsetof(Unit, conditions)},
     804             :       {"Service.BusPolicy",               config_parse_bus_endpoint_policy,   0,                             offsetof(Service, exec_context)},
     805             :       {(char*)0}, {(char*)0},
     806             :       {"Service.LimitAS",                      config_parse_limit,                 RLIMIT_AS,                     offsetof(Service, exec_context.rlimit)},
     807             :       {"Service.LimitRSS",                     config_parse_limit,                 RLIMIT_RSS,                    offsetof(Service, exec_context.rlimit)},
     808             :       {(char*)0}, {(char*)0},
     809             :       {"Service.SyslogLevel",                  config_parse_log_level,             0,                             offsetof(Service, exec_context.syslog_priority)},
     810             :       {(char*)0}, {(char*)0},
     811             :       {"Swap.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Swap, cgroup_context.blockio_accounting)},
     812             :       {"Socket.RuntimeDirectory",             config_parse_runtime_directory,     0,                             offsetof(Socket, exec_context.runtime_directory)},
     813             :       {"Swap.SyslogFacility",               config_parse_log_facility,          0,                             offsetof(Swap, exec_context.syslog_priority)},
     814             :       {(char*)0},
     815             :       {"Mount.NoNewPrivileges",              config_parse_no_new_privileges,     0,                             offsetof(Mount, exec_context)},
     816             :       {"Unit.ConditionPathIsSymbolicLink",config_parse_unit_condition_path,   CONDITION_PATH_IS_SYMBOLIC_LINK,offsetof(Unit, conditions)},
     817             :       {"Install.Alias",                   NULL,                               0,                             0},
     818             :       {(char*)0},
     819             :       {"Swap.PrivateTmp",                   config_parse_bool,                  0,                             offsetof(Swap, exec_context.private_tmp)},
     820             :       {(char*)0},
     821             :       {"Socket.StartupBlockIOWeight",         config_parse_blockio_weight,        0,                             offsetof(Socket, cgroup_context.startup_blockio_weight)},
     822             :       {(char*)0}, {(char*)0},
     823             :       {"Service.GuessMainPID",            config_parse_bool,                  0,                             offsetof(Service, guess_main_pid)},
     824             :       {(char*)0},
     825             :       {"Socket.IPTOS",                    config_parse_ip_tos,                0,                             offsetof(Socket, ip_tos)},
     826             :       {"Unit.AssertArchitecture",         config_parse_unit_condition_string, CONDITION_ARCHITECTURE,        offsetof(Unit, asserts)},
     827             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     828             :       {(char*)0},
     829             :       {"Service.Personality",                  config_parse_personality,           0,                             offsetof(Service, exec_context.personality)},
     830             :       {"Swap.LimitSTACK",                   config_parse_limit,                 RLIMIT_STACK,                  offsetof(Swap, exec_context.rlimit)},
     831             :       {"Socket.CPUShares",                    config_parse_cpu_shares,            0,                             offsetof(Socket, cgroup_context.cpu_shares)},
     832             :       {"Swap.LimitMEMLOCK",                 config_parse_limit,                 RLIMIT_MEMLOCK,                offsetof(Swap, exec_context.rlimit)},
     833             :       {"Service.PermissionsStartOnly",    config_parse_bool,                  0,                             offsetof(Service, permissions_start_only)},
     834             :       {"Service.TTYVTDisallocate",             config_parse_bool,                  0,                             offsetof(Service, exec_context.tty_vt_disallocate)},
     835             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     836             :       {(char*)0}, {(char*)0},
     837             :       {"Unit.AssertPathIsDirectory",      config_parse_unit_condition_path,   CONDITION_PATH_IS_DIRECTORY,   offsetof(Unit, asserts)},
     838             :       {(char*)0},
     839             :       {"Service.MountFlags",                   config_parse_exec_mount_flags,      0,                             offsetof(Service, exec_context)},
     840             :       {"Service.Environment",                  config_parse_environ,               0,                             offsetof(Service, exec_context.environment)},
     841             :       {(char*)0}, {(char*)0},
     842             :       {"BusName.AllowUser",               config_parse_bus_policy,            0,                             0},
     843             :       {"Service.EnvironmentFile",              config_parse_unit_env_file,         0,                             offsetof(Service, exec_context.environment_files)},
     844             :       {(char*)0}, {(char*)0}, {(char*)0},
     845             :       {"Socket.SmackLabelIPOut",          config_parse_string,                0,                             offsetof(Socket, smack_ip_out)},
     846             :       {(char*)0}, {(char*)0},
     847             :       {"Swap.AppArmorProfile",             config_parse_warn_compat,           DISABLED_CONFIGURATION,        0},
     848             :       {(char*)0},
     849             :       {"Install.Also",                    NULL,                               0,                             0},
     850             :       {"Swap.LimitMSGQUEUE",                config_parse_limit,                 RLIMIT_MSGQUEUE,               offsetof(Swap, exec_context.rlimit)},
     851             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     852             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     853             :       {"Socket.LimitNPROC",                   config_parse_limit,                 RLIMIT_NPROC,                  offsetof(Socket, exec_context.rlimit)},
     854             :       {"Unit.AssertDirectoryNotEmpty",    config_parse_unit_condition_path,   CONDITION_DIRECTORY_NOT_EMPTY, offsetof(Unit, asserts)},
     855             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     856             :       {(char*)0}, {(char*)0}, {(char*)0},
     857             :       {"Mount.LimitLOCKS",                   config_parse_limit,                 RLIMIT_LOCKS,                  offsetof(Mount, exec_context.rlimit)},
     858             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     859             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     860             :       {(char*)0},
     861             :       {"Service.TTYReset",                     config_parse_bool,                  0,                             offsetof(Service, exec_context.tty_reset)},
     862             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     863             :       {"Mount.LimitSTACK",                   config_parse_limit,                 RLIMIT_STACK,                  offsetof(Mount, exec_context.rlimit)},
     864             :       {(char*)0}, {(char*)0},
     865             :       {"Swap.TimerSlackNSec",               config_parse_nsec,                  0,                             offsetof(Swap, exec_context.timer_slack_nsec)},
     866             :       {(char*)0},
     867             :       {"Install.WantedBy",                NULL,                               0,                             0},
     868             :       {"Timer.OnActiveSec",               config_parse_timer,                 0,                             0},
     869             :       {(char*)0}, {(char*)0}, {(char*)0},
     870             :       {"Socket.KeepAlive",                config_parse_bool,                  0,                             offsetof(Socket, keep_alive)},
     871             :       {(char*)0}, {(char*)0}, {(char*)0},
     872             :       {"Service.BusName",                 config_parse_bus_name,              0,                             offsetof(Service, bus_name)},
     873             :       {"Unit.StopWhenUnneeded",           config_parse_bool,                  0,                             offsetof(Unit, stop_when_unneeded)},
     874             :       {(char*)0},
     875             :       {"Socket.KeepAliveTimeSec",         config_parse_sec,                   0,                             offsetof(Socket, keep_alive_time)},
     876             :       {"Slice.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Slice, cgroup_context.cpu_accounting)},
     877             :       {(char*)0},
     878             :       {"Swap.LimitNOFILE",                  config_parse_limit,                 RLIMIT_NOFILE,                 offsetof(Swap, exec_context.rlimit)},
     879             :       {"Socket.KeepAliveIntervalSec",     config_parse_sec,                   0,                             offsetof(Socket, keep_alive_interval)},
     880             :       {"Swap.LimitCPU",                     config_parse_limit,                 RLIMIT_CPU,                    offsetof(Swap, exec_context.rlimit)},
     881             :       {"Swap.PrivateDevices",               config_parse_bool,                  0,                             offsetof(Swap, exec_context.private_devices)},
     882             :       {(char*)0}, {(char*)0},
     883             :       {"Socket.KeepAliveProbes",          config_parse_unsigned,              0,                             offsetof(Socket, keep_alive_cnt)},
     884             :       {(char*)0},
     885             :       {"Mount.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Mount, cgroup_context.cpu_accounting)},
     886             :       {(char*)0}, {(char*)0},
     887             :       {"Mount.SendSIGKILL",                 config_parse_bool,                  0,                             offsetof(Mount, kill_context.send_sigkill)},
     888             :       {"Slice.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Slice, cgroup_context.device_policy)},
     889             :       {"Scope.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Scope, cgroup_context.cpu_accounting)},
     890             :       {(char*)0}, {(char*)0},
     891             :       {"Scope.SendSIGKILL",                 config_parse_bool,                  0,                             offsetof(Scope, kill_context.send_sigkill)},
     892             :       {"BusName.AllowGroup",              config_parse_bus_policy,            0,                             0},
     893             :       {"Swap.LimitDATA",                    config_parse_limit,                 RLIMIT_DATA,                   offsetof(Swap, exec_context.rlimit)},
     894             :       {"Mount.ReadOnlyDirectories",          config_parse_namespace_path_strv,   0,                             offsetof(Mount, exec_context.read_only_dirs)},
     895             :       {"Swap.CPUAffinity",                  config_parse_exec_cpu_affinity,     0,                             offsetof(Swap, exec_context)},
     896             :       {"Unit.RefuseManualStart",          config_parse_bool,                  0,                             offsetof(Unit, refuse_manual_start)},
     897             :       {"Mount.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Mount, cgroup_context.device_policy)},
     898             :       {"Service.MemoryLimit",                  config_parse_memory_limit,          0,                             offsetof(Service, cgroup_context)},
     899             :       {(char*)0}, {(char*)0}, {(char*)0},
     900             :       {"Scope.DevicePolicy",                 config_parse_device_policy,         0,                             offsetof(Scope, cgroup_context.device_policy)},
     901             :       {(char*)0}, {(char*)0}, {(char*)0},
     902             :       {"Path.DirectoryNotEmpty",          config_parse_path_spec,             0,                             0},
     903             :       {(char*)0}, {(char*)0}, {(char*)0},
     904             :       {"Swap.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Swap, cgroup_context.memory_accounting)},
     905             :       {(char*)0}, {(char*)0}, {(char*)0},
     906             :       {"Mount.LimitCORE",                    config_parse_limit,                 RLIMIT_CORE,                   offsetof(Mount, exec_context.rlimit)},
     907             :       {"Mount.AppArmorProfile",             config_parse_warn_compat,           DISABLED_CONFIGURATION,        0},
     908             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     909             :       {"Socket.BlockIODeviceWeight",          config_parse_blockio_device_weight, 0,                             offsetof(Socket, cgroup_context)},
     910             :       {(char*)0},
     911             :       {"Service.LimitFSIZE",                   config_parse_limit,                 RLIMIT_FSIZE,                  offsetof(Service, exec_context.rlimit)},
     912             :       {(char*)0}, {(char*)0},
     913             :       {"Service.LimitMSGQUEUE",                config_parse_limit,                 RLIMIT_MSGQUEUE,               offsetof(Service, exec_context.rlimit)},
     914             :       {"Service.PrivateDevices",               config_parse_bool,                  0,                             offsetof(Service, exec_context.private_devices)},
     915             :       {"Path.DirectoryMode",              config_parse_mode,                  0,                             offsetof(Path, directory_mode)},
     916             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     917             :       {(char*)0}, {(char*)0}, {(char*)0},
     918             :       {"Socket.CPUSchedulingPolicy",          config_parse_exec_cpu_sched_policy, 0,                             offsetof(Socket, exec_context)},
     919             :       {(char*)0},
     920             :       {"Socket.CPUSchedulingPriority",        config_parse_exec_cpu_sched_prio,   0,                             offsetof(Socket, exec_context)},
     921             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     922             :       {"Mount.SyslogLevelPrefix",            config_parse_bool,                  0,                             offsetof(Mount, exec_context.syslog_level_prefix)},
     923             :       {"Service.WorkingDirectory",            config_parse_unit_path_printf,      0,                             offsetof(Service, exec_context.working_directory)},
     924             :       {(char*)0}, {(char*)0},
     925             :       {"Unit.AssertFileIsExecutable",     config_parse_unit_condition_path,   CONDITION_FILE_IS_EXECUTABLE,  offsetof(Unit, asserts)},
     926             :       {"Socket.LimitNOFILE",                  config_parse_limit,                 RLIMIT_NOFILE,                 offsetof(Socket, exec_context.rlimit)},
     927             :       {(char*)0},
     928             :       {"Unit.AssertFirstBoot",            config_parse_unit_condition_string, CONDITION_FIRST_BOOT,          offsetof(Unit, asserts)},
     929             :       {(char*)0},
     930             :       {"Socket.SendSIGHUP",                   config_parse_bool,                  0,                             offsetof(Socket, kill_context.send_sighup)},
     931             :       {"Socket.SendSIGKILL",                 config_parse_bool,                  0,                             offsetof(Socket, kill_context.send_sigkill)},
     932             :       {(char*)0},
     933             :       {"Service.SyslogLevelPrefix",            config_parse_bool,                  0,                             offsetof(Service, exec_context.syslog_level_prefix)},
     934             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     935             :       {(char*)0}, {(char*)0},
     936             :       {"Swap.TTYPath",                      config_parse_unit_path_printf,      0,                             offsetof(Swap, exec_context.tty_path)},
     937             :       {"Service.LimitLOCKS",                   config_parse_limit,                 RLIMIT_LOCKS,                  offsetof(Service, exec_context.rlimit)},
     938             :       {(char*)0},
     939             :       {"Mount.CPUSchedulingResetOnFork",     config_parse_bool,                  0,                             offsetof(Mount, exec_context.cpu_sched_reset_on_fork)},
     940             :       {(char*)0},
     941             :       {"Unit.AssertNeedsUpdate",          config_parse_unit_condition_path,   CONDITION_NEEDS_UPDATE,        offsetof(Unit, asserts)},
     942             :       {"Service.ExecReload",              config_parse_exec,                  SERVICE_EXEC_RELOAD,           offsetof(Service, exec_command)},
     943             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     944             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     945             :       {(char*)0},
     946             :       {"Service.SecureBits",                   config_parse_exec_secure_bits,      0,                             offsetof(Service, exec_context)},
     947             :       {(char*)0},
     948             :       {"Mount.OOMScoreAdjust",               config_parse_exec_oom_score_adjust, 0,                             offsetof(Mount, exec_context)},
     949             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     950             :       {(char*)0},
     951             :       {"Unit.RefuseManualStop",           config_parse_bool,                  0,                             offsetof(Unit, refuse_manual_stop)},
     952             :       {"Socket.SmackLabel",              config_parse_string,                0,                             offsetof(Socket, smack)},
     953             :       {(char*)0},
     954             :       {"Service.CPUAffinity",                  config_parse_exec_cpu_affinity,     0,                             offsetof(Service, exec_context)},
     955             :       {"Socket.MessageQueueMessageSize",  config_parse_long,                  0,                             offsetof(Socket, mq_msgsize)},
     956             :       {"Socket.SmackLabelIPIn",           config_parse_string,                0,                             offsetof(Socket, smack_ip_in)},
     957             :       {(char*)0}, {(char*)0},
     958             :       {"Mount.LimitCPU",                     config_parse_limit,                 RLIMIT_CPU,                    offsetof(Mount, exec_context.rlimit)},
     959             :       {"Unit.AssertPathExistsGlob",       config_parse_unit_condition_path,   CONDITION_PATH_EXISTS_GLOB,    offsetof(Unit, asserts)},
     960             :       {"Socket.PrivateNetwork",               config_parse_bool,                  0,                             offsetof(Socket, exec_context.private_network)},
     961             :       {"Socket.BlockIOReadBandwidth",         config_parse_blockio_bandwidth,     0,                             offsetof(Socket, cgroup_context)},
     962             :       {(char*)0}, {(char*)0},
     963             :       {"Socket.MessageQueueMaxMessages",  config_parse_long,                  0,                             offsetof(Socket, mq_maxmsg)},
     964             :       {(char*)0},
     965             :       {"Service.CPUSchedulingResetOnFork",     config_parse_bool,                  0,                             offsetof(Service, exec_context.cpu_sched_reset_on_fork)},
     966             :       {"Service.PrivateTmp",                   config_parse_bool,                  0,                             offsetof(Service, exec_context.private_tmp)},
     967             :       {(char*)0},
     968             :       {"Service.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Service, cgroup_context.blockio_accounting)},
     969             :       {(char*)0},
     970             :       {"Socket.LimitSIGPENDING",              config_parse_limit,                 RLIMIT_SIGPENDING,             offsetof(Socket, exec_context.rlimit)},
     971             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     972             :       {(char*)0},
     973             :       {"BusName.AllowWorld",              config_parse_bus_policy_world,      0,                             offsetof(BusName, policy_world)},
     974             :       {(char*)0}, {(char*)0},
     975             :       {"Mount.LimitSIGPENDING",              config_parse_limit,                 RLIMIT_SIGPENDING,             offsetof(Mount, exec_context.rlimit)},
     976             :       {(char*)0}, {(char*)0},
     977             :       {"Socket.LimitMEMLOCK",                 config_parse_limit,                 RLIMIT_MEMLOCK,                offsetof(Socket, exec_context.rlimit)},
     978             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     979             :       {"Service.LimitRTTIME",                  config_parse_limit,                 RLIMIT_RTTIME,                 offsetof(Service, exec_context.rlimit)},
     980             :       {"Swap.LimitSIGPENDING",              config_parse_limit,                 RLIMIT_SIGPENDING,             offsetof(Swap, exec_context.rlimit)},
     981             :       {(char*)0},
     982             :       {"Mount.LimitRTTIME",                  config_parse_limit,                 RLIMIT_RTTIME,                 offsetof(Mount, exec_context.rlimit)},
     983             :       {(char*)0}, {(char*)0},
     984             :       {"Socket.LimitCPU",                     config_parse_limit,                 RLIMIT_CPU,                    offsetof(Socket, exec_context.rlimit)},
     985             :       {(char*)0}, {(char*)0},
     986             :       {"Service.TTYVHangup",                   config_parse_bool,                  0,                             offsetof(Service, exec_context.tty_vhangup)},
     987             :       {"Unit.PropagateReloadFrom",        config_parse_unit_deps,             UNIT_RELOAD_PROPAGATED_FROM,   0},
     988             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     989             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     990             :       {(char*)0}, {(char*)0},
     991             :       {"Swap.SecureBits",                   config_parse_exec_secure_bits,      0,                             offsetof(Swap, exec_context)},
     992             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     993             :       {(char*)0},
     994             :       {"Mount.LimitFSIZE",                   config_parse_limit,                 RLIMIT_FSIZE,                  offsetof(Mount, exec_context.rlimit)},
     995             :       {"Unit.PropagateReloadTo",          config_parse_unit_deps,             UNIT_PROPAGATES_RELOAD_TO,     0},
     996             :       {"Unit.AssertFileNotEmpty",         config_parse_unit_condition_path,   CONDITION_FILE_NOT_EMPTY,      offsetof(Unit, asserts)},
     997             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     998             :       {"Service.KillSignal",                   config_parse_kill_signal,           0,                             offsetof(Service, kill_context.kill_signal)},
     999             :       {(char*)0},
    1000             :       {"Service.TTYPath",                      config_parse_unit_path_printf,      0,                             offsetof(Service, exec_context.tty_path)},
    1001             :       {(char*)0}, {(char*)0}, {(char*)0},
    1002             :       {"Service.LimitRTPRIO",                  config_parse_limit,                 RLIMIT_RTPRIO,                 offsetof(Service, exec_context.rlimit)},
    1003             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1004             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1005             :       {"Socket.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Socket, cgroup_context)},
    1006             :       {(char*)0}, {(char*)0}, {(char*)0},
    1007             :       {"Service.SyslogFacility",               config_parse_log_facility,          0,                             offsetof(Service, exec_context.syslog_priority)},
    1008             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1009             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1010             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1011             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1012             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1013             :       {(char*)0}, {(char*)0},
    1014             :       {"Socket.ReceiveBuffer",            config_parse_iec_size,              0,                             offsetof(Socket, receive_buffer)},
    1015             :       {(char*)0}, {(char*)0},
    1016             :       {"Service.SendSIGHUP",                   config_parse_bool,                  0,                             offsetof(Service, kill_context.send_sighup)},
    1017             :       {(char*)0}, {(char*)0},
    1018             :       {"Mount.SendSIGHUP",                   config_parse_bool,                  0,                             offsetof(Mount, kill_context.send_sighup)},
    1019             :       {(char*)0}, {(char*)0}, {(char*)0},
    1020             :       {"Mount.LimitNICE",                    config_parse_limit,                 RLIMIT_NICE,                   offsetof(Mount, exec_context.rlimit)},
    1021             :       {"Scope.SendSIGHUP",                   config_parse_bool,                  0,                             offsetof(Scope, kill_context.send_sighup)},
    1022             :       {(char*)0}, {(char*)0}, {(char*)0},
    1023             :       {"Socket.FreeBind",                 config_parse_bool,                  0,                             offsetof(Socket, free_bind)},
    1024             :       {(char*)0},
    1025             :       {"Service.LimitCORE",                    config_parse_limit,                 RLIMIT_CORE,                   offsetof(Service, exec_context.rlimit)},
    1026             :       {"Service.LimitSTACK",                   config_parse_limit,                 RLIMIT_STACK,                  offsetof(Service, exec_context.rlimit)},
    1027             :       {"Service.LimitNOFILE",                  config_parse_limit,                 RLIMIT_NOFILE,                 offsetof(Service, exec_context.rlimit)},
    1028             :       {"Swap.SendSIGHUP",                   config_parse_bool,                  0,                             offsetof(Swap, kill_context.send_sighup)},
    1029             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1030             :       {"Unit.AssertNull",                 config_parse_unit_condition_null,   0,                             offsetof(Unit, asserts)},
    1031             :       {"Swap.LimitRTTIME",                  config_parse_limit,                 RLIMIT_RTTIME,                 offsetof(Swap, exec_context.rlimit)},
    1032             :       {(char*)0}, {(char*)0},
    1033             :       {"Swap.PrivateNetwork",               config_parse_bool,                  0,                             offsetof(Swap, exec_context.private_network)},
    1034             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1035             :       {(char*)0}, {(char*)0}, {(char*)0},
    1036             :       {"Service.LimitNICE",                    config_parse_limit,                 RLIMIT_NICE,                   offsetof(Service, exec_context.rlimit)},
    1037             :       {(char*)0},
    1038             :       {"Service.SendSIGKILL",                 config_parse_bool,                  0,                             offsetof(Service, kill_context.send_sigkill)},
    1039             :       {"Socket.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Socket, cgroup_context.cpu_accounting)},
    1040             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1041             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1042             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1043             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1044             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1045             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1046             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1047             :       {(char*)0}, {(char*)0}, {(char*)0},
    1048             :       {"Mount.LimitNOFILE",                  config_parse_limit,                 RLIMIT_NOFILE,                 offsetof(Mount, exec_context.rlimit)},
    1049             :       {(char*)0}, {(char*)0},
    1050             :       {"Service.LimitMEMLOCK",                 config_parse_limit,                 RLIMIT_MEMLOCK,                offsetof(Service, exec_context.rlimit)},
    1051             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1052             :       {"Swap.LimitNPROC",                   config_parse_limit,                 RLIMIT_NPROC,                  offsetof(Swap, exec_context.rlimit)},
    1053             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1054             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1055             :       {(char*)0}, {(char*)0},
    1056             :       {"Swap.SendSIGKILL",                 config_parse_bool,                  0,                             offsetof(Swap, kill_context.send_sigkill)},
    1057             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1058             :       {"Socket.SELinuxContext",              config_parse_warn_compat,           DISABLED_CONFIGURATION,        0},
    1059             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1060             :       {(char*)0}, {(char*)0},
    1061             :       {"Socket.SELinuxContextFromNet",   config_parse_warn_compat,           DISABLED_CONFIGURATION,        0},
    1062             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1063             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1064             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1065             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1066             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1067             :       {"Unit.AssertPathIsSymbolicLink",   config_parse_unit_condition_path,   CONDITION_PATH_IS_SYMBOLIC_LINK,offsetof(Unit, asserts)},
    1068             :       {(char*)0},
    1069             :       {"Service.CPUQuota",                     config_parse_cpu_quota,             0,                             offsetof(Service, cgroup_context)},
    1070             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1071             :       {"Swap.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Swap, cgroup_context)},
    1072             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1073             :       {(char*)0}, {(char*)0},
    1074             :       {"Socket.CPUAffinity",                  config_parse_exec_cpu_affinity,     0,                             offsetof(Socket, exec_context)},
    1075             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1076             :       {"BusName.Activating",              config_parse_bool,                  0,                             offsetof(BusName, activating)},
    1077             :       {(char*)0}, {(char*)0}, {(char*)0},
    1078             :       {"Mount.LimitRTPRIO",                  config_parse_limit,                 RLIMIT_RTPRIO,                 offsetof(Mount, exec_context.rlimit)},
    1079             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1080             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1081             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1082             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1083             :       {(char*)0},
    1084             :       {"Service.PAMName",                     config_parse_unit_string_printf,    0,                             offsetof(Service, exec_context.pam_name)},
    1085             :       {(char*)0}, {(char*)0},
    1086             :       {"Service.AppArmorProfile",             config_parse_warn_compat,           DISABLED_CONFIGURATION,        0},
    1087             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1088             :       {"Swap.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Swap, cgroup_context.cpu_accounting)},
    1089             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1090             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1091             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1092             :       {(char*)0},
    1093             :       {"Socket.TTYVHangup",                   config_parse_bool,                  0,                             offsetof(Socket, exec_context.tty_vhangup)},
    1094             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1095             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1096             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1097             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1098             :       {"Socket.BlockIOAccounting",            config_parse_bool,                  0,                             offsetof(Socket, cgroup_context.blockio_accounting)},
    1099             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1100             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1101             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1102             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1103             :       {(char*)0}, {(char*)0}, {(char*)0},
    1104             :       {"Service.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Service, cgroup_context)},
    1105             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1106             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1107             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1108             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1109             :       {"Mount.LimitNPROC",                   config_parse_limit,                 RLIMIT_NPROC,                  offsetof(Mount, exec_context.rlimit)},
    1110             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1111             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1112             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1113             :       {(char*)0}, {(char*)0},
    1114             :       {"Socket.CPUSchedulingResetOnFork",     config_parse_bool,                  0,                             offsetof(Socket, exec_context.cpu_sched_reset_on_fork)},
    1115             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1116             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1117             :       {(char*)0},
    1118             :       {"Service.CPUAccounting",                config_parse_bool,                  0,                             offsetof(Service, cgroup_context.cpu_accounting)},
    1119             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1120             :       {"Mount.MountFlags",                   config_parse_exec_mount_flags,      0,                             offsetof(Mount, exec_context)},
    1121             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1122             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1123             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1124             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1125             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1126             :       {"Socket.SendBuffer",               config_parse_iec_size,              0,                             offsetof(Socket, send_buffer)},
    1127             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1128             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1129             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1130             :       {(char*)0}, {(char*)0}, {(char*)0},
    1131             :       {"Service.LimitNPROC",                   config_parse_limit,                 RLIMIT_NPROC,                  offsetof(Service, exec_context.rlimit)},
    1132             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1133             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1134             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1135             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1136             :       {"Service.PIDFile",                 config_parse_unit_path_printf,      0,                             offsetof(Service, pid_file)},
    1137             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1138             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1139             :       {"Service.MemoryAccounting",             config_parse_bool,                  0,                             offsetof(Service, cgroup_context.memory_accounting)},
    1140             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1141             :       {(char*)0}, {(char*)0}, {(char*)0},
    1142             :       {"Service.PrivateNetwork",               config_parse_bool,                  0,                             offsetof(Service, exec_context.private_network)},
    1143             :       {"Service.LimitSIGPENDING",              config_parse_limit,                 RLIMIT_SIGPENDING,             offsetof(Service, exec_context.rlimit)},
    1144             :       {(char*)0}, {(char*)0}, {(char*)0},
    1145             :       {"Socket.IPTTL",                    config_parse_int,                   0,                             offsetof(Socket, ip_ttl)},
    1146             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1147             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1148             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1149             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1150             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1151             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1152             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1153             :       {(char*)0},
    1154             :       {"Socket.UMask",                        config_parse_mode,                  0,                             offsetof(Socket, exec_context.umask)},
    1155             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1156             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1157             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1158             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1159             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1160             :       {(char*)0},
    1161             :       {"Service.NonBlocking",             config_parse_bool,                  0,                             offsetof(Service, exec_context.non_blocking)},
    1162             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1163             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1164             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1165             :       {(char*)0}, {(char*)0}, {(char*)0},
    1166             :       {"Mount.LimitDATA",                    config_parse_limit,                 RLIMIT_DATA,                   offsetof(Mount, exec_context.rlimit)},
    1167             :       {(char*)0}, {(char*)0},
    1168             :       {"Mount.LimitMEMLOCK",                 config_parse_limit,                 RLIMIT_MEMLOCK,                offsetof(Mount, exec_context.rlimit)},
    1169             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1170             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1171             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1172             :       {"Service.LimitCPU",                     config_parse_limit,                 RLIMIT_CPU,                    offsetof(Service, exec_context.rlimit)},
    1173             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1174             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1175             :       {(char*)0}, {(char*)0},
    1176             :       {"Slice.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Slice, cgroup_context)},
    1177             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1178             :       {"Service.LimitDATA",                    config_parse_limit,                 RLIMIT_DATA,                   offsetof(Service, exec_context.rlimit)},
    1179             :       {(char*)0},
    1180             :       {"BusName.AcceptFileDescriptors",   config_parse_bool,                  0,                             offsetof(BusName, accept_fd)},
    1181             :       {(char*)0}, {(char*)0},
    1182             :       {"Mount.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Mount, cgroup_context)},
    1183             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1184             :       {"Scope.DeviceAllow",                  config_parse_device_allow,          0,                             offsetof(Scope, cgroup_context)},
    1185             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1186             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1187             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1188             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1189             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1190             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1191             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1192             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1193             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1194             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1195             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1196             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1197             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1198             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1199             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1200             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1201             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1202             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1203             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1204             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1205             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1206             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1207             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1208             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1209             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1210             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1211             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1212             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1213             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1214             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1215             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1216             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1217             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1218             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1219             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1220             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1221             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1222             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1223             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1224             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1225             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1226             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1227             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1228             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1229             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1230             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1231             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1232             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1233             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1234             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1235             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1236             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1237             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1238             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1239             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1240             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1241             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1242             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1243             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1244             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1245             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1246             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1247             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1248             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1249             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1250             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1251             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1252             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1253             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
    1254             :       {"Mount.LimitMSGQUEUE",                config_parse_limit,                 RLIMIT_MSGQUEUE,               offsetof(Mount, exec_context.rlimit)}
    1255             :     };
    1256             : 
    1257         340 :   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    1258             :     {
    1259         340 :       register int key = load_fragment_gperf_hash (str, len);
    1260             : 
    1261         340 :       if (key <= MAX_HASH_VALUE && key >= 0)
    1262             :         {
    1263         340 :           register const char *s = wordlist[key].section_and_lvalue;
    1264             : 
    1265         340 :           if (s && *str == *s && !strcmp (str + 1, s + 1))
    1266         340 :             return &wordlist[key];
    1267             :         }
    1268             :     }
    1269           0 :   return 0;
    1270             : }

Generated by: LCOV version 1.11