import urllib.request, http.client, html def get_freebsd_syscalls(): data = urllib.request.urlopen('https://raw.githubusercontent.com/freebsd/freebsd/stable/9/sys/kern/syscalls.master').read().decode('ascii') data = '\n'.join(i.strip() for i in data.split('\n') if not i.startswith(';')).replace('\\\n', ' ') assert data.startswith('$FreeBSD$\n') data = data[10:] ans = {} for i in data.split('\n'): i = i.strip() if not i or 'STD' not in i.split() or i.startswith('#include'): continue name = i.split('(', 1)[0].split()[-1] idx = int(i.split()[0]) ans[idx] = name return ans def get_sony_syscalls(): # TODO: PS5-specific syscalls r = urllib.request.urlopen('http://web.archive.org/web/20210124215126js_/https://psdevwiki.com/ps4/edit/Syscalls') data = html.unescape(r.read().decode('latin-1').split('