Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qnetworkinterface_uikit_p.h
Go to the documentation of this file.
1
// Copyright (C) 2017 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QNETWORKINTERFACE_UIKIT_P_H
6
#
define
QNETWORKINTERFACE_UIKIT_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
// Platform SDK for iOS, tvOS and watchOS is missing those headers:
20
// net/if_media.h, netinet/in_var.h, netinet6/in6_var.h This header is
21
// a workaround, it provides missing macros and structs.
22
23
// <net/if_media.h>:
24
25
/*
26
* Ethernet
27
*/
28
#
define
IFM_ETHER
0x00000020
29
/*
30
* FDDI
31
*/
32
#
define
IFM_FDDI
0x00000060
33
/*
34
* IEEE 802.11 Wireless
35
*/
36
#
define
IFM_IEEE80211
0x00000080
37
/*
38
* Masks
39
*/
40
#
define
IFM_NMASK
0x000000e0
/* Network type */
41
/*
42
* Macros to extract various bits of information from the media word.
43
*/
44
#
define
IFM_TYPE
(
x
)
(
(
x
)
&
IFM_NMASK
)
45
46
// <netinet6/in6_var.h>:
47
48
struct
in6_addrlifetime
{
49
time_t
ia6t_expire
;
/* valid lifetime expiration time */
50
time_t
ia6t_preferred
;
/* preferred lifetime expiration time */
51
u_int32_t
ia6t_vltime
;
/* valid lifetime */
52
u_int32_t
ia6t_pltime
;
/* prefix lifetime */
53
};
54
55
/*
56
* IPv6 interface statistics, as defined in RFC2465 Ipv6IfStatsEntry (p12).
57
*/
58
struct
in6_ifstat
{
59
u_quad_t
ifs6_in_receive
;
/* # of total input datagram */
60
u_quad_t
ifs6_in_hdrerr
;
/* # of datagrams with invalid hdr */
61
u_quad_t
ifs6_in_toobig
;
/* # of datagrams exceeded MTU */
62
u_quad_t
ifs6_in_noroute
;
/* # of datagrams with no route */
63
u_quad_t
ifs6_in_addrerr
;
/* # of datagrams with invalid dst */
64
u_quad_t
ifs6_in_protounknown
;
/* # of datagrams with unknown proto */
65
/* NOTE: increment on final dst if */
66
u_quad_t
ifs6_in_truncated
;
/* # of truncated datagrams */
67
u_quad_t
ifs6_in_discard
;
/* # of discarded datagrams */
68
/* NOTE: fragment timeout is not here */
69
u_quad_t
ifs6_in_deliver
;
/* # of datagrams delivered to ULP */
70
/* NOTE: increment on final dst if */
71
u_quad_t
ifs6_out_forward
;
/* # of datagrams forwarded */
72
/* NOTE: increment on outgoing if */
73
u_quad_t
ifs6_out_request
;
/* # of outgoing datagrams from ULP */
74
/* NOTE: does not include forwrads */
75
u_quad_t
ifs6_out_discard
;
/* # of discarded datagrams */
76
u_quad_t
ifs6_out_fragok
;
/* # of datagrams fragmented */
77
u_quad_t
ifs6_out_fragfail
;
/* # of datagrams failed on fragment */
78
u_quad_t
ifs6_out_fragcreat
;
/* # of fragment datagrams */
79
/* NOTE: this is # after fragment */
80
u_quad_t
ifs6_reass_reqd
;
/* # of incoming fragmented packets */
81
/* NOTE: increment on final dst if */
82
u_quad_t
ifs6_reass_ok
;
/* # of reassembled packets */
83
/* NOTE: this is # after reass */
84
/* NOTE: increment on final dst if */
85
u_quad_t
ifs6_atmfrag_rcvd
;
/* # of atomic fragments received */
86
u_quad_t
ifs6_reass_fail
;
/* # of reass failures */
87
/* NOTE: may not be packet count */
88
/* NOTE: increment on final dst if */
89
u_quad_t
ifs6_in_mcast
;
/* # of inbound multicast datagrams */
90
u_quad_t
ifs6_out_mcast
;
/* # of outbound multicast datagrams */
91
92
u_quad_t
ifs6_cantfoward_icmp6
;
/* # of ICMPv6 packets received for unreachable dest */
93
u_quad_t
ifs6_addr_expiry_cnt
;
/* # of address expiry events (excluding privacy addresses) */
94
u_quad_t
ifs6_pfx_expiry_cnt
;
/* # of prefix expiry events */
95
u_quad_t
ifs6_defrtr_expiry_cnt
;
/* # of default router expiry events */
96
};
97
98
/*
99
* ICMPv6 interface statistics, as defined in RFC2466 Ipv6IfIcmpEntry.
100
* XXX: I'm not sure if this file is the right place for this structure...
101
*/
102
struct
icmp6_ifstat
{
103
/*
104
* Input statistics
105
*/
106
/* ipv6IfIcmpInMsgs, total # of input messages */
107
u_quad_t
ifs6_in_msg
;
108
/* ipv6IfIcmpInErrors, # of input error messages */
109
u_quad_t
ifs6_in_error
;
110
/* ipv6IfIcmpInDestUnreachs, # of input dest unreach errors */
111
u_quad_t
ifs6_in_dstunreach
;
112
/* ipv6IfIcmpInAdminProhibs, # of input admin. prohibited errs */
113
u_quad_t
ifs6_in_adminprohib
;
114
/* ipv6IfIcmpInTimeExcds, # of input time exceeded errors */
115
u_quad_t
ifs6_in_timeexceed
;
116
/* ipv6IfIcmpInParmProblems, # of input parameter problem errors */
117
u_quad_t
ifs6_in_paramprob
;
118
/* ipv6IfIcmpInPktTooBigs, # of input packet too big errors */
119
u_quad_t
ifs6_in_pkttoobig
;
120
/* ipv6IfIcmpInEchos, # of input echo requests */
121
u_quad_t
ifs6_in_echo
;
122
/* ipv6IfIcmpInEchoReplies, # of input echo replies */
123
u_quad_t
ifs6_in_echoreply
;
124
/* ipv6IfIcmpInRouterSolicits, # of input router solicitations */
125
u_quad_t
ifs6_in_routersolicit
;
126
/* ipv6IfIcmpInRouterAdvertisements, # of input router advertisements */
127
u_quad_t
ifs6_in_routeradvert
;
128
/* ipv6IfIcmpInNeighborSolicits, # of input neighbor solicitations */
129
u_quad_t
ifs6_in_neighborsolicit
;
130
/* ipv6IfIcmpInNeighborAdvertisements, # of input neighbor advs. */
131
u_quad_t
ifs6_in_neighboradvert
;
132
/* ipv6IfIcmpInRedirects, # of input redirects */
133
u_quad_t
ifs6_in_redirect
;
134
/* ipv6IfIcmpInGroupMembQueries, # of input MLD queries */
135
u_quad_t
ifs6_in_mldquery
;
136
/* ipv6IfIcmpInGroupMembResponses, # of input MLD reports */
137
u_quad_t
ifs6_in_mldreport
;
138
/* ipv6IfIcmpInGroupMembReductions, # of input MLD done */
139
u_quad_t
ifs6_in_mlddone
;
140
141
/*
142
* Output statistics. We should solve unresolved routing problem...
143
*/
144
/* ipv6IfIcmpOutMsgs, total # of output messages */
145
u_quad_t
ifs6_out_msg
;
146
/* ipv6IfIcmpOutErrors, # of output error messages */
147
u_quad_t
ifs6_out_error
;
148
/* ipv6IfIcmpOutDestUnreachs, # of output dest unreach errors */
149
u_quad_t
ifs6_out_dstunreach
;
150
/* ipv6IfIcmpOutAdminProhibs, # of output admin. prohibited errs */
151
u_quad_t
ifs6_out_adminprohib
;
152
/* ipv6IfIcmpOutTimeExcds, # of output time exceeded errors */
153
u_quad_t
ifs6_out_timeexceed
;
154
/* ipv6IfIcmpOutParmProblems, # of output parameter problem errors */
155
u_quad_t
ifs6_out_paramprob
;
156
/* ipv6IfIcmpOutPktTooBigs, # of output packet too big errors */
157
u_quad_t
ifs6_out_pkttoobig
;
158
/* ipv6IfIcmpOutEchos, # of output echo requests */
159
u_quad_t
ifs6_out_echo
;
160
/* ipv6IfIcmpOutEchoReplies, # of output echo replies */
161
u_quad_t
ifs6_out_echoreply
;
162
/* ipv6IfIcmpOutRouterSolicits, # of output router solicitations */
163
u_quad_t
ifs6_out_routersolicit
;
164
/* ipv6IfIcmpOutRouterAdvertisements, # of output router advs. */
165
u_quad_t
ifs6_out_routeradvert
;
166
/* ipv6IfIcmpOutNeighborSolicits, # of output neighbor solicitations */
167
u_quad_t
ifs6_out_neighborsolicit
;
168
/* ipv6IfIcmpOutNeighborAdvertisements, # of output neighbor advs. */
169
u_quad_t
ifs6_out_neighboradvert
;
170
/* ipv6IfIcmpOutRedirects, # of output redirects */
171
u_quad_t
ifs6_out_redirect
;
172
/* ipv6IfIcmpOutGroupMembQueries, # of output MLD queries */
173
u_quad_t
ifs6_out_mldquery
;
174
/* ipv6IfIcmpOutGroupMembResponses, # of output MLD reports */
175
u_quad_t
ifs6_out_mldreport
;
176
/* ipv6IfIcmpOutGroupMembReductions, # of output MLD done */
177
u_quad_t
ifs6_out_mlddone
;
178
};
179
180
#
define
SCOPE6_ID_MAX
16
181
182
struct
in6_ifreq
{
183
char
ifr_name
[
IFNAMSIZ
];
184
union
{
185
struct
sockaddr_in6 ifru_addr;
186
struct
sockaddr_in6 ifru_dstaddr;
187
int
ifru_flags;
188
int
ifru_flags6;
189
int
ifru_metric;
190
int
ifru_intval;
191
caddr_t ifru_data;
192
struct
in6_addrlifetime
ifru_lifetime;
193
struct
in6_ifstat
ifru_stat;
194
struct
icmp6_ifstat
ifru_icmp6stat;
195
u_int32_t ifru_scope_id[
SCOPE6_ID_MAX
];
196
} ifr_ifru;
197
};
198
199
#
define
IN6_IFF_TEMPORARY
0x0080
/* temporary (anonymous) address. */
200
#
define
IN6_IFF_DEPRECATED
0x0010
/* deprecated address */
201
202
#
define
SIOCGIFAFLAG_IN6
_IOWR
(
'i'
,
73
,
struct
in6_ifreq
)
203
#
define
SIOCGIFALIFETIME_IN6
_IOWR
(
'i'
,
81
,
struct
in6_ifreq
)
204
205
#
endif
// QNETWORKINTERFACE_UIKIT_P_H
SCOPE6_ID_MAX
#define SCOPE6_ID_MAX
Definition
qnetworkinterface_uikit_p.h:180
IFM_NMASK
#define IFM_NMASK
Definition
qnetworkinterface_uikit_p.h:40
icmp6_ifstat
Definition
qnetworkinterface_uikit_p.h:102
icmp6_ifstat::ifs6_in_redirect
u_quad_t ifs6_in_redirect
Definition
qnetworkinterface_uikit_p.h:133
icmp6_ifstat::ifs6_out_error
u_quad_t ifs6_out_error
Definition
qnetworkinterface_uikit_p.h:147
icmp6_ifstat::ifs6_in_timeexceed
u_quad_t ifs6_in_timeexceed
Definition
qnetworkinterface_uikit_p.h:115
icmp6_ifstat::ifs6_in_pkttoobig
u_quad_t ifs6_in_pkttoobig
Definition
qnetworkinterface_uikit_p.h:119
icmp6_ifstat::ifs6_out_echo
u_quad_t ifs6_out_echo
Definition
qnetworkinterface_uikit_p.h:159
icmp6_ifstat::ifs6_out_mldquery
u_quad_t ifs6_out_mldquery
Definition
qnetworkinterface_uikit_p.h:173
icmp6_ifstat::ifs6_in_routeradvert
u_quad_t ifs6_in_routeradvert
Definition
qnetworkinterface_uikit_p.h:127
icmp6_ifstat::ifs6_in_mldreport
u_quad_t ifs6_in_mldreport
Definition
qnetworkinterface_uikit_p.h:137
icmp6_ifstat::ifs6_in_msg
u_quad_t ifs6_in_msg
Definition
qnetworkinterface_uikit_p.h:107
icmp6_ifstat::ifs6_in_adminprohib
u_quad_t ifs6_in_adminprohib
Definition
qnetworkinterface_uikit_p.h:113
icmp6_ifstat::ifs6_out_redirect
u_quad_t ifs6_out_redirect
Definition
qnetworkinterface_uikit_p.h:171
icmp6_ifstat::ifs6_out_timeexceed
u_quad_t ifs6_out_timeexceed
Definition
qnetworkinterface_uikit_p.h:153
icmp6_ifstat::ifs6_in_neighboradvert
u_quad_t ifs6_in_neighboradvert
Definition
qnetworkinterface_uikit_p.h:131
icmp6_ifstat::ifs6_in_neighborsolicit
u_quad_t ifs6_in_neighborsolicit
Definition
qnetworkinterface_uikit_p.h:129
icmp6_ifstat::ifs6_in_echo
u_quad_t ifs6_in_echo
Definition
qnetworkinterface_uikit_p.h:121
icmp6_ifstat::ifs6_in_routersolicit
u_quad_t ifs6_in_routersolicit
Definition
qnetworkinterface_uikit_p.h:125
icmp6_ifstat::ifs6_in_paramprob
u_quad_t ifs6_in_paramprob
Definition
qnetworkinterface_uikit_p.h:117
icmp6_ifstat::ifs6_out_msg
u_quad_t ifs6_out_msg
Definition
qnetworkinterface_uikit_p.h:145
icmp6_ifstat::ifs6_in_echoreply
u_quad_t ifs6_in_echoreply
Definition
qnetworkinterface_uikit_p.h:123
icmp6_ifstat::ifs6_out_paramprob
u_quad_t ifs6_out_paramprob
Definition
qnetworkinterface_uikit_p.h:155
icmp6_ifstat::ifs6_out_neighborsolicit
u_quad_t ifs6_out_neighborsolicit
Definition
qnetworkinterface_uikit_p.h:167
icmp6_ifstat::ifs6_in_mldquery
u_quad_t ifs6_in_mldquery
Definition
qnetworkinterface_uikit_p.h:135
icmp6_ifstat::ifs6_out_dstunreach
u_quad_t ifs6_out_dstunreach
Definition
qnetworkinterface_uikit_p.h:149
icmp6_ifstat::ifs6_out_neighboradvert
u_quad_t ifs6_out_neighboradvert
Definition
qnetworkinterface_uikit_p.h:169
icmp6_ifstat::ifs6_in_error
u_quad_t ifs6_in_error
Definition
qnetworkinterface_uikit_p.h:109
icmp6_ifstat::ifs6_in_dstunreach
u_quad_t ifs6_in_dstunreach
Definition
qnetworkinterface_uikit_p.h:111
icmp6_ifstat::ifs6_out_adminprohib
u_quad_t ifs6_out_adminprohib
Definition
qnetworkinterface_uikit_p.h:151
icmp6_ifstat::ifs6_out_routeradvert
u_quad_t ifs6_out_routeradvert
Definition
qnetworkinterface_uikit_p.h:165
icmp6_ifstat::ifs6_out_mlddone
u_quad_t ifs6_out_mlddone
Definition
qnetworkinterface_uikit_p.h:177
icmp6_ifstat::ifs6_out_routersolicit
u_quad_t ifs6_out_routersolicit
Definition
qnetworkinterface_uikit_p.h:163
icmp6_ifstat::ifs6_out_pkttoobig
u_quad_t ifs6_out_pkttoobig
Definition
qnetworkinterface_uikit_p.h:157
icmp6_ifstat::ifs6_out_mldreport
u_quad_t ifs6_out_mldreport
Definition
qnetworkinterface_uikit_p.h:175
icmp6_ifstat::ifs6_out_echoreply
u_quad_t ifs6_out_echoreply
Definition
qnetworkinterface_uikit_p.h:161
icmp6_ifstat::ifs6_in_mlddone
u_quad_t ifs6_in_mlddone
Definition
qnetworkinterface_uikit_p.h:139
in6_addrlifetime
Definition
qnetworkinterface_uikit_p.h:48
in6_addrlifetime::ia6t_preferred
time_t ia6t_preferred
Definition
qnetworkinterface_uikit_p.h:50
in6_addrlifetime::ia6t_vltime
u_int32_t ia6t_vltime
Definition
qnetworkinterface_uikit_p.h:51
in6_addrlifetime::ia6t_expire
time_t ia6t_expire
Definition
qnetworkinterface_uikit_p.h:49
in6_addrlifetime::ia6t_pltime
u_int32_t ia6t_pltime
Definition
qnetworkinterface_uikit_p.h:52
in6_ifreq
Definition
qnetworkinterface_uikit_p.h:182
in6_ifreq::ifr_name
char ifr_name[IFNAMSIZ]
Definition
qnetworkinterface_uikit_p.h:183
in6_ifstat
Definition
qnetworkinterface_uikit_p.h:58
in6_ifstat::ifs6_in_protounknown
u_quad_t ifs6_in_protounknown
Definition
qnetworkinterface_uikit_p.h:64
in6_ifstat::ifs6_in_mcast
u_quad_t ifs6_in_mcast
Definition
qnetworkinterface_uikit_p.h:89
in6_ifstat::ifs6_in_truncated
u_quad_t ifs6_in_truncated
Definition
qnetworkinterface_uikit_p.h:66
in6_ifstat::ifs6_out_request
u_quad_t ifs6_out_request
Definition
qnetworkinterface_uikit_p.h:73
in6_ifstat::ifs6_out_forward
u_quad_t ifs6_out_forward
Definition
qnetworkinterface_uikit_p.h:71
in6_ifstat::ifs6_defrtr_expiry_cnt
u_quad_t ifs6_defrtr_expiry_cnt
Definition
qnetworkinterface_uikit_p.h:95
in6_ifstat::ifs6_atmfrag_rcvd
u_quad_t ifs6_atmfrag_rcvd
Definition
qnetworkinterface_uikit_p.h:85
in6_ifstat::ifs6_in_discard
u_quad_t ifs6_in_discard
Definition
qnetworkinterface_uikit_p.h:67
in6_ifstat::ifs6_out_fragcreat
u_quad_t ifs6_out_fragcreat
Definition
qnetworkinterface_uikit_p.h:78
in6_ifstat::ifs6_out_fragfail
u_quad_t ifs6_out_fragfail
Definition
qnetworkinterface_uikit_p.h:77
in6_ifstat::ifs6_in_hdrerr
u_quad_t ifs6_in_hdrerr
Definition
qnetworkinterface_uikit_p.h:60
in6_ifstat::ifs6_addr_expiry_cnt
u_quad_t ifs6_addr_expiry_cnt
Definition
qnetworkinterface_uikit_p.h:93
in6_ifstat::ifs6_pfx_expiry_cnt
u_quad_t ifs6_pfx_expiry_cnt
Definition
qnetworkinterface_uikit_p.h:94
in6_ifstat::ifs6_reass_fail
u_quad_t ifs6_reass_fail
Definition
qnetworkinterface_uikit_p.h:86
in6_ifstat::ifs6_reass_reqd
u_quad_t ifs6_reass_reqd
Definition
qnetworkinterface_uikit_p.h:80
in6_ifstat::ifs6_in_toobig
u_quad_t ifs6_in_toobig
Definition
qnetworkinterface_uikit_p.h:61
in6_ifstat::ifs6_cantfoward_icmp6
u_quad_t ifs6_cantfoward_icmp6
Definition
qnetworkinterface_uikit_p.h:92
in6_ifstat::ifs6_out_mcast
u_quad_t ifs6_out_mcast
Definition
qnetworkinterface_uikit_p.h:90
in6_ifstat::ifs6_in_noroute
u_quad_t ifs6_in_noroute
Definition
qnetworkinterface_uikit_p.h:62
in6_ifstat::ifs6_out_fragok
u_quad_t ifs6_out_fragok
Definition
qnetworkinterface_uikit_p.h:76
in6_ifstat::ifs6_reass_ok
u_quad_t ifs6_reass_ok
Definition
qnetworkinterface_uikit_p.h:82
in6_ifstat::ifs6_in_addrerr
u_quad_t ifs6_in_addrerr
Definition
qnetworkinterface_uikit_p.h:63
in6_ifstat::ifs6_out_discard
u_quad_t ifs6_out_discard
Definition
qnetworkinterface_uikit_p.h:75
in6_ifstat::ifs6_in_deliver
u_quad_t ifs6_in_deliver
Definition
qnetworkinterface_uikit_p.h:69
in6_ifstat::ifs6_in_receive
u_quad_t ifs6_in_receive
Definition
qnetworkinterface_uikit_p.h:59
qtbase
src
network
kernel
qnetworkinterface_uikit_p.h
Generated on
for Qt by
1.18.0