// 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_ppc_32.c ; ./a.out > linux_ppc_32.h
	{"_", "0x0"},
	{"access", "0,33,2,zx filename mode"},
	{"0.33", "access"},
	{"brk", "0,45,1,x brk"},
	{"0.45", "brk"},
	{"chdir", "0,12,1,z filename"},
	{"0.12", "chdir"},
	{"clone", "0,120,4,iiii arg0 arg1 arg2 arg3"},
	{"0.120", "clone"},
	{"close", "0,6,1,i fd"},
	{"0.6", "close"},
	{"creat", "0,8,2,zx pathname mode"},
	{"0.8", "creat"},
	{"dup", "0,41,1,i fildes"},
	{"0.41", "dup"},
	{"dup2", "0,63,2,ii oldfd newfd"},
	{"0.63", "dup2"},
	{"execve", "0,11,3,zzz filename argv envp"},
	{"0.11", "execve"},
	{"exit", "0,1,1,i error_code"},
	{"0.1", "exit"},
	{"exit_group", "0,234,1,i status"},
	{"0.234", "exit_group"},
	{"fork", "0,2,0,"},
	{"0.2", "fork"},
	{"getpid", "0,20,0,"},
	{"0.20", "getpid"},
	{"getuid", "0,24,0,"},
	{"0.24", "getuid"},
	{"ioctl", "0,54,3,ixi fd cmd arg"},
	{"0.54", "ioctl"},
	{"kill", "0,37,2,ii pid sig"},
	{"0.37", "kill"},
	{"link", "0,9,2,zz oldname newname"},
	{"0.9", "link"},
	{"mmap", "0,90,6,xixxii addr len prot flags fd off"},
	{"0.90", "mmap"},
	{"mmap2", "0,192,6,xixxii addr len prot flags fd pgoff"},
	{"0.192", "mmap2"},
	{"mprotect", "0,125,3,xix start len prot"},
	{"0.125", "mprotect"},
	{"munmap", "0,91,2,xi addr len"},
	{"0.91", "munmap"},
	{"open", "0,5,3,zxx filename flags mode"},
	{"0.5", "open"},
	{"pipe", "0,42,1,p fildes"},
	{"0.42", "pipe"},
	{"ptrace", "0,26,4,xixi request pid addr data"},
	{"0.26", "ptrace"},
	{"read", "0,3,3,ipi fd buf count"},
	{"0.3", "read"},
	{"rt_sigaction", "0,173,4,ippi sig act oact sigsetsize"},
	{"0.173", "rt_sigaction"},
	{"rt_sigprocmask", "0,174,4,xppi how set oset sigsetsize"},
	{"0.174", "rt_sigprocmask"},
	{"rt_sigreturn", "0,172,0,"},
	{"0.172", "rt_sigreturn"},
	{"setuid", "0,23,1,i uid"},
	{"0.23", "setuid"},
	{"signal", "0,48,2,ii sig handler"},
	{"0.48", "signal"},
	{"sigreturn", "0,119,1,i arg0"},
	{"0.119", "sigreturn"},
	{"socketcall", "0,102,2,ip call args"},
	{"0.102", "socketcall"},
	{"unlink", "0,10,1,z pathname"},
	{"0.10", "unlink"},
	{"waitpid", "0,7,3,ipx pid stat_addr options"},
	{"0.7", "waitpid"},
	{"write", "0,4,3,izi fd buf count"},
	{"0.4", "write"},
  {NULL, NULL}
};
typedef int (*GperfForeachCallback)(void *user, const char *k, const char *v);
int gperf_linux_ppc_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_ppc_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_ppc_32(x,y) gperf_linux_ppc_32_hash(x)
const unsigned int gperf_linux_ppc_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_ppc_32 = {
  .name = "linux-ppc-32",
  .get = &gperf_linux_ppc_32_get,
  .hash = &gperf_linux_ppc_32_hash,
  .foreach = &gperf_linux_ppc_32_foreach
};

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