Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/imgact.h
Show First 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | struct image_args { | ||||
char *begin_envv; /* beginning of envv in buf */ | char *begin_envv; /* beginning of envv in buf */ | ||||
char *endp; /* current `end' pointer of arg & env strings */ | char *endp; /* current `end' pointer of arg & env strings */ | ||||
char *fname; /* pointer to filename of executable (system space) */ | char *fname; /* pointer to filename of executable (system space) */ | ||||
char *fname_buf; /* pointer to optional malloc(M_TEMP) buffer */ | char *fname_buf; /* pointer to optional malloc(M_TEMP) buffer */ | ||||
int stringspace; /* space left in arg & env buffer */ | int stringspace; /* space left in arg & env buffer */ | ||||
int argc; /* count of argument strings */ | int argc; /* count of argument strings */ | ||||
int envc; /* count of environment strings */ | int envc; /* count of environment strings */ | ||||
int fd; /* file descriptor of the executable */ | int fd; /* file descriptor of the executable */ | ||||
struct filedesc *fdp; /* new file descriptor table */ | |||||
}; | }; | ||||
struct image_params { | struct image_params { | ||||
struct proc *proc; /* our process struct */ | struct proc *proc; /* our process struct */ | ||||
struct label *execlabel; /* optional exec label */ | struct label *execlabel; /* optional exec label */ | ||||
struct vnode *vp; /* pointer to vnode of file to exec */ | struct vnode *vp; /* pointer to vnode of file to exec */ | ||||
struct vm_object *object; /* The vm object for this vp */ | struct vm_object *object; /* The vm object for this vp */ | ||||
struct vattr *attr; /* attributes of file */ | struct vattr *attr; /* attributes of file */ | ||||
Show All 34 Lines | |||||
int exec_check_permissions(struct image_params *); | int exec_check_permissions(struct image_params *); | ||||
register_t *exec_copyout_strings(struct image_params *); | register_t *exec_copyout_strings(struct image_params *); | ||||
void exec_free_args(struct image_args *); | void exec_free_args(struct image_args *); | ||||
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 *, u_long); | void exec_setregs(struct thread *, struct image_params *, u_long); | ||||
int exec_shell_imgact(struct image_params *); | int exec_shell_imgact(struct image_params *); | ||||
int exec_copyin_args(struct image_args *, char *, enum uio_seg, | int exec_copyin_args(struct image_args *, char *, enum uio_seg, | ||||
char **, char **); | char **, char **); | ||||
int exec_copyin_data_fds(struct thread *, struct image_args *, const void *, | |||||
size_t, const int *, size_t); | |||||
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_ */ |