VSF Documented
if.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_NET_IF_H__
2#define __VSF_LINUX_NET_IF_H__
3
5
6#define IFNAMSIZ 16
7#define IFALIASZ 256
8
9struct ifreq {
10 union {
13};
14#define ifr_name ifr_ifrn.ifrn_name
15#define ifr_hwaddr ifr_ifru.ifru_hwaddr
16#define ifr_addr ifr_ifru.ifru_addr
17#define ifr_dstaddr ifr_ifru.ifru_dstaddr
18#define ifr_broadaddr ifr_ifru.ifru_broadaddr
19#define ifr_netmask ifr_ifru.ifru_netmask
20#define ifr_flags ifr_ifru.ifru_flags
21#define ifr_metric ifr_ifru.ifru_ivalue
22#define ifr_mtu ifr_ifru.ifru_mtu
23#define ifr_map ifr_ifru.ifru_map
24#define ifr_slave ifr_ifru.ifru_slave
25#define ifr_data ifr_ifru.ifru_data
26#define ifr_ifindex ifr_ifru.ifru_ivalue
27#define ifr_bandwidth ifr_ifru.ifru_ivalue
28#define ifr_qlen ifr_ifru.ifru_ivalue
29#define ifr_newname ifr_ifru.ifru_newname
30#define ifr_settings ifr_ifru.ifru_settings
31
32#if VSF_LINUX_APPLET_USE_NET_IF == ENABLED
35
39# ifndef __VSF_APPLET__
41# endif
42#endif
43
44#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_NET_IF_LIB__))\
45 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_NET_IF == ENABLED
46
47#ifndef VSF_LINUX_APPLET_NET_IF_VPLT
48# if VSF_LINUX_USE_APPLET == ENABLED
49# define VSF_LINUX_APPLET_NET_IF_VPLT \
50 ((vsf_linux_net_if_vplt_t *)(VSF_LINUX_APPLET_VPLT->net_if_vplt))
51# else
52# define VSF_LINUX_APPLET_NET_IF_VPLT \
53 ((vsf_linux_net_if_vplt_t *)vsf_vplt((void *)0))
54# endif
55#endif
56
57#define VSF_LINUX_APPLET_NET_IF_ENTRY(__NAME) \
58 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_NET_IF_VPLT, __NAME)
59#define VSF_LINUX_APPLET_NET_IF_IMP(...) \
60 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_NET_IF_VPLT, __VA_ARGS__)
61
62VSF_LINUX_APPLET_NET_IF_IMP(if_nametoindex, unsigned int, const char *ifname) {
64 return VSF_LINUX_APPLET_NET_IF_ENTRY(if_nametoindex)(ifname);
65}
66VSF_LINUX_APPLET_NET_IF_IMP(if_indextoname, char *, unsigned int ifindex, char *ifname) {
68 return VSF_LINUX_APPLET_NET_IF_ENTRY(if_indextoname)(ifindex, ifname);
69}
70
71#else // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_NET_IF
72
73unsigned int if_nametoindex(const char *ifname);
74char * if_indextoname(unsigned int ifindex, char *ifname);
75
76#endif
77
78#endif // __VSF_LINUX_NET_IF_H__
__VSF_VPLT_DECORATOR__ vsf_linux_net_if_vplt_t vsf_linux_net_if_vplt
Definition vsf_linux_socket.c:838
char * if_indextoname(unsigned int ifindex, char *ifname)
Definition vsf_linux_socket.c:784
unsigned int if_nametoindex(const char *ifname)
Definition vsf_linux_socket.c:779
#define IFNAMSIZ
Definition if.h:6
Definition if.h:9
char ifrn_name[IFNAMSIZ]
Definition if.h:11
union ifreq::@892 ifr_ifrn
Definition if.h:33
vsf_vplt_info_t info
Definition if.h:34
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(if_nametoindex)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(if_indextoname)
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