// 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_mips_32.c ; ./a.out > linux_mips_32.h
	{"_", "4000"},
	{"accept", "0xfa0,4168,3,ipp fd addr addrlen"},
	{"0xfa0.4168", "accept"},
	{"accept4", "0xfa0,4334,4,ippx fd addr addrlen flags"},
	{"0xfa0.4334", "accept4"},
	{"access", "0xfa0,4033,2,zx filename mode"},
	{"0xfa0.4033", "access"},
	{"bind", "0xfa0,4169,3,ipi fd addr addrlen"},
	{"0xfa0.4169", "bind"},
	{"brk", "0xfa0,4045,1,x brk"},
	{"0xfa0.4045", "brk"},
	{"chdir", "0xfa0,4012,1,z filename"},
	{"0xfa0.4012", "chdir"},
	{"chmod", "0xfa0,4015,2,zx filename mode"},
	{"0xfa0.4015", "chmod"},
	{"clone", "0xfa0,4120,5,ixppx flags newsp parent_tidptr child_tidptr tls"},
	{"0xfa0.4120", "clone"},
	{"close", "0xfa0,4006,1,i fd"},
	{"0xfa0.4006", "close"},
	{"connect", "0xfa0,4170,3,ipi fd addr addrlen"},
	{"0xfa0.4170", "connect"},
	{"creat", "0xfa0,4008,2,zx pathname mode"},
	{"0xfa0.4008", "creat"},
	{"dup", "0xfa0,4041,1,i fildes"},
	{"0xfa0.4041", "dup"},
	{"execve", "0xfa0,4011,3,zpp filename argv envp"},
	{"0xfa0.4011", "execve"},
	{"exit", "0xfa0,4001,1,i error_code"},
	{"0xfa0.4001", "exit"},
	{"exit_group", "0xfa0,4246,1,i error_code"},
	{"0xfa0.4246", "exit_group"},
	{"fcntl64", "0xfa0,4220,3,ixi fd cmd arg"},
	{"0xfa0.4220", "fcntl64"},
	{"fork", "0xfa0,4002,0,"},
	{"0xfa0.4002", "fork"},
	{"fstat64", "0xfa0,4215,2,ip fd statbuf"},
	{"0xfa0.4215", "fstat64"},
	{"getpid", "0xfa0,4020,0,"},
	{"0xfa0.4020", "getpid"},
	{"gettid", "0xfa0,4222,0,"},
	{"0xfa0.4222", "gettid"},
	{"getuid", "0xfa0,4024,0,"},
	{"0xfa0.4024", "getuid"},
	{"ioctl", "0xfa0,4054,3,ixi fd cmd arg"},
	{"0xfa0.4054", "ioctl"},
	{"kill", "0xfa0,4037,2,ii pid sig"},
	{"0xfa0.4037", "kill"},
	{"lchown", "0xfa0,4016,3,zii filename user group"},
	{"0xfa0.4016", "lchown"},
	{"link", "0xfa0,4009,2,zz oldname newname"},
	{"0xfa0.4009", "link"},
	{"listen", "0xfa0,4174,2,ii fd backlog"},
	{"0xfa0.4174", "listen"},
	{"mknod", "0xfa0,4014,3,zxi filename mode dev"},
	{"0xfa0.4014", "mknod"},
	{"mmap", "0xfa0,4090,6,xixxii addr len prot flags fd pgoff"},
	{"0xfa0.4090", "mmap"},
	{"mmap2", "0xfa0,4210,6,xixxii addr len prot flags fd pgoff"},
	{"0xfa0.4210", "mmap2"},
	{"mprotect", "0xfa0,4125,3,xix start len prot"},
	{"0xfa0.4125", "mprotect"},
	{"munmap", "0xfa0,4091,2,xi addr len"},
	{"0xfa0.4091", "munmap"},
	{"open", "0xfa0,4005,3,zxx filename flags mode"},
	{"0xfa0.4005", "open"},
	{"ptrace", "0xfa0,4026,4,xixi request pid addr data"},
	{"0xfa0.4026", "ptrace"},
	{"read", "0xfa0,4003,3,ipi fd buf count"},
	{"0xfa0.4003", "read"},
	{"rt_sigaction", "0xfa0,4194,4,ippi sig act oact sigsetsize"},
	{"0xfa0.4194", "rt_sigaction"},
	{"rt_sigprocmask", "0xfa0,4195,4,xppi how set oset sigsetsize"},
	{"0xfa0.4195", "rt_sigprocmask"},
	{"set_thread_area", "0xfa0,4283,2,ii arg0 arg1"},
	{"0xfa0.4283", "set_thread_area"},
	{"setuid", "0xfa0,4023,1,i uid"},
	{"0xfa0.4023", "setuid"},
	{"signal", "0xfa0,4048,2,ii sig handler"},
	{"0xfa0.4048", "signal"},
	{"sigreturn", "0xfa0,4119,1,i arg0"},
	{"0xfa0.4119", "sigreturn"},
	{"socket", "0xfa0,4183,3,ixx domain type protocol"},
	{"0xfa0.4183", "socket"},
	{"socketcall", "0xfa0,4102,2,ip call args"},
	{"0xfa0.4102", "socketcall"},
	{"socketpair", "0xfa0,4184,4,ixxp domain type protocol usockvec"},
	{"0xfa0.4184", "socketpair"},
	{"syscall", "0xfa0,4000,1,i number"},
	{"0xfa0.4000", "syscall"},
	{"sysctl", "0xfa0,4153,1,p args"},
	{"0xfa0.4153", "sysctl"},
	{"time", "0xfa0,4013,1,p tloc"},
	{"0xfa0.4013", "time"},
	{"unlink", "0xfa0,4010,1,z pathname"},
	{"0xfa0.4010", "unlink"},
	{"utime", "0xfa0,4030,2,zp filename times"},
	{"0xfa0.4030", "utime"},
	{"waitpid", "0xfa0,4007,3,ipx pid stat_addr options"},
	{"0xfa0.4007", "waitpid"},
	{"write", "0xfa0,4004,3,izi fd buf count"},
	{"0xfa0.4004", "write"},
  {NULL, NULL}
};
typedef int (*GperfForeachCallback)(void *user, const char *k, const char *v);
int gperf_linux_mips_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_mips_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_mips_32(x,y) gperf_linux_mips_32_hash(x)
const unsigned int gperf_linux_mips_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_mips_32 = {
  .name = "linux-mips-32",
  .get = &gperf_linux_mips_32_get,
  .hash = &gperf_linux_mips_32_hash,
  .foreach = &gperf_linux_mips_32_foreach
};

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