Blame sysdeps/linux/procmap_smaps.c

Packit Service 407539
/* ANSI-C code produced by gperf version 3.1 */
Packit Service 407539
/* Command-line: gperf sysdeps/linux/procmap_smaps.gperf  */
Packit Service 407539
/* Computed positions: -k'1,$' */
Packit Service 407539
Packit Service 407539
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
Packit Service 407539
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
Packit Service 407539
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
Packit Service 407539
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
Packit Service 407539
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
Packit Service 407539
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
Packit Service 407539
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
Packit Service 407539
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
Packit Service 407539
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
Packit Service 407539
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
Packit Service 407539
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
Packit Service 407539
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
Packit Service 407539
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
Packit Service 407539
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
Packit Service 407539
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
Packit Service 407539
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
Packit Service 407539
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
Packit Service 407539
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
Packit Service 407539
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
Packit Service 407539
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
Packit Service 407539
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
Packit Service 407539
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
Packit Service 407539
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
Packit Service 407539
/* The character set is not based on ISO-646.  */
Packit Service 407539
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
Packit Service 407539
#endif
Packit Service 407539
Packit Service 407539
#line 8 "sysdeps/linux/procmap_smaps.gperf"
Packit Service 407539
Packit Service 407539
#include "glibtop_private.h"
Packit Service 407539
#include <glibtop/procmap.h>
Packit Service 407539
#include <stddef.h>
Packit Service 407539
#define SMAP_OFFSET(MEMBER) offsetof(glibtop_map_entry, MEMBER)
Packit Service 407539
#line 14 "sysdeps/linux/procmap_smaps.gperf"
Packit Service 407539
struct smap_value { int name; ptrdiff_t offset; };
Packit Service 407539
#include <string.h>
Packit Service 407539
Packit Service 407539
#define TOTAL_KEYWORDS 8
Packit Service 407539
#define MIN_WORD_LENGTH 3
Packit Service 407539
#define MAX_WORD_LENGTH 13
Packit Service 407539
#define MIN_HASH_VALUE 3
Packit Service 407539
#define MAX_HASH_VALUE 18
Packit Service 407539
/* maximum key range = 16, duplicates = 0 */
Packit Service 407539
Packit Service 407539
#ifdef __GNUC__
Packit Service 407539
__inline
Packit Service 407539
#else
Packit Service 407539
#ifdef __cplusplus
Packit Service 407539
inline
Packit Service 407539
#endif
Packit Service 407539
#endif
Packit Service 407539
static unsigned int
Packit Service 407539
hash (register const char *str, register size_t len)
Packit Service 407539
{
Packit Service 407539
  static const unsigned char asso_values[] =
Packit Service 407539
    {
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
       0, 19,  5,  0, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19,  5, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
       5, 19,  0, 19, 19,  0, 19, 19, 19, 19,
Packit Service 407539
      19,  0, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
Packit Service 407539
      19, 19, 19, 19, 19, 19
Packit Service 407539
    };
Packit Service 407539
  return len + asso_values[(unsigned char)str[len - 1]] + asso_values[(unsigned char)str[0]];
Packit Service 407539
}
Packit Service 407539
Packit Service 407539
struct stringpool_t
Packit Service 407539
  {
Packit Service 407539
    char stringpool_str3[sizeof("Pss")];
Packit Service 407539
    char stringpool_str4[sizeof("Swap")];
Packit Service 407539
    char stringpool_str8[sizeof("Rss")];
Packit Service 407539
    char stringpool_str9[sizeof("Size")];
Packit Service 407539
    char stringpool_str12[sizeof("Shared_Dirty")];
Packit Service 407539
    char stringpool_str13[sizeof("Private_Dirty")];
Packit Service 407539
    char stringpool_str17[sizeof("Shared_Clean")];
Packit Service 407539
    char stringpool_str18[sizeof("Private_Clean")];
Packit Service 407539
  };
Packit Service 407539
static const struct stringpool_t stringpool_contents =
Packit Service 407539
  {
Packit Service 407539
    "Pss",
Packit Service 407539
    "Swap",
Packit Service 407539
    "Rss",
Packit Service 407539
    "Size",
Packit Service 407539
    "Shared_Dirty",
Packit Service 407539
    "Private_Dirty",
Packit Service 407539
    "Shared_Clean",
Packit Service 407539
    "Private_Clean"
Packit Service 407539
  };
Packit Service 407539
#define stringpool ((const char *) &stringpool_contents)
Packit Service 407539
static /* manually added */
Packit Service 407539
const struct smap_value *
Packit Service 407539
_glibtop_find_smap (register const char *str, register size_t len)
Packit Service 407539
{
Packit Service 407539
  static const unsigned char lengthtable[] =
Packit Service 407539
    {
Packit Service 407539
       0,  0,  0,  3,  4,  0,  0,  0,  3,  4,  0,  0, 12, 13,
Packit Service 407539
       0,  0,  0, 12, 13
Packit Service 407539
    };
Packit Service 407539
  static const struct smap_value wordlist[] =
Packit Service 407539
    {
Packit Service 407539
      {-1}, {-1}, {-1},
Packit Service 407539
#line 18 "sysdeps/linux/procmap_smaps.gperf"
Packit Service 407539
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str3,		SMAP_OFFSET(pss)},
Packit Service 407539
#line 23 "sysdeps/linux/procmap_smaps.gperf"
Packit Service 407539
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str4,		SMAP_OFFSET(swap),},
Packit Service 407539
      {-1}, {-1}, {-1},
Packit Service 407539
#line 19 "sysdeps/linux/procmap_smaps.gperf"
Packit Service 407539
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8,		SMAP_OFFSET(rss)},
Packit Service 407539
#line 22 "sysdeps/linux/procmap_smaps.gperf"
Packit Service 407539
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9,		SMAP_OFFSET(size)},
Packit Service 407539
      {-1}, {-1},
Packit Service 407539
#line 21 "sysdeps/linux/procmap_smaps.gperf"
Packit Service 407539
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12,	SMAP_OFFSET(shared_dirty)},
Packit Service 407539
#line 17 "sysdeps/linux/procmap_smaps.gperf"
Packit Service 407539
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13,	SMAP_OFFSET(private_dirty)},
Packit Service 407539
      {-1}, {-1}, {-1},
Packit Service 407539
#line 20 "sysdeps/linux/procmap_smaps.gperf"
Packit Service 407539
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17,	SMAP_OFFSET(shared_clean)},
Packit Service 407539
#line 16 "sysdeps/linux/procmap_smaps.gperf"
Packit Service 407539
      {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18,	SMAP_OFFSET(private_clean)}
Packit Service 407539
    };
Packit Service 407539
Packit Service 407539
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
Packit Service 407539
    {
Packit Service 407539
      register unsigned int key = hash (str, len);
Packit Service 407539
Packit Service 407539
      if (key <= MAX_HASH_VALUE)
Packit Service 407539
        if (len == lengthtable[key])
Packit Service 407539
          {
Packit Service 407539
            register const char *s = wordlist[key].name + stringpool;
Packit Service 407539
Packit Service 407539
            if (*str == *s && !memcmp (str + 1, s + 1, len - 1))
Packit Service 407539
              return &wordlist[key];
Packit Service 407539
          }
Packit Service 407539
    }
Packit Service 407539
  return 0;
Packit Service 407539
}