X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..527f99514973766e9c0382a4d8550dfb00f54939:/bsd/sys/sysent.h diff --git a/bsd/sys/sysent.h b/bsd/sys/sysent.h index 59aec4ffc..6d529d6f5 100644 --- a/bsd/sys/sysent.h +++ b/bsd/sys/sysent.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004-2007 Apple Inc. All rights reserved. + * Copyright (c) 2004-2014 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -31,24 +31,24 @@ #include #include -#ifdef __ppc__ -#include -#endif #ifdef KERNEL_PRIVATE #ifdef __APPLE_API_PRIVATE typedef int32_t sy_call_t(struct proc *, void *, int *); -typedef void sy_munge_t(const void *, void *); +#if CONFIG_REQUIRES_U32_MUNGING +typedef void sy_munge_t(void *); +#elif __arm__ && (__BIGGEST_ALIGNMENT__ > 4) +typedef int sy_munge_t(const void *, void *); +#endif struct sysent { /* system call table */ - int16_t sy_narg; /* number of args */ - int8_t sy_resv; /* reserved */ - int8_t sy_flags; /* flags */ sy_call_t *sy_call; /* implementing function */ +#if CONFIG_REQUIRES_U32_MUNGING || (__arm__ && (__BIGGEST_ALIGNMENT__ > 4)) sy_munge_t *sy_arg_munge32; /* system call arguments munger for 32-bit process */ - sy_munge_t *sy_arg_munge64; /* system call arguments munger for 64-bit process */ +#endif int32_t sy_return_type; /* system call return types */ + int16_t sy_narg; /* number of args */ uint16_t sy_arg_bytes; /* Total size of arguments in bytes for * 32-bit system calls */ @@ -58,12 +58,7 @@ struct sysent { /* system call table */ extern struct sysent sysent[]; #endif /* __INIT_SYSENT_C__ */ -extern int nsysent; -#define NUM_SYSENT 427 /* Current number of defined syscalls */ - -/* sy_funnel flags bits */ -#define FUNNEL_MASK 0x07f -#define UNSAFE_64BIT 0x080 +extern unsigned int nsysent; /* * Valid values for sy_cancel @@ -82,6 +77,7 @@ extern int nsysent; #define _SYSCALL_RET_ADDR_T 4 #define _SYSCALL_RET_SIZE_T 5 #define _SYSCALL_RET_SSIZE_T 6 +#define _SYSCALL_RET_UINT64_T 7 #endif /* __APPLE_API_PRIVATE */ #endif /* KERNEL_PRIVATE */