source: azure_iot_hub/trunk/musl-1.1.18/include/net/if.h@ 389

Last change on this file since 389 was 389, checked in by coas-nagasima, 5 years ago

ビルドが通るよう更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-chdr;charset=UTF-8
File size: 3.0 KB
Line 
1#ifndef _NET_IF_H
2#define _NET_IF_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#include <features.h>
9
10#define IF_NAMESIZE 16
11
12struct if_nameindex {
13 unsigned int if_index;
14 char *if_name;
15};
16
17unsigned int if_nametoindex (const char *);
18char *if_indextoname (unsigned int, char *);
19struct if_nameindex *if_nameindex (void);
20void if_freenameindex (struct if_nameindex *);
21
22
23
24
25#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
26
27#include <sys/socket.h>
28
29#define IFF_UP 0x1
30#define IFF_BROADCAST 0x2
31#define IFF_DEBUG 0x4
32#define IFF_LOOPBACK 0x8
33#define IFF_POINTOPOINT 0x10
34#define IFF_NOTRAILERS 0x20
35#define IFF_RUNNING 0x40
36#define IFF_NOARP 0x80
37#define IFF_PROMISC 0x100
38#define IFF_ALLMULTI 0x200
39#define IFF_MASTER 0x400
40#define IFF_SLAVE 0x800
41#define IFF_MULTICAST 0x1000
42#define IFF_PORTSEL 0x2000
43#define IFF_AUTOMEDIA 0x4000
44#define IFF_DYNAMIC 0x8000
45#define IFF_LOWER_UP 0x10000
46#define IFF_DORMANT 0x20000
47#define IFF_ECHO 0x40000
48#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST| \
49 IFF_ECHO|IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
50
51struct ifaddr {
52 struct sockaddr ifa_addr;
53 union {
54 struct sockaddr ifu_broadaddr;
55 struct sockaddr ifu_dstaddr;
56 } ifa_ifu;
57 struct iface *ifa_ifp;
58 struct ifaddr *ifa_next;
59};
60
61#define ifa_broadaddr ifa_ifu.ifu_broadaddr
62#define ifa_dstaddr ifa_ifu.ifu_dstaddr
63
64struct ifmap {
65 unsigned long int mem_start;
66 unsigned long int mem_end;
67 unsigned short int base_addr;
68 unsigned char irq;
69 unsigned char dma;
70 unsigned char port;
71};
72
73#define IFHWADDRLEN 6
74#define IFNAMSIZ IF_NAMESIZE
75
76struct ifreq {
77 union {
78 char ifrn_name[IFNAMSIZ];
79 } ifr_ifrn;
80 union {
81 struct sockaddr ifru_addr;
82 struct sockaddr ifru_dstaddr;
83 struct sockaddr ifru_broadaddr;
84 struct sockaddr ifru_netmask;
85 struct sockaddr ifru_hwaddr;
86 short int ifru_flags;
87 int ifru_ivalue;
88 int ifru_mtu;
89 struct ifmap ifru_map;
90 char ifru_slave[IFNAMSIZ];
91 char ifru_newname[IFNAMSIZ];
92 char *ifru_data;
93 } ifr_ifru;
94};
95
96#define ifr_name ifr_ifrn.ifrn_name
97#define ifr_hwaddr ifr_ifru.ifru_hwaddr
98#define ifr_addr ifr_ifru.ifru_addr
99#define ifr_dstaddr ifr_ifru.ifru_dstaddr
100#define ifr_broadaddr ifr_ifru.ifru_broadaddr
101#define ifr_netmask ifr_ifru.ifru_netmask
102#define ifr_flags ifr_ifru.ifru_flags
103#define ifr_metric ifr_ifru.ifru_ivalue
104#define ifr_mtu ifr_ifru.ifru_mtu
105#define ifr_map ifr_ifru.ifru_map
106#define ifr_slave ifr_ifru.ifru_slave
107#define ifr_data ifr_ifru.ifru_data
108#define ifr_ifindex ifr_ifru.ifru_ivalue
109#define ifr_bandwidth ifr_ifru.ifru_ivalue
110#define ifr_qlen ifr_ifru.ifru_ivalue
111#define ifr_newname ifr_ifru.ifru_newname
112#define _IOT_ifreq _IOT(_IOTS(char),IFNAMSIZ,_IOTS(char),16,0,0)
113#define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0)
114#define _IOT_ifreq_int _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0)
115
116struct ifconf {
117 int ifc_len;
118 union {
119 char *ifcu_buf;
120 struct ifreq *ifcu_req;
121 } ifc_ifcu;
122};
123
124#define ifc_buf ifc_ifcu.ifcu_buf
125#define ifc_req ifc_ifcu.ifcu_req
126#define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0)
127
128#endif
129
130#ifdef __cplusplus
131}
132#endif
133
134#endif
Note: See TracBrowser for help on using the repository browser.