1#ifndef __VSF_LINUX_SYS_WAIT_H__
2#define __VSF_LINUX_SYS_WAIT_H__
6#if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED
7# include "../sys/types.h"
18#if VSF_LINUX_CFG_WRAPPER == ENABLED
19#define waitpid VSF_LINUX_WRAPPER(waitpid)
24#define __NR_waitpid waitpid
35#define PID_STATUS_RUNNING (1 << 0)
36#define PID_STATUS_DAEMON (1 << 1)
38#define WIFEXITED(__STATUS) !((__STATUS) & 0xFF)
39#define WEXITSTATUS(__STATUS) ((__STATUS) >> 8)
41#define WIFSIGNALED(__STATUS) 0
42#define WTERMSIG(__STATUS) ((__STATUS) & 0x7F)
43#define WIFSTOPPED(__STATUS) 0
44#define WSTOPSIG(__STATUS) 0
46#if VSF_LINUX_APPLET_USE_SYS_WAIT == ENABLED
54# ifndef __VSF_APPLET__
59#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_SYS_WAIT_LIB__))\
60 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_SYS_WAIT == ENABLED
62#ifndef VSF_LINUX_APPLET_SYS_WAIT_VPLT
63# if VSF_LINUX_USE_APPLET == ENABLED
64# define VSF_LINUX_APPLET_SYS_WAIT_VPLT \
65 ((vsf_linux_sys_wait_vplt_t *)(VSF_LINUX_APPLET_VPLT->sys_wait_vplt))
67# define VSF_LINUX_APPLET_SYS_WAIT_VPLT \
68 ((vsf_linux_sys_wait_vplt_t *)vsf_vplt((void *)0))
72#define VSF_LINUX_APPLET_SYS_WAIT_ENTRY(__NAME) \
73 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_SYS_WAIT_VPLT, __NAME)
74#define VSF_LINUX_APPLET_SYS_WAIT_IMP(...) \
75 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_SYS_WAIT_VPLT, __VA_ARGS__)
79 return VSF_LINUX_APPLET_SYS_WAIT_ENTRY(
wait)(
status);
83 return VSF_LINUX_APPLET_SYS_WAIT_ENTRY(
waitpid)(pid,
status, options);
87 return VSF_LINUX_APPLET_SYS_WAIT_ENTRY(
waitid)(idtype, id, infop, options);
idtype_t
Definition types.h:112
int pid_t
Definition types.h:85
int id_t
Definition types.h:86
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(wait)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(waitid)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(waitpid)
vsf_vplt_info_t info
Definition wait.h:48
#define waitpid
Definition wait.h:19
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options)
Definition vsf_linux.c:2770
__VSF_VPLT_DECORATOR__ vsf_linux_sys_wait_vplt_t vsf_linux_sys_wait_vplt
Definition vsf_linux.c:4810
pid_t wait(int *status)
Definition vsf_linux.c:2711
#define __VSF_VPLT_DECORATOR__
Definition vsf_cfg.h:93
#define VSF_APPLET_VPLT_ENTRY_FUNC_TRACE()
Definition vsf_cfg.h:165
uint8_t status
Definition vsf_tgui.h:139