VSF Documented
reent.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_SYS_REENT_H__
2#define __VSF_LINUX_SYS_REENT_H__
3
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10struct _reent {
11 int _errno;
12};
13
14#define __errno_r(r) ((r)->_errno)
15
16extern struct _reent *__vsf_linux_getreent(void);
17#define __getreent() __vsf_linux_getreent()
18
19#if VSF_LINUX_APPLET_USE_REENT == ENABLED
20typedef struct vsf_linux_reent_vplt_t {
22
25# ifndef __VSF_APPLET__
27# endif
28#endif
29
30#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_REENT_LIB__))\
31 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_REENT == ENABLED
32
33#ifndef VSF_LINUX_APPLET_REENT_VPLT
34# if VSF_LINUX_USE_APPLET == ENABLED
35# define VSF_LINUX_APPLET_REENT_VPLT \
36 ((vsf_linux_reent_vplt_t *)(VSF_LINUX_APPLET_VPLT->reent_vplt))
37# else
38# define VSF_LINUX_APPLET_REENT_VPLT \
39 ((vsf_linux_reent_vplt_t *)vsf_vplt((void *)0))
40# endif
41#endif
42
43#define VSF_LINUX_APPLET_REENT_ENTRY(__NAME) \
44 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_REENT_VPLT, __NAME)
45#define VSF_LINUX_APPLET_REENT_IMP(...) \
46 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_REENT_VPLT, __VA_ARGS__)
47
48VSF_LINUX_APPLET_REENT_IMP(__vsf_linux_getreent, struct _reent *, void) {
50 return VSF_LINUX_APPLET_REENT_ENTRY(__vsf_linux_getreent)();
51}
52
53#else
54
55extern struct _reent *__vsf_linux_getreent(void);
56
57#endif
58
59#ifdef __cplusplus
60}
61#endif
62
63#endif // __VSF_LINUX_SYS_REENT_H__
struct _reent * __vsf_linux_getreent(void)
Definition vsf_linux.c:776
__VSF_VPLT_DECORATOR__ vsf_linux_reent_vplt_t vsf_linux_reent_vplt
Definition vsf_linux.c:5095
Definition reent.h:10
int _errno
Definition reent.h:11
Definition reent.h:20
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(__vsf_linux_getreent)
vsf_vplt_info_t info
Definition reent.h:21
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
Generated from commit: vsfteam/vsf@c072a8d