{
	"Bootmethods": [
		{
			"Arg": "",
			"Config": "configtcp",
			"Connect": "connecttcp",
			"Name": "tcp"
		},
		{
			"Arg": "",
			"Config": "configrc",
			"Connect": "connectrc",
			"Name": "rc"
		},
		{
			"Arg": "",
			"Config": "configlocal",
			"Connect": "connectlocal",
			"Name": "local"
		}
	],
	"Syscalls": [
		{
			"Args": [
				"char*",
				"int"
			],
			"Id": 1,
			"Name": "await",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"long"
			],
			"Id": 2,
			"Name": "awake",
			"Ret": [
				"long"
			]
		},
		{
			"Args": [
				"const char*",
				"const char*",
				"int"
			],
			"Id": 3,
			"Name": "bind",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"int"
			],
			"Id": 4,
			"Name": "close",
			"Ret": [
				"long"
			]
		},
		{
			"Args": [
				"const char*",
				"long",
				"long"
			],
			"Id": 5,
			"Name": "create",
			"Ret": [
				"long"
			]
		},
		{
			"Args": [
				"char*",
				"int"
			],
			"Id": 6,
			"Name": "errstr",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"const char*",
				"const char**"
			],
			"Id": 7,
			"Name": "exec",
			"Ret": [
				"uintptr_t"
			]
		},
		{
			"Args": [
				"const char*"
			],
			"Id": 8,
			"Name": "_exits",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"int",
				"const char*"
			],
			"Id": 9,
			"Name": "fauth",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"int32_t",
				"const char*",
				"uint32_t"
			],
			"Id": 10,
			"Name": "fd2path",
			"Ret": [
				"int32_t"
			]
		},
		{
			"Args": [
				"int",
				"uint8_t*",
				"int"
			],
			"Id": 11,
			"Name": "fstat",
			"Ret": [
				"long"
			]
		},
		{
			"Args": [
				"int",
				"int",
				"const char*",
				"int"
			],
			"Id": 12,
			"Name": "fversion",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"int32_t",
				"const uint8_t*",
				"uint32_t"
			],
			"Id": 13,
			"Name": "fwstat",
			"Ret": [
				"long"
			]
		},
		{
			"Args": [
				"int",
				"int",
				"const char*",
				"uint32_t",
				"const char*",
				"int"
			],
			"Id": 14,
			"Name": "mount",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"int"
			],
			"Id": 15,
			"Name": "noted",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"const void*"
			],
			"Id": 16,
			"Name": "notify",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"const char*",
				"uint32_t"
			],
			"Id": 17,
			"Name": "open",
			"Ret": [
				"long"
			]
		},
		{
			"Args": [
				"int",
				"void*",
				"long",
				"long"
			],
			"Id": 18,
			"Name": "pread",
			"Ret": [
				"long"
			]
		},
		{
			"Args": [
				"int",
				"const void*",
				"long",
				"long"
			],
			"Id": 19,
			"Name": "pwrite",
			"Ret": [
				"long"
			]
		},
		{
			"Args": [
				"const char*"
			],
			"Id": 20,
			"Name": "remove",
			"Ret": [
				"long"
			]
		},
		{
			"Args": [
				"const void*",
				"void*"
			],
			"Id": 21,
			"Name": "rendezvous",
			"Ret": [
				"void*"
			]
		},
		{
			"Args": [
				"uint32_t"
			],
			"Id": 22,
			"Name": "rfork",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"int",
				"long",
				"int"
			],
			"Id": 23,
			"Name": "seek",
			"Ret": [
				"long"
			]
		},
		{
			"Args": [
				"int*",
				"int"
			],
			"Id": 24,
			"Name": "semacquire",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"int*",
				"int"
			],
			"Id": 25,
			"Name": "semrelease",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"const char*",
				"const char*"
			],
			"Id": 26,
			"Name": "unmount",
			"Ret": [
				"int"
			]
		},
		{
			"Args": [
				"unsigned long"
			],
			"Id": 27,
			"Name": "alarm",
			"Ret": [
				"long"
			]
		}
	],
	"Syserrors": [
		{
			"Id": 0,
			"Name": "Ebadarg",
			"String": "bad arg in system call"
		},
		{
			"Id": 1,
			"Name": "Ebadchar",
			"String": "bad character in file name"
		},
		{
			"Id": 2,
			"Name": "Ebadctl",
			"String": "bad process or channel control request"
		},
		{
			"Id": 3,
			"Name": "Ebadexec",
			"String": "exec header invalid"
		},
		{
			"Id": 4,
			"Name": "Ebadfd",
			"String": "fd out of range or not open"
		},
		{
			"Id": 5,
			"Name": "Ebadip",
			"String": "bad ip address syntax"
		},
		{
			"Id": 6,
			"Name": "Ebadsharp",
			"String": "unknown device in # filename"
		},
		{
			"Id": 7,
			"Name": "Ebadspec",
			"String": "bad attach specifier"
		},
		{
			"Id": 8,
			"Name": "Ebadstat",
			"String": "malformed stat buffer"
		},
		{
			"Id": 9,
			"Name": "Ebadusefd",
			"String": "inappropriate use of fd"
		},
		{
			"Id": 10,
			"Name": "Ecmdargs",
			"String": "wrong #args in control message"
		},
		{
			"Id": 11,
			"Name": "Econinuse",
			"String": "connection in use"
		},
		{
			"Id": 12,
			"Name": "Econrefused",
			"String": "connection refused"
		},
		{
			"Id": 13,
			"Name": "Edirseek",
			"String": "seek in directory"
		},
		{
			"Id": 14,
			"Name": "Eexist",
			"String": "file already exists"
		},
		{
			"Id": 15,
			"Name": "Efilename",
			"String": "file name syntax"
		},
		{
			"Id": 16,
			"Name": "Egreg",
			"String": "ken has left the building"
		},
		{
			"Id": 17,
			"Name": "Ehungup",
			"String": "i/o on hungup channel"
		},
		{
			"Id": 18,
			"Name": "Eintr",
			"String": "interrupted"
		},
		{
			"Id": 19,
			"Name": "Einuse",
			"String": "device or object already in use"
		},
		{
			"Id": 20,
			"Name": "Eio",
			"String": "i/o error"
		},
		{
			"Id": 21,
			"Name": "Eioload",
			"String": "i/o error in demand load"
		},
		{
			"Id": 22,
			"Name": "Eisdir",
			"String": "file is a directory"
		},
		{
			"Id": 23,
			"Name": "Eismtpt",
			"String": "is a mount point"
		},
		{
			"Id": 24,
			"Name": "Eisstream",
			"String": "seek on a stream"
		},
		{
			"Id": 25,
			"Name": "Emount",
			"String": "inconsistent mount"
		},
		{
			"Id": 26,
			"Name": "Emountrpc",
			"String": "mount rpc error"
		},
		{
			"Id": 27,
			"Name": "Emouseset",
			"String": "mount rpc error"
		},
		{
			"Id": 28,
			"Name": "Enegoff",
			"String": "negative i/o offset"
		},
		{
			"Id": 29,
			"Name": "Enoattach",
			"String": "mount/attach disallowed"
		},
		{
			"Id": 30,
			"Name": "Enochild",
			"String": "no living children"
		},
		{
			"Id": 31,
			"Name": "Enocreate",
			"String": "mounted directory forbids creation"
		},
		{
			"Id": 32,
			"Name": "Enodev",
			"String": "no free devices"
		},
		{
			"Id": 33,
			"Name": "Enoerror",
			"String": "no error"
		},
		{
			"Id": 34,
			"Name": "Enofd",
			"String": "no free file descriptors"
		},
		{
			"Id": 35,
			"Name": "Enomem",
			"String": "kernel allocate failed"
		},
		{
			"Id": 36,
			"Name": "Enonexist",
			"String": "file does not exist"
		},
		{
			"Id": 37,
			"Name": "Enoport",
			"String": "network port not available"
		},
		{
			"Id": 38,
			"Name": "Enoreg",
			"String": "process has no saved registers"
		},
		{
			"Id": 39,
			"Name": "Enoswap",
			"String": "swap space full"
		},
		{
			"Id": 40,
			"Name": "Enotdir",
			"String": "not a directory"
		},
		{
			"Id": 41,
			"Name": "Enovmem",
			"String": "virtual memory allocation failed"
		},
		{
			"Id": 42,
			"Name": "Eperm",
			"String": "permission denied"
		},
		{
			"Id": 43,
			"Name": "Eprocdied",
			"String": "process exited"
		},
		{
			"Id": 44,
			"Name": "Eshort",
			"String": "i/o count too small"
		},
		{
			"Id": 45,
			"Name": "Eshortstat",
			"String": "stat buffer too small"
		},
		{
			"Id": 46,
			"Name": "Eshutdown",
			"String": "device shut down"
		},
		{
			"Id": 47,
			"Name": "Esoverlap",
			"String": "segments overlap"
		},
		{
			"Id": 48,
			"Name": "Etimedout",
			"String": "connection timed out"
		},
		{
			"Id": 49,
			"Name": "Etoobig",
			"String": "read or write too large"
		},
		{
			"Id": 50,
			"Name": "Etoosmall",
			"String": "read or write too small"
		},
		{
			"Id": 51,
			"Name": "Eunion",
			"String": "not in union"
		},
		{
			"Id": 52,
			"Name": "Eunmount",
			"String": "not mounted"
		},
		{
			"Id": 53,
			"Name": "Ememinuse",
			"String": "cannot free memory used by other processes"
		},
		{
			"Id": 54,
			"Name": "Etoolong",
			"String": "name too long"
		}
	]
}
