LCOV - code coverage report
Current view: top level - udev/net - link-config-gperf.c (source / functions) Hit Total Coverage
Test: systemd test coverage Lines: 0 10 0.0 %
Date: 2015-07-29 18:47:03 Functions: 0 2 0.0 %

          Line data    Source code
       1             : /* ANSI-C code produced by gperf version 3.0.4 */
       2             : /* Command-line: gperf  */
       3             : /* Computed positions: -k'7' */
       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 "network-internal.h"
      36             : #include "link-config.h"
      37             : #include "ethtool-util.h"
      38             : #include <string.h>
      39             : 
      40             : #define TOTAL_KEYWORDS 19
      41             : #define MIN_WORD_LENGTH 9
      42             : #define MAX_WORD_LENGTH 23
      43             : #define MIN_HASH_VALUE 9
      44             : #define MAX_HASH_VALUE 40
      45             : /* maximum key range = 32, duplicates = 0 */
      46             : 
      47             : #ifdef __GNUC__
      48             : __inline
      49             : #else
      50             : #ifdef __cplusplus
      51             : inline
      52             : #endif
      53             : #endif
      54             : static unsigned int
      55           0 : link_config_gperf_hash (register const char *str, register unsigned int len)
      56             : {
      57             :   static const unsigned char asso_values[] =
      58             :     {
      59             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      60             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      61             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      62             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      63             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      64             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      65             :       41, 41, 41, 41, 41,  5, 41, 41,  0, 41,
      66             :       41, 41, 30, 41, 41, 10, 41,  5, 41, 10,
      67             :       25, 41, 41, 41,  0, 41, 10, 41, 41, 41,
      68             :       41, 41, 41, 41, 41, 41, 41,  0, 41, 41,
      69             :       41,  0, 41, 41, 41,  0, 41, 41, 15, 41,
      70             :       41, 41, 41, 41, 41, 41, 41,  0, 41, 41,
      71             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      72             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      73             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      74             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      75             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      76             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      77             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      78             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      79             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      80             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      81             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      82             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      83             :       41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
      84             :       41, 41, 41, 41, 41, 41
      85             :     };
      86           0 :   return len + asso_values[(unsigned char)str[6]];
      87             : }
      88             : 
      89             : #ifdef __GNUC__
      90             : __inline
      91             : #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
      92             : __attribute__ ((__gnu_inline__))
      93             : #endif
      94             : #endif
      95             : const struct ConfigPerfItem *
      96           0 : link_config_gperf_lookup (register const char *str, register unsigned int len)
      97             : {
      98             :   static const struct ConfigPerfItem wordlist[] =
      99             :     {
     100             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     101             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     102             :       {(char*)0},
     103             :       {"Link.Name",                 config_parse_ifname,        0,                             offsetof(link_config, name)},
     104             :       {"Match.Type",                config_parse_strv,          0,                             offsetof(link_config, match_type)},
     105             :       {"Link.Duplex",               config_parse_duplex,        0,                             offsetof(link_config, duplex)},
     106             :       {"Match.Driver",              config_parse_strv,          0,                             offsetof(link_config, match_driver)},
     107             :       {"Link.MTUBytes",             config_parse_iec_size,      0,                             offsetof(link_config, mtu)},
     108             :       {"Link.WakeOnLan",            config_parse_wol,           0,                             offsetof(link_config, wol)},
     109             :       {"Link.NamePolicy",           config_parse_name_policy,   0,                             offsetof(link_config, name_policy)},
     110             :       {"Link.Description",          config_parse_string,        0,                             offsetof(link_config, description)},
     111             :       {(char*)0},
     112             :       {"Link.BitsPerSecond",        config_parse_si_size,       0,                             offsetof(link_config, speed)},
     113             :       {(char*)0},
     114             :       {"Link.MACAddress",           config_parse_hwaddr,        0,                             offsetof(link_config, mac)},
     115             :       {"Match.MACAddress",          config_parse_hwaddr,        0,                             offsetof(link_config, match_mac)},
     116             :       {(char*)0},
     117             :       {"Match.Architecture",        config_parse_net_condition, CONDITION_ARCHITECTURE,        offsetof(link_config, match_arch)},
     118             :       {(char*)0},
     119             :       {"Link.Alias",                config_parse_ifalias,       0,                             offsetof(link_config, alias)},
     120             :       {"Link.MACAddressPolicy",     config_parse_mac_policy,    0,                             offsetof(link_config, mac_policy)},
     121             :       {(char*)0},
     122             :       {"Match.OriginalName",        config_parse_ifnames,       0,                             offsetof(link_config, match_name)},
     123             :       {(char*)0},
     124             :       {"Match.Virtualization",      config_parse_net_condition, CONDITION_VIRTUALIZATION,      offsetof(link_config, match_virt)},
     125             :       {(char*)0}, {(char*)0},
     126             :       {"Match.KernelCommandLine",   config_parse_net_condition, CONDITION_KERNEL_COMMAND_LINE, offsetof(link_config, match_kernel)},
     127             :       {(char*)0},
     128             :       {"Match.Path",                config_parse_strv,          0,                             offsetof(link_config, match_path)},
     129             :       {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
     130             :       {"Match.Host",                config_parse_net_condition, CONDITION_HOST,                offsetof(link_config, match_host)}
     131             :     };
     132             : 
     133           0 :   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     134             :     {
     135           0 :       register int key = link_config_gperf_hash (str, len);
     136             : 
     137           0 :       if (key <= MAX_HASH_VALUE && key >= 0)
     138             :         {
     139           0 :           register const char *s = wordlist[key].section_and_lvalue;
     140             : 
     141           0 :           if (s && *str == *s && !strcmp (str + 1, s + 1))
     142           0 :             return &wordlist[key];
     143             :         }
     144             :     }
     145           0 :   return 0;
     146             : }

Generated by: LCOV version 1.11