Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/imgact.h
Show First 20 Lines • Show All 77 Lines • ▼ Show 20 Lines | struct image_params { | ||||
void *execpathp; | void *execpathp; | ||||
char *freepath; | char *freepath; | ||||
void *canary; | void *canary; | ||||
int canarylen; | int canarylen; | ||||
void *pagesizes; | void *pagesizes; | ||||
int pagesizeslen; | int pagesizeslen; | ||||
vm_prot_t stack_prot; | vm_prot_t stack_prot; | ||||
u_long stack_sz; | u_long stack_sz; | ||||
u_long eff_stack_sz; | |||||
struct ucred *newcred; /* new credentials if changing */ | struct ucred *newcred; /* new credentials if changing */ | ||||
#define IMGACT_SHELL 0x1 | #define IMGACT_SHELL 0x1 | ||||
#define IMGACT_BINMISC 0x2 | #define IMGACT_BINMISC 0x2 | ||||
unsigned char interpreted; /* mask of interpreters that have run */ | unsigned char interpreted; /* mask of interpreters that have run */ | ||||
bool credential_setid; /* true if becoming setid */ | bool credential_setid; /* true if becoming setid */ | ||||
bool vmspace_destroyed; /* we've blown away original vm space */ | bool vmspace_destroyed; /* we've blown away original vm space */ | ||||
bool opened; /* we have opened executable vnode */ | bool opened; /* we have opened executable vnode */ | ||||
bool textset; | bool textset; | ||||
Show All 14 Lines | int exec_args_add_fname(struct image_args *args, const char *fname, | ||||
enum uio_seg segflg); | enum uio_seg segflg); | ||||
int exec_args_adjust_args(struct image_args *args, size_t consume, | int exec_args_adjust_args(struct image_args *args, size_t consume, | ||||
ssize_t extend); | ssize_t extend); | ||||
char *exec_args_get_begin_envv(struct image_args *args); | char *exec_args_get_begin_envv(struct image_args *args); | ||||
int exec_check_permissions(struct image_params *); | int exec_check_permissions(struct image_params *); | ||||
void exec_cleanup(struct thread *td, struct vmspace *); | void exec_cleanup(struct thread *td, struct vmspace *); | ||||
int exec_copyout_strings(struct image_params *, uintptr_t *); | int exec_copyout_strings(struct image_params *, uintptr_t *); | ||||
void exec_free_args(struct image_args *); | void exec_free_args(struct image_args *); | ||||
int exec_map_stack(struct image_params *); | |||||
int exec_new_vmspace(struct image_params *, struct sysentvec *); | int exec_new_vmspace(struct image_params *, struct sysentvec *); | ||||
void exec_setregs(struct thread *, struct image_params *, uintptr_t); | void exec_setregs(struct thread *, struct image_params *, uintptr_t); | ||||
int exec_shell_imgact(struct image_params *); | int exec_shell_imgact(struct image_params *); | ||||
int exec_copyin_args(struct image_args *, const char *, enum uio_seg, | int exec_copyin_args(struct image_args *, const char *, enum uio_seg, | ||||
char **, char **); | char **, char **); | ||||
void exec_stackgap(struct image_params *imgp, uintptr_t *dp); | |||||
int pre_execve(struct thread *td, struct vmspace **oldvmspace); | int pre_execve(struct thread *td, struct vmspace **oldvmspace); | ||||
void post_execve(struct thread *td, int error, struct vmspace *oldvmspace); | void post_execve(struct thread *td, int error, struct vmspace *oldvmspace); | ||||
#endif | #endif | ||||
#endif /* !_SYS_IMGACT_H_ */ | #endif /* !_SYS_IMGACT_H_ */ |