bump osx_syscalls

This commit is contained in:
Ryan Goulden 2015-08-21 20:41:19 -07:00
parent bb28f6d8e2
commit f659a0f662
2 changed files with 47 additions and 13 deletions

View File

@ -1,9 +1,9 @@
#!/usr/bin/env python
from urllib import urlopen
syscalls_master = urlopen("http://www.opensource.apple.com/source/xnu/xnu-2422.110.17/bsd/kern/syscalls.master?txt").read()
syscalls_master = urlopen("http://www.opensource.apple.com/source/xnu/xnu-2782.10.72/bsd/kern/syscalls.master?txt").read()
x = (i.strip().split(None, 3) for i in syscalls_master.splitlines() if i.strip() and i[0] not in '#;')
x = ((i[0],i[3][i[3].index('{')+1:i[3].index('}')].strip()) for i in x if len(i) == 4)
x = {int(k):v for k,v in x if v != 'int nosys(void);'}
x = {int(k):v for k,v in x if v != 'int nosys(void);' and v != 'int enosys(void);'}
# Yay assumptions

View File

@ -10,7 +10,7 @@ enum argtype {
ARG_UNKNOWN
};
const int MAX_SYSCALL_NUM = 456;
const int MAX_SYSCALL_NUM = 490;
struct syscall_entry {
const char *name;
@ -196,8 +196,8 @@ struct syscall_entry {
{.name = "#176", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "#177", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "#178", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "#179", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "kdebug_trace", .nargs = 6, .args = { ARG_INT, ARG_INT, ARG_INT, ARG_INT, ARG_INT, ARG_INT, }},
{.name = "kdebug_trace64", .nargs = 5, .args = { ARG_INT, ARG_INT, ARG_INT, ARG_INT, ARG_INT, }},
{.name = "kdebug_trace", .nargs = 5, .args = { ARG_INT, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "setgid", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "setegid", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "seteuid", .nargs = 1, .args = { ARG_UNKNOWN, }},
@ -219,7 +219,7 @@ struct syscall_entry {
{.name = "lseek", .nargs = 3, .args = { ARG_INT, ARG_UNKNOWN, ARG_INT, }},
{.name = "truncate", .nargs = 2, .args = { ARG_STR, ARG_UNKNOWN, }},
{.name = "ftruncate", .nargs = 2, .args = { ARG_INT, ARG_UNKNOWN, }},
{.name = "__sysctl", .nargs = 6, .args = { ARG_UNKNOWN, ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_STR, ARG_INT, }},
{.name = "sysctl", .nargs = 6, .args = { ARG_UNKNOWN, ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_STR, ARG_INT, }},
{.name = "mlock", .nargs = 2, .args = { ARG_UNKNOWN, ARG_INT, }},
{.name = "munlock", .nargs = 2, .args = { ARG_UNKNOWN, ARG_INT, }},
{.name = "undelete", .nargs = 1, .args = { ARG_STR, }},
@ -291,9 +291,9 @@ struct syscall_entry {
{.name = "sem_wait", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "sem_trywait", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "sem_post", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "sem_getvalue", .nargs = 2, .args = { ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "sem_init", .nargs = 3, .args = { ARG_UNKNOWN, ARG_INT, ARG_INT, }},
{.name = "sem_destroy", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "sysctlbyname", .nargs = 6, .args = { ARG_STR, ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_STR, ARG_INT, }},
{.name = "#275", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "#276", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "open_extended", .nargs = 6, .args = { ARG_STR, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_INT, ARG_STR, }},
{.name = "umask_extended", .nargs = 2, .args = { ARG_INT, ARG_STR, }},
{.name = "stat_extended", .nargs = 4, .args = { ARG_STR, ARG_STR, ARG_STR, ARG_STR, }},
@ -316,8 +316,8 @@ struct syscall_entry {
{.name = "vm_pressure_monitor", .nargs = 3, .args = { ARG_INT, ARG_INT, ARG_UNKNOWN, }},
{.name = "psynch_rw_longrdlock", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
{.name = "psynch_rw_yieldwrlock", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
{.name = "enosys", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "enosys", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "psynch_rw_downgrade", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
{.name = "psynch_rw_upgrade", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
{.name = "psynch_mutexwait", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
{.name = "psynch_mutexdrop", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
{.name = "psynch_cvbroad", .nargs = 7, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_UNKNOWN, ARG_STR, ARG_INT, ARG_INT, }},
@ -383,7 +383,7 @@ struct syscall_entry {
{.name = "kevent", .nargs = 6, .args = { ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, }},
{.name = "lchown", .nargs = 3, .args = { ARG_STR, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "stack_snapshot", .nargs = 5, .args = { ARG_UNKNOWN, ARG_STR, ARG_INT, ARG_UNKNOWN, ARG_INT, }},
{.name = "bsdthread_register", .nargs = 6, .args = { ARG_STR, ARG_STR, ARG_INT, ARG_STR, ARG_STR, ARG_INT, }},
{.name = "bsdthread_register", .nargs = 7, .args = { ARG_STR, ARG_STR, ARG_UNKNOWN, ARG_STR, ARG_STR, ARG_INT, ARG_INT, }},
{.name = "workq_open", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "workq_kernreturn", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_INT, ARG_INT, }},
{.name = "kevent64", .nargs = 7, .args = { ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, ARG_UNKNOWN, }},
@ -398,7 +398,7 @@ struct syscall_entry {
{.name = "#378", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "#379", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "__mac_execve", .nargs = 4, .args = { ARG_STR, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "enosys", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "__mac_syscall", .nargs = 3, .args = { ARG_STR, ARG_INT, ARG_STR, }},
{.name = "__mac_get_file", .nargs = 2, .args = { ARG_STR, ARG_UNKNOWN, }},
{.name = "__mac_set_file", .nargs = 2, .args = { ARG_STR, ARG_UNKNOWN, }},
{.name = "__mac_get_link", .nargs = 2, .args = { ARG_STR, ARG_UNKNOWN, }},
@ -473,6 +473,40 @@ struct syscall_entry {
{.name = "memorystatus_get_level", .nargs = 1, .args = { ARG_STR, }},
{.name = "system_override", .nargs = 2, .args = { ARG_INT, ARG_UNKNOWN, }},
{.name = "vfs_purge", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "sfi_ctl", .nargs = 4, .args = { ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
{.name = "sfi_pidctl", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "coalition", .nargs = 3, .args = { ARG_INT, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "coalition_info", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_STR, ARG_UNKNOWN, }},
{.name = "necp_match_policy", .nargs = 3, .args = { ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, }},
{.name = "getattrlistbulk", .nargs = 5, .args = { ARG_INT, ARG_UNKNOWN, ARG_STR, ARG_INT, ARG_INT, }},
{.name = "#462", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "openat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_INT, }},
{.name = "openat_nocancel", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_INT, }},
{.name = "renameat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_INT, ARG_STR, }},
{.name = "faccessat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_INT, ARG_UNKNOWN, }},
{.name = "fchmodat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_INT, ARG_UNKNOWN, }},
{.name = "fchownat", .nargs = 5, .args = { ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
{.name = "fstatat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_STR, ARG_UNKNOWN, }},
{.name = "fstatat64", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_STR, ARG_UNKNOWN, }},
{.name = "linkat", .nargs = 5, .args = { ARG_INT, ARG_STR, ARG_INT, ARG_STR, ARG_UNKNOWN, }},
{.name = "unlinkat", .nargs = 3, .args = { ARG_INT, ARG_STR, ARG_UNKNOWN, }},
{.name = "readlinkat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_STR, ARG_INT, }},
{.name = "symlinkat", .nargs = 3, .args = { ARG_STR, ARG_INT, ARG_STR, }},
{.name = "mkdirat", .nargs = 3, .args = { ARG_INT, ARG_STR, ARG_INT, }},
{.name = "getattrlistat", .nargs = 6, .args = { ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_STR, ARG_INT, ARG_UNKNOWN, }},
{.name = "proc_trace_log", .nargs = 2, .args = { ARG_UNKNOWN, ARG_INT, }},
{.name = "bsdthread_ctl", .nargs = 4, .args = { ARG_STR, ARG_STR, ARG_STR, ARG_STR, }},
{.name = "openbyid_np", .nargs = 3, .args = { ARG_STR, ARG_STR, ARG_UNKNOWN, }},
{.name = "recvmsg_x", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, }},
{.name = "sendmsg_x", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, }},
{.name = "thread_selfusage", .nargs = 1, .args = { ARG_UNKNOWN, }},
{.name = "csrctl", .nargs = 3, .args = { ARG_INT, ARG_STR, ARG_STR, }},
{.name = "guarded_open_dprotected_np", .nargs = 7, .args = { ARG_STR, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, ARG_INT, }},
{.name = "guarded_write_np", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_STR, ARG_INT, }},
{.name = "guarded_pwrite_np", .nargs = 5, .args = { ARG_INT, ARG_UNKNOWN, ARG_STR, ARG_INT, ARG_UNKNOWN, }},
{.name = "guarded_writev_np", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_UNKNOWN, ARG_INT, }},
{.name = "rename_ext", .nargs = 3, .args = { ARG_STR, ARG_STR, ARG_UNKNOWN, }},
{.name = "mremap_encrypted", .nargs = 5, .args = { ARG_UNKNOWN, ARG_INT, ARG_INT, ARG_INT, ARG_INT, }},
};
#ifdef __cplusplus