VSF Documented
sysmacros.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_SYSMACROS_H__
2#define __VSF_LINUX_SYSMACROS_H__
3
5
6#if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED
7# include "../sys/types.h"
8#else
9# include <sys/types.h>
10#endif
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#if VSF_LINUX_APPLET_USE_SYS_SYSMACROS == ENABLED
19
24# ifndef __VSF_APPLET__
26# endif
27#endif
28
29#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_SYS_SYSMACROS_LIB__))\
30 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_SYS_SYSMACROS == ENABLED
31
32#ifndef VSF_LINUX_APPLET_SYS_SYSMACROS_VPLT
33# if VSF_LINUX_USE_APPLET == ENABLED
34# define VSF_LINUX_APPLET_SYS_SYSMACROS_VPLT \
35 ((vsf_linux_sys_sysmacros_vplt_t *)(VSF_LINUX_APPLET_VPLT->sys_sysmacros_vplt))
36# else
37# define VSF_LINUX_APPLET_SYS_SYSMACROS_VPLT \
38 ((vsf_linux_sys_sysmacros_vplt_t *)vsf_vplt((void *)0))
39# endif
40#endif
41
42#define VSF_LINUX_APPLET_SYS_SYSMACROS_ENTRY(__NAME) \
43 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_SYS_SYSMACROS_VPLT, __NAME)
44#define VSF_LINUX_APPLET_SYS_SYSMACROS_IMP(...) \
45 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_SYS_SYSMACROS_VPLT, __VA_ARGS__)
46
47VSF_LINUX_APPLET_SYS_SYSMACROS_IMP(makedev, dev_t, unsigned int maj, unsigned int min) {
49 return VSF_LINUX_APPLET_SYS_SYSMACROS_ENTRY(makedev)(maj, min);
50}
51VSF_LINUX_APPLET_SYS_SYSMACROS_IMP(major, unsigned int, dev_t dev) {
53 return VSF_LINUX_APPLET_SYS_SYSMACROS_ENTRY(major)(dev);
54}
55VSF_LINUX_APPLET_SYS_SYSMACROS_IMP(minor, unsigned int, dev_t dev) {
57 return VSF_LINUX_APPLET_SYS_SYSMACROS_ENTRY(minor)(dev);
58}
59
60#else // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_SYS_SYSMACROS
61
62dev_t makedev(unsigned int maj, unsigned int min);
63unsigned int major(dev_t dev);
64unsigned int minor(dev_t dev);
65
66#endif
67
68#ifdef __cplusplus
69}
70#endif
71
72#endif
unsigned long dev_t
Definition types.h:98
#define min(x, y)
Definition minmax.h:11
Definition sysmacros.h:17
vsf_vplt_info_t info
Definition sysmacros.h:18
unsigned int major(dev_t dev)
Definition vsf_linux.c:3919
__VSF_VPLT_DECORATOR__ vsf_linux_sys_sysmacros_vplt_t vsf_linux_sys_sysmacros_vplt
Definition vsf_linux.c:5273
unsigned int minor(dev_t dev)
Definition vsf_linux.c:3924
dev_t makedev(unsigned int maj, unsigned int min)
Definition vsf_linux.c:3914
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