00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __POSIX_EXECVE_H__
00011 #define __POSIX_EXECVE_H__ 1
00012 #include <libc.h>
00013
00014 typedef enum
00015 {
00016 EXEC_EZERO,
00017
00018 EXEC_PRSV_STK = 100,
00019 EXEC_URSV_STK,
00020 EXEC_MAP_STK,
00021 EXEC_COPY_PARAMS,
00022 EXEC_ASCREATE,
00023 EXEC_LOAD_EXEC,
00024 EXEC_LASEP,
00025 EXEC_ALLOC_ARGS,
00026 EXEC_ALLOC_ENV,
00027 EXEC_ALLOC_INFO,
00028 EXEC_ALLOC_FD,
00029 EXEC_COPY_WD,
00030 EXEC_COPY_ENV,
00031 EXEC_COPY_FSHARE,
00032 EXEC_COPY_FDESC,
00033 EXEC_COPY_PINFO,
00034 EXEC_SAS,
00035 EXEC_FDESC_GET,
00036 EXEC_UPDATE_FDESC,
00037 EXEC_LNAME,
00038 EXEC_PROP_TRIGGER,
00039 EXEC_ASOP,
00040 } t_exec_status;
00041
00042 typedef void (*t_execve_callback)(asid_t new_asid);
00045
00046
00047 int asid_execve(asid_t asid, u_int32_t loadopts, const char *path, char *const argv[], char *const envp[], t_pinfo *pinfo);
00048 int execve(const char *path, char *const argv[], char *const envp[]);
00049 int execv(const char *path, char *const argv[]);
00050 int execl(const char *name, const char *arg, ...);
00051 #endif