// SDB-CGEN V2.6.2
#include <ctype.h>
#include <stdio.h>
#include <string.h>

struct kv { const char *name; const char *value; };
static const struct kv kvs[] = {
// gcc -DMAIN=1 linux_arm_32.c ; ./a.out > linux_arm_32.h
	{"_", "0x900000"},
	{"access", "0x900000,33,2,zx filename mode"},
	{"0x900000.33", "access"},
	{"brk", "0x900000,45,1,x brk"},
	{"0x900000.45", "brk"},
	{"chdir", "0x900000,12,1,z filename"},
	{"0x900000.12", "chdir"},
	{"chmod", "0x900000,15,2,zx filename mode"},
	{"0x900000.15", "chmod"},
	{"clone", "0x900000,120,4,iiii arg0 arg1 arg2 arg3"},
	{"0x900000.120", "clone"},
	{"close", "0x900000,6,1,i fd"},
	{"0x900000.6", "close"},
	{"creat", "0x900000,8,2,zx pathname mode"},
	{"0x900000.8", "creat"},
	{"dup", "0x900000,41,1,i fildes"},
	{"0x900000.41", "dup"},
	{"execve", "0x900000,11,3,zzz filename argv envp"},
	{"0x900000.11", "execve"},
	{"exit", "0x900000,1,1,i error_code"},
	{"0x900000.1", "exit"},
	{"exit_group", "0x900000,252,1,i error_code"},
	{"0x900000.252", "exit_group"},
	{"fcntl64", "0x900000,221,3,ixi fd cmd arg"},
	{"0x900000.221", "fcntl64"},
	{"fork", "0x900000,2,0,"},
	{"0x900000.2", "fork"},
	{"fstat64", "0x900000,197,2,ip fd statbuf"},
	{"0x900000.197", "fstat64"},
	{"get_thread_area", "0x900000,244,2,ii arg0 arg1"},
	{"0x900000.244", "get_thread_area"},
	{"getpid", "0x900000,20,0,"},
	{"0x900000.20", "getpid"},
	{"gettid", "0x900000,224,0,"},
	{"0x900000.224", "gettid"},
	{"getuid", "0x900000,24,0,"},
	{"0x900000.24", "getuid"},
	{"ioctl", "0x900000,54,3,ixi fd cmd arg"},
	{"0x900000.54", "ioctl"},
	{"kill", "0x900000,37,2,ii pid sig"},
	{"0x900000.37", "kill"},
	{"lchown", "0x900000,16,3,zii filename user group"},
	{"0x900000.16", "lchown"},
	{"link", "0x900000,9,2,zz oldname newname"},
	{"0x900000.9", "link"},
	{"mknod", "0x900000,14,3,zxi filename mode dev"},
	{"0x900000.14", "mknod"},
	{"mmap", "0x900000,90,6,xixxii addr len prot flags fd pgoff"},
	{"0x900000.90", "mmap"},
	{"mmap2", "0x900000,192,6,xixxii addr len prot flags fd pgoff"},
	{"0x900000.192", "mmap2"},
	{"mprotect", "0x900000,125,3,xix start len prot"},
	{"0x900000.125", "mprotect"},
	{"munmap", "0x900000,91,2,xi addr len"},
	{"0x900000.91", "munmap"},
	{"open", "0x900000,5,3,zxx filename flags mode"},
	{"0x900000.5", "open"},
	{"ptrace", "0x900000,26,4,xixi request pid addr data"},
	{"0x900000.26", "ptrace"},
	{"read", "0x900000,3,3,ipi fd buf count"},
	{"0x900000.3", "read"},
	{"rt_sigaction", "0x900000,174,4,ippi sig act oact sigsetsize"},
	{"0x900000.174", "rt_sigaction"},
	{"rt_sigprocmask", "0x900000,175,4,xppi how set oset sigsetsize"},
	{"0x900000.175", "rt_sigprocmask"},
	{"set_thread_area", "0x900000,243,2,ii arg0 arg1"},
	{"0x900000.243", "set_thread_area"},
	{"setuid", "0x900000,23,1,i uid"},
	{"0x900000.23", "setuid"},
	{"signal", "0x900000,48,2,ii sig handler"},
	{"0x900000.48", "signal"},
	{"sigreturn", "0x900000,119,1,i arg0"},
	{"0x900000.119", "sigreturn"},
	{"socketcall", "0x900000,102,2,ip call args"},
	{"0x900000.102", "socketcall"},
	{"sysctl", "0x900000,149,1,p args"},
	{"0x900000.149", "sysctl"},
	{"time", "0x900000,13,1,p tloc"},
	{"0x900000.13", "time"},
	{"unlink", "0x900000,10,1,z pathname"},
	{"0x900000.10", "unlink"},
	{"utime", "0x900000,30,2,zp filename times"},
	{"0x900000.30", "utime"},
	{"vfork", "0x900000,1071,0,"},
	{"0x900000.1071", "vfork"},
	{"waitpid", "0x900000,7,3,ipx pid stat_addr options"},
	{"0x900000.7", "waitpid"},
	{"write", "0x900000,4,3,izi fd buf count"},
	{"0x900000.4", "write"},
  {NULL, NULL}
};
typedef int (*GperfForeachCallback)(void *user, const char *k, const char *v);
int gperf_linux_arm_32_foreach(GperfForeachCallback cb, void *user) {
  int i = 0; while (kvs[i].name) {
  cb (user, kvs[i].name, kvs[i].value);
  i++;}
  return 0;
}
const char *gperf_linux_arm_32_get(const char *s) {
  int i = 0; while (kvs[i].name) {
  if (!strcmp (s, kvs[i].name)) return kvs[i].value;
  i++;}
  return NULL;
}
#define sdb_hash_c_linux_arm_32(x,y) gperf_linux_arm_32_hash(x)
const unsigned int gperf_linux_arm_32_hash(const char *s) {
  int sum = strlen (s);
  while (*s) { sum += *s; s++; }
  return sum;
}
struct {const char *name;void *get;void *hash;void *foreach;} gperf_linux_arm_32 = {
  .name = "linux-arm-32",
  .get = &gperf_linux_arm_32_get,
  .hash = &gperf_linux_arm_32_hash,
  .foreach = &gperf_linux_arm_32_foreach
};

#if MAIN
int main () {
	const char *s = ((char*(*)(char*))gperf_linux_arm_32.get)("foo");
	printf ("%s\n", s);
}
#endif
