VSF Documented
findprog.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_FINDPROG_H__
2#define __VSF_LINUX_FINDPROG_H__
3
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#if VSF_LINUX_CFG_WRAPPER == ENABLED
11#define find_in_path VSF_LINUX_WRAPPER(find_in_path)
12#define find_in_given_path VSF_LINUX_WRAPPER(find_in_given_path)
13#endif
14
15#if VSF_LINUX_APPLET_USE_FINDPROG == ENABLED
18
22# ifndef __VSF_APPLET__
24# endif
25#endif
26
27#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_FINDPROG_LIB__))\
28 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_FINDPROG == ENABLED
29
30#ifndef VSF_LINUX_APPLET_FINDPROG_VPLT
31# if VSF_LINUX_USE_APPLET == ENABLED
32# define VSF_LINUX_APPLET_FINDPROG_VPLT \
33 ((vsf_linux_findprog_vplt_t *)(VSF_LINUX_APPLET_VPLT->findprog_vplt))
34# else
35# define VSF_LINUX_APPLET_FINDPROG_VPLT \
36 ((vsf_linux_findprog_vplt_t *)vsf_vplt((void *)0))
37# endif
38#endif
39
40#define VSF_LINUX_APPLET_FINDPROG_ENTRY(__NAME) \
41 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_FINDPROG_VPLT, __NAME)
42#define VSF_LINUX_APPLET_FINDPROG_IMP(...) \
43 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_FINDPROG_VPLT, __VA_ARGS__)
44
45VSF_LINUX_APPLET_FINDPROG_IMP(find_in_path, const char *, const char *progname) {
47 return VSF_LINUX_APPLET_FINDPROG_ENTRY(find_in_path)(progname);
48}
49VSF_LINUX_APPLET_FINDPROG_IMP(find_in_given_path, const char *, const char *progname, const char *path, const char *directory, bool optimize_for_exec) {
51 return VSF_LINUX_APPLET_FINDPROG_ENTRY(find_in_given_path)(progname, path, directory, optimize_for_exec);
52}
53
54#else // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_FINDPROG
55
56const char * find_in_path(const char *progname);
57const char * find_in_given_path(const char *progname, const char *path, const char *directory, bool optimize_for_exec);
58
59#endif // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_FINDPROG
60
61#ifdef __cplusplus
62}
63#endif
64
65#endif
__VSF_VPLT_DECORATOR__ vsf_linux_findprog_vplt_t vsf_linux_findprog_vplt
Definition vsf_linux.c:5283
#define find_in_given_path
Definition findprog.h:12
#define find_in_path
Definition findprog.h:11
Definition findprog.h:16
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(find_in_given_path)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(find_in_path)
vsf_vplt_info_t info
Definition findprog.h:17
Definition vsf_cfg.h:95
#define __VSF_VPLT_DECORATOR__
Definition vsf_cfg.h:93
#define VSF_APPLET_VPLT_ENTRY_FUNC_TRACE()
Definition vsf_cfg.h:165