Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/sysent.h
Show First 20 Lines • Show All 103 Lines • ▼ Show 20 Lines | struct sysentvec { | ||||
int sv_size; /* number of entries */ | int sv_size; /* number of entries */ | ||||
struct sysent *sv_table; /* pointer to sysent */ | struct sysent *sv_table; /* pointer to sysent */ | ||||
int (*sv_transtrap)(int, int); | int (*sv_transtrap)(int, int); | ||||
/* translate trap-to-signal mapping */ | /* translate trap-to-signal mapping */ | ||||
int (*sv_fixup)(uintptr_t *, struct image_params *); | int (*sv_fixup)(uintptr_t *, struct image_params *); | ||||
/* stack fixup function */ | /* stack fixup function */ | ||||
void (*sv_sendsig)(void (*)(int), struct ksiginfo *, struct __sigset *); | void (*sv_sendsig)(void (*)(int), struct ksiginfo *, struct __sigset *); | ||||
/* send signal */ | /* send signal */ | ||||
char *sv_sigcode; /* start of sigtramp code */ | const char *sv_sigcode; /* start of sigtramp code */ | ||||
int *sv_szsigcode; /* size of sigtramp code */ | int *sv_szsigcode; /* size of sigtramp code */ | ||||
int sv_sigcodeoff; | |||||
char *sv_name; /* name of binary type */ | char *sv_name; /* name of binary type */ | ||||
int (*sv_coredump)(struct thread *, struct vnode *, off_t, int); | int (*sv_coredump)(struct thread *, struct vnode *, off_t, int); | ||||
/* function to dump core, or NULL */ | /* function to dump core, or NULL */ | ||||
int sv_elf_core_osabi; | int sv_elf_core_osabi; | ||||
const char *sv_elf_core_abi_vendor; | const char *sv_elf_core_abi_vendor; | ||||
void (*sv_elf_core_prepare_notes)(struct thread *, | void (*sv_elf_core_prepare_notes)(struct thread *, | ||||
struct note_info_list *, size_t *); | struct note_info_list *, size_t *); | ||||
int (*sv_imgact_try)(struct image_params *); | int (*sv_imgact_try)(struct image_params *); | ||||
Show All 16 Lines | struct sysentvec { | ||||
void (*sv_set_syscall_retval)(struct thread *, int); | void (*sv_set_syscall_retval)(struct thread *, int); | ||||
int (*sv_fetch_syscall_args)(struct thread *); | int (*sv_fetch_syscall_args)(struct thread *); | ||||
const char **sv_syscallnames; | const char **sv_syscallnames; | ||||
vm_offset_t sv_timekeep_base; | vm_offset_t sv_timekeep_base; | ||||
vm_offset_t sv_shared_page_base; | vm_offset_t sv_shared_page_base; | ||||
vm_offset_t sv_shared_page_len; | vm_offset_t sv_shared_page_len; | ||||
vm_offset_t sv_sigcode_base; | vm_offset_t sv_sigcode_base; | ||||
void *sv_shared_page_obj; | void *sv_shared_page_obj; | ||||
vm_offset_t sv_vdso_base; | |||||
void (*sv_schedtail)(struct thread *); | void (*sv_schedtail)(struct thread *); | ||||
void (*sv_thread_detach)(struct thread *); | void (*sv_thread_detach)(struct thread *); | ||||
int (*sv_trap)(struct thread *); | int (*sv_trap)(struct thread *); | ||||
u_long *sv_hwcap; /* Value passed in AT_HWCAP. */ | u_long *sv_hwcap; /* Value passed in AT_HWCAP. */ | ||||
u_long *sv_hwcap2; /* Value passed in AT_HWCAP2. */ | u_long *sv_hwcap2; /* Value passed in AT_HWCAP2. */ | ||||
const char *(*sv_machine_arch)(struct proc *); | const char *(*sv_machine_arch)(struct proc *); | ||||
vm_offset_t sv_fxrng_gen_base; | vm_offset_t sv_fxrng_gen_base; | ||||
void (*sv_onexec_old)(struct thread *td); | void (*sv_onexec_old)(struct thread *td); | ||||
Show All 12 Lines | |||||
#define SV_AOUT 0x008000 /* a.out executable. */ | #define SV_AOUT 0x008000 /* a.out executable. */ | ||||
#define SV_SHP 0x010000 /* Shared page. */ | #define SV_SHP 0x010000 /* Shared page. */ | ||||
#define SV_AVAIL1 0x020000 /* Unused */ | #define SV_AVAIL1 0x020000 /* Unused */ | ||||
#define SV_TIMEKEEP 0x040000 /* Shared page timehands. */ | #define SV_TIMEKEEP 0x040000 /* Shared page timehands. */ | ||||
#define SV_ASLR 0x080000 /* ASLR allowed. */ | #define SV_ASLR 0x080000 /* ASLR allowed. */ | ||||
#define SV_RNG_SEED_VER 0x100000 /* random(4) reseed generation. */ | #define SV_RNG_SEED_VER 0x100000 /* random(4) reseed generation. */ | ||||
#define SV_SIG_DISCIGN 0x200000 /* Do not discard ignored signals */ | #define SV_SIG_DISCIGN 0x200000 /* Do not discard ignored signals */ | ||||
#define SV_SIG_WAITNDQ 0x400000 /* Wait does not dequeue SIGCHLD */ | #define SV_SIG_WAITNDQ 0x400000 /* Wait does not dequeue SIGCHLD */ | ||||
#define SV_DSO_SIG 0x800000 /* Signal trampoline packed in dso */ | |||||
#define SV_ABI_MASK 0xff | #define SV_ABI_MASK 0xff | ||||
#define SV_PROC_FLAG(p, x) ((p)->p_sysent->sv_flags & (x)) | #define SV_PROC_FLAG(p, x) ((p)->p_sysent->sv_flags & (x)) | ||||
#define SV_PROC_ABI(p) ((p)->p_sysent->sv_flags & SV_ABI_MASK) | #define SV_PROC_ABI(p) ((p)->p_sysent->sv_flags & SV_ABI_MASK) | ||||
#define SV_CURPROC_FLAG(x) SV_PROC_FLAG(curproc, x) | #define SV_CURPROC_FLAG(x) SV_PROC_FLAG(curproc, x) | ||||
#define SV_CURPROC_ABI() SV_PROC_ABI(curproc) | #define SV_CURPROC_ABI() SV_PROC_ABI(curproc) | ||||
/* same as ELFOSABI_XXX, to prevent header pollution */ | /* same as ELFOSABI_XXX, to prevent header pollution */ | ||||
#define SV_ABI_LINUX 3 | #define SV_ABI_LINUX 3 | ||||
▲ Show 20 Lines • Show All 161 Lines • Show Last 20 Lines |