Chameleon

Chameleon Svn Source Tree

Root/branches/rewrite/i386/include/netinet6/in6_var.h

Source at commit 1146 created 12 years 11 months ago.
By azimutz, Sync with trunk (r1145). Add nVidia dev id's, 0DF4 for "GeForce GT 450M" (issue 99) and 1251 for "GeForce GTX 560M" (thanks to oSxFr33k for testing).
1/*
2 * Copyright (c) 2009 Apple Inc. All rights reserved.
3 *
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
14 *
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 *
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
25 *
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 */
28
29/*$FreeBSD: src/sys/netinet6/in6_var.h,v 1.3.2.2 2001/07/03 11:01:52 ume Exp $*/
30/*$KAME: in6_var.h,v 1.56 2001/03/29 05:34:31 itojun Exp $*/
31
32/*
33 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
34 * All rights reserved.
35 *
36 * Redistribution and use in source and binary forms, with or without
37 * modification, are permitted provided that the following conditions
38 * are met:
39 * 1. Redistributions of source code must retain the above copyright
40 * notice, this list of conditions and the following disclaimer.
41 * 2. Redistributions in binary form must reproduce the above copyright
42 * notice, this list of conditions and the following disclaimer in the
43 * documentation and/or other materials provided with the distribution.
44 * 3. Neither the name of the project nor the names of its contributors
45 * may be used to endorse or promote products derived from this software
46 * without specific prior written permission.
47 *
48 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
49 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
50 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
51 * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
52 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
53 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
54 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
55 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
58 * SUCH DAMAGE.
59 */
60
61/*
62 * Copyright (c) 1985, 1986, 1993
63 *The Regents of the University of California. All rights reserved.
64 *
65 * Redistribution and use in source and binary forms, with or without
66 * modification, are permitted provided that the following conditions
67 * are met:
68 * 1. Redistributions of source code must retain the above copyright
69 * notice, this list of conditions and the following disclaimer.
70 * 2. Redistributions in binary form must reproduce the above copyright
71 * notice, this list of conditions and the following disclaimer in the
72 * documentation and/or other materials provided with the distribution.
73 * 3. All advertising materials mentioning features or use of this software
74 * must display the following acknowledgement:
75 *This product includes software developed by the University of
76 *California, Berkeley and its contributors.
77 * 4. Neither the name of the University nor the names of its contributors
78 * may be used to endorse or promote products derived from this software
79 * without specific prior written permission.
80 *
81 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
82 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
83 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
84 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
85 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
86 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
87 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
88 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
89 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
90 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
91 * SUCH DAMAGE.
92 *
93 *@(#)in_var.h8.1 (Berkeley) 6/10/93
94 */
95
96#ifndef _NETINET6_IN6_VAR_H_
97#define _NETINET6_IN6_VAR_H_
98#include <sys/appleapiopts.h>
99
100#ifdef __APPLE__
101#include <sys/kern_event.h>
102#endif
103
104/*
105 * pltime/vltime are just for future reference (required to implements 2
106 * hour rule for hosts). they should never be modified by nd6_timeout or
107 * anywhere else.
108 *userland -> kernel: accept pltime/vltime
109 *kernel -> userland: throw up everything
110 *in kernel: modify preferred/expire only
111 */
112struct in6_addrlifetime {
113time_t ia6t_expire;/* valid lifetime expiration time */
114time_t ia6t_preferred;/* preferred lifetime expiration time */
115u_int32_t ia6t_vltime;/* valid lifetime */
116u_int32_t ia6t_pltime;/* prefix lifetime */
117};
118
119
120/*
121 * IPv6 interface statistics, as defined in RFC2465 Ipv6IfStatsEntry (p12).
122 */
123struct in6_ifstat {
124u_quad_t ifs6_in_receive;/* # of total input datagram */
125u_quad_t ifs6_in_hdrerr;/* # of datagrams with invalid hdr */
126u_quad_t ifs6_in_toobig;/* # of datagrams exceeded MTU */
127u_quad_t ifs6_in_noroute;/* # of datagrams with no route */
128u_quad_t ifs6_in_addrerr;/* # of datagrams with invalid dst */
129u_quad_t ifs6_in_protounknown;/* # of datagrams with unknown proto */
130/* NOTE: increment on final dst if */
131u_quad_t ifs6_in_truncated;/* # of truncated datagrams */
132u_quad_t ifs6_in_discard;/* # of discarded datagrams */
133/* NOTE: fragment timeout is not here */
134u_quad_t ifs6_in_deliver;/* # of datagrams delivered to ULP */
135/* NOTE: increment on final dst if */
136u_quad_t ifs6_out_forward;/* # of datagrams forwarded */
137/* NOTE: increment on outgoing if */
138u_quad_t ifs6_out_request;/* # of outgoing datagrams from ULP */
139/* NOTE: does not include forwrads */
140u_quad_t ifs6_out_discard;/* # of discarded datagrams */
141u_quad_t ifs6_out_fragok;/* # of datagrams fragmented */
142u_quad_t ifs6_out_fragfail;/* # of datagrams failed on fragment */
143u_quad_t ifs6_out_fragcreat;/* # of fragment datagrams */
144/* NOTE: this is # after fragment */
145u_quad_t ifs6_reass_reqd;/* # of incoming fragmented packets */
146/* NOTE: increment on final dst if */
147u_quad_t ifs6_reass_ok;/* # of reassembled packets */
148/* NOTE: this is # after reass */
149/* NOTE: increment on final dst if */
150u_quad_t ifs6_reass_fail;/* # of reass failures */
151/* NOTE: may not be packet count */
152/* NOTE: increment on final dst if */
153u_quad_t ifs6_in_mcast;/* # of inbound multicast datagrams */
154u_quad_t ifs6_out_mcast;/* # of outbound multicast datagrams */
155};
156
157/*
158 * ICMPv6 interface statistics, as defined in RFC2466 Ipv6IfIcmpEntry.
159 * XXX: I'm not sure if this file is the right place for this structure...
160 */
161struct icmp6_ifstat {
162/*
163 * Input statistics
164 */
165/* ipv6IfIcmpInMsgs, total # of input messages */
166u_quad_t ifs6_in_msg;
167/* ipv6IfIcmpInErrors, # of input error messages */
168u_quad_t ifs6_in_error;
169/* ipv6IfIcmpInDestUnreachs, # of input dest unreach errors */
170u_quad_t ifs6_in_dstunreach;
171/* ipv6IfIcmpInAdminProhibs, # of input administratively prohibited errs */
172u_quad_t ifs6_in_adminprohib;
173/* ipv6IfIcmpInTimeExcds, # of input time exceeded errors */
174u_quad_t ifs6_in_timeexceed;
175/* ipv6IfIcmpInParmProblems, # of input parameter problem errors */
176u_quad_t ifs6_in_paramprob;
177/* ipv6IfIcmpInPktTooBigs, # of input packet too big errors */
178u_quad_t ifs6_in_pkttoobig;
179/* ipv6IfIcmpInEchos, # of input echo requests */
180u_quad_t ifs6_in_echo;
181/* ipv6IfIcmpInEchoReplies, # of input echo replies */
182u_quad_t ifs6_in_echoreply;
183/* ipv6IfIcmpInRouterSolicits, # of input router solicitations */
184u_quad_t ifs6_in_routersolicit;
185/* ipv6IfIcmpInRouterAdvertisements, # of input router advertisements */
186u_quad_t ifs6_in_routeradvert;
187/* ipv6IfIcmpInNeighborSolicits, # of input neighbor solicitations */
188u_quad_t ifs6_in_neighborsolicit;
189/* ipv6IfIcmpInNeighborAdvertisements, # of input neighbor advertisements */
190u_quad_t ifs6_in_neighboradvert;
191/* ipv6IfIcmpInRedirects, # of input redirects */
192u_quad_t ifs6_in_redirect;
193/* ipv6IfIcmpInGroupMembQueries, # of input MLD queries */
194u_quad_t ifs6_in_mldquery;
195/* ipv6IfIcmpInGroupMembResponses, # of input MLD reports */
196u_quad_t ifs6_in_mldreport;
197/* ipv6IfIcmpInGroupMembReductions, # of input MLD done */
198u_quad_t ifs6_in_mlddone;
199
200/*
201 * Output statistics. We should solve unresolved routing problem...
202 */
203/* ipv6IfIcmpOutMsgs, total # of output messages */
204u_quad_t ifs6_out_msg;
205/* ipv6IfIcmpOutErrors, # of output error messages */
206u_quad_t ifs6_out_error;
207/* ipv6IfIcmpOutDestUnreachs, # of output dest unreach errors */
208u_quad_t ifs6_out_dstunreach;
209/* ipv6IfIcmpOutAdminProhibs, # of output administratively prohibited errs */
210u_quad_t ifs6_out_adminprohib;
211/* ipv6IfIcmpOutTimeExcds, # of output time exceeded errors */
212u_quad_t ifs6_out_timeexceed;
213/* ipv6IfIcmpOutParmProblems, # of output parameter problem errors */
214u_quad_t ifs6_out_paramprob;
215/* ipv6IfIcmpOutPktTooBigs, # of output packet too big errors */
216u_quad_t ifs6_out_pkttoobig;
217/* ipv6IfIcmpOutEchos, # of output echo requests */
218u_quad_t ifs6_out_echo;
219/* ipv6IfIcmpOutEchoReplies, # of output echo replies */
220u_quad_t ifs6_out_echoreply;
221/* ipv6IfIcmpOutRouterSolicits, # of output router solicitations */
222u_quad_t ifs6_out_routersolicit;
223/* ipv6IfIcmpOutRouterAdvertisements, # of output router advertisements */
224u_quad_t ifs6_out_routeradvert;
225/* ipv6IfIcmpOutNeighborSolicits, # of output neighbor solicitations */
226u_quad_t ifs6_out_neighborsolicit;
227/* ipv6IfIcmpOutNeighborAdvertisements, # of output neighbor advertisements */
228u_quad_t ifs6_out_neighboradvert;
229/* ipv6IfIcmpOutRedirects, # of output redirects */
230u_quad_t ifs6_out_redirect;
231/* ipv6IfIcmpOutGroupMembQueries, # of output MLD queries */
232u_quad_t ifs6_out_mldquery;
233/* ipv6IfIcmpOutGroupMembResponses, # of output MLD reports */
234u_quad_t ifs6_out_mldreport;
235/* ipv6IfIcmpOutGroupMembReductions, # of output MLD done */
236u_quad_t ifs6_out_mlddone;
237};
238
239structin6_ifreq {
240charifr_name[IFNAMSIZ];
241union {
242structsockaddr_in6 ifru_addr;
243structsockaddr_in6 ifru_dstaddr;
244shortifru_flags;
245intifru_flags6;
246intifru_metric;
247caddr_tifru_data;
248struct in6_addrlifetime ifru_lifetime;
249struct in6_ifstat ifru_stat;
250struct icmp6_ifstat ifru_icmp6stat;
251u_int32_t ifru_scope_id[16];
252} ifr_ifru;
253};
254
255structin6_aliasreq {
256charifra_name[IFNAMSIZ];
257structsockaddr_in6 ifra_addr;
258structsockaddr_in6 ifra_dstaddr;
259structsockaddr_in6 ifra_prefixmask;
260intifra_flags;
261struct in6_addrlifetime ifra_lifetime;
262};
263
264
265/* prefix type macro */
266#define IN6_PREFIX_ND1
267#define IN6_PREFIX_RR2
268
269/*
270 * prefix related flags passed between kernel(NDP related part) and
271 * user land command(ifconfig) and daemon(rtadvd).
272 */
273struct in6_prflags {
274struct prf_ra {
275u_char onlink : 1;
276u_char autonomous : 1;
277u_char reserved : 6;
278} prf_ra;
279u_char prf_reserved1;
280u_short prf_reserved2;
281/* want to put this on 4byte offset */
282struct prf_rr {
283u_char decrvalid : 1;
284u_char decrprefd : 1;
285u_char reserved : 6;
286} prf_rr;
287u_char prf_reserved3;
288u_short prf_reserved4;
289};
290
291struct in6_prefixreq {
292charipr_name[IFNAMSIZ];
293u_charipr_origin;
294u_charipr_plen;
295u_int32_t ipr_vltime;
296u_int32_t ipr_pltime;
297struct in6_prflags ipr_flags;
298structsockaddr_in6 ipr_prefix;
299};
300
301#define PR_ORIG_RA0
302#define PR_ORIG_RR1
303#define PR_ORIG_STATIC2
304#define PR_ORIG_KERNEL3
305
306#define ipr_raf_onlinkipr_flags.prf_ra.onlink
307#define ipr_raf_autoipr_flags.prf_ra.autonomous
308
309#define ipr_statef_onlinkipr_flags.prf_state.onlink
310
311#define ipr_rrf_decrvalidipr_flags.prf_rr.decrvalid
312#define ipr_rrf_decrprefdipr_flags.prf_rr.decrprefd
313
314structin6_rrenumreq {
315charirr_name[IFNAMSIZ];
316u_charirr_origin;
317u_charirr_m_len;/* match len for matchprefix */
318u_charirr_m_minlen;/* minlen for matching prefix */
319u_charirr_m_maxlen;/* maxlen for matching prefix */
320u_charirr_u_uselen;/* uselen for adding prefix */
321u_charirr_u_keeplen;/* keeplen from matching prefix */
322struct irr_raflagmask {
323u_char onlink : 1;
324u_char autonomous : 1;
325u_char reserved : 6;
326} irr_raflagmask;
327u_int32_t irr_vltime;
328u_int32_t irr_pltime;
329struct in6_prflags irr_flags;
330structsockaddr_in6 irr_matchprefix;
331structsockaddr_in6 irr_useprefix;
332};
333
334#define irr_raf_mask_onlinkirr_raflagmask.onlink
335#define irr_raf_mask_autoirr_raflagmask.autonomous
336#define irr_raf_mask_reservedirr_raflagmask.reserved
337
338#define irr_raf_onlinkirr_flags.prf_ra.onlink
339#define irr_raf_autoirr_flags.prf_ra.autonomous
340
341#define irr_statef_onlinkirr_flags.prf_state.onlink
342
343#define irr_rrfirr_flags.prf_rr
344#define irr_rrf_decrvalidirr_flags.prf_rr.decrvalid
345#define irr_rrf_decrprefdirr_flags.prf_rr.decrprefd
346
347
348/*
349 * Event data, internet6 style.
350 */
351
352struct kev_in6_addrlifetime {
353 u_int32_t ia6t_expire;
354 u_int32_t ia6t_preferred;
355 u_int32_t ia6t_vltime;
356 u_int32_t ia6t_pltime;
357};
358
359struct kev_in6_data {
360 struct net_event_data link_data;
361structsockaddr_in6 ia_addr;/* interface address */
362structsockaddr_in6 ia_net;/* network number of interface */
363structsockaddr_in6 ia_dstaddr; /* space for destination addr */
364structsockaddr_in6 ia_prefixmask; /* prefix mask */
365u_int32_t ia_plen;/* prefix length */
366u_int32_t ia6_flags;/* address flags from in6_ifaddr */
367struct kev_in6_addrlifetime ia_lifetime; /* address life info */
368};
369
370/*
371 * Define inet6 event subclass and specific inet6 events.
372 */
373
374#define KEV_INET6_SUBCLASS 6/* inet6 subclass identifier */
375
376#define KEV_INET6_NEW_USER_ADDR1/* Userland configured IPv6 address */
377#define KEV_INET6_CHANGED_ADDR 2/* Address changed event (future) */
378#define KEV_INET6_ADDR_DELETED 3/* IPv6 add. in ia_addr field was deleted */
379#define KEV_INET6_NEW_LL_ADDR 4/* Autoconfigured linklocal address has appeared */
380#define KEV_INET6_NEW_RTADV_ADDR 5/* Autoconf router advertised address has appeared */
381#define KEV_INET6_DEFROUTER 6/* Default router dectected by kernel */
382
383
384#define IN6_ARE_MASKED_ADDR_EQUAL(d, a, m)(\
385(((d)->s6_addr32[0] ^ (a)->s6_addr32[0]) & (m)->s6_addr32[0]) == 0 && \
386(((d)->s6_addr32[1] ^ (a)->s6_addr32[1]) & (m)->s6_addr32[1]) == 0 && \
387(((d)->s6_addr32[2] ^ (a)->s6_addr32[2]) & (m)->s6_addr32[2]) == 0 && \
388(((d)->s6_addr32[3] ^ (a)->s6_addr32[3]) & (m)->s6_addr32[3]) == 0 )
389
390#define SIOCSIFADDR_IN6 _IOW('i', 12, struct in6_ifreq)
391#define SIOCGIFADDR_IN6_IOWR('i', 33, struct in6_ifreq)
392
393/*
394 * SIOCSxxx ioctls should be unused (see comments in in6.c), but
395 * we do not shift numbers for binary compatibility.
396 */
397#define SIOCSIFDSTADDR_IN6 _IOW('i', 14, struct in6_ifreq)
398#define SIOCSIFNETMASK_IN6 _IOW('i', 22, struct in6_ifreq)
399
400#define SIOCGIFDSTADDR_IN6_IOWR('i', 34, struct in6_ifreq)
401#define SIOCGIFNETMASK_IN6_IOWR('i', 37, struct in6_ifreq)
402
403#define SIOCDIFADDR_IN6 _IOW('i', 25, struct in6_ifreq)
404#define SIOCAIFADDR_IN6 _IOW('i', 26, struct in6_aliasreq)
405
406#define SIOCSIFPHYADDR_IN6_IOW('i', 62, struct in6_aliasreq)
407#defineSIOCGIFPSRCADDR_IN6_IOWR('i', 63, struct in6_ifreq)
408#defineSIOCGIFPDSTADDR_IN6_IOWR('i', 64, struct in6_ifreq)
409#define SIOCGIFAFLAG_IN6_IOWR('i', 73, struct in6_ifreq)
410#define SIOCGDRLST_IN6_IOWR('i', 74, struct in6_drlist)
411#define SIOCGPRLST_IN6_IOWR('i', 75, struct in6_prlist)
412#define OSIOCGIFINFO_IN6_IOWR('i', 108, struct in6_ondireq)
413#define SIOCGIFINFO_IN6_IOWR('i', 76, struct in6_ondireq)
414#define SIOCSNDFLUSH_IN6_IOWR('i', 77, struct in6_ifreq)
415#define SIOCGNBRINFO_IN6_IOWR('i', 78, struct in6_nbrinfo)
416#define SIOCSPFXFLUSH_IN6_IOWR('i', 79, struct in6_ifreq)
417#define SIOCSRTRFLUSH_IN6_IOWR('i', 80, struct in6_ifreq)
418
419#define SIOCGIFALIFETIME_IN6_IOWR('i', 81, struct in6_ifreq)
420#define SIOCSIFALIFETIME_IN6_IOWR('i', 82, struct in6_ifreq)
421#define SIOCGIFSTAT_IN6_IOWR('i', 83, struct in6_ifreq)
422#define SIOCGIFSTAT_ICMP6_IOWR('i', 84, struct in6_ifreq)
423
424#define SIOCSDEFIFACE_IN6_IOWR('i', 85, struct in6_ndifreq)
425#define SIOCGDEFIFACE_IN6_IOWR('i', 86, struct in6_ndifreq)
426
427#define SIOCSIFINFO_FLAGS_IOWR('i', 87, struct in6_ndireq) /* XXX */
428
429#define SIOCSSCOPE6_IOW('i', 88, struct in6_ifreq)
430#define SIOCGSCOPE6_IOWR('i', 89, struct in6_ifreq)
431#define SIOCGSCOPE6DEF_IOWR('i', 90, struct in6_ifreq)
432
433#define SIOCSIFPREFIX_IN6_IOW('i', 100, struct in6_prefixreq) /* set */
434#define SIOCGIFPREFIX_IN6_IOWR('i', 101, struct in6_prefixreq) /* get */
435#define SIOCDIFPREFIX_IN6_IOW('i', 102, struct in6_prefixreq) /* del */
436#define SIOCAIFPREFIX_IN6_IOW('i', 103, struct in6_rrenumreq) /* add */
437#define SIOCCIFPREFIX_IN6_IOW('i', 104, \
438 struct in6_rrenumreq) /* change */
439#define SIOCSGIFPREFIX_IN6_IOW('i', 105, \
440 struct in6_rrenumreq) /* set global */
441
442#define SIOCGETSGCNT_IN6_IOWR('u', 28, \
443 struct sioc_sg_req6) /* get s,g pkt cnt */
444#define SIOCGETMIFCNT_IN6_IOWR('u', 107, \
445 struct sioc_mif_req6) /* get pkt cnt per if */
446
447
448#define IN6_IFF_ANYCAST0x01/* anycast address */
449#define IN6_IFF_TENTATIVE0x02/* tentative address */
450#define IN6_IFF_DUPLICATED0x04/* DAD detected duplicate */
451#define IN6_IFF_DETACHED0x08/* may be detached from the link */
452#define IN6_IFF_DEPRECATED0x10/* deprecated address */
453#define IN6_IFF_NODAD0x20/* don't perform DAD on this address
454 * (used only at first SIOC* call)
455 */
456#define IN6_IFF_AUTOCONF0x40/* autoconfigurable address. */
457#define IN6_IFF_TEMPORARY0x80/* temporary (anonymous) address. */
458#define IN6_IFF_NOPFX0x8000/* skip kernel prefix management.
459 * XXX: this should be temporary.
460 */
461
462/* do not input/output */
463#define IN6_IFF_NOTREADY (IN6_IFF_TENTATIVE|IN6_IFF_DUPLICATED)
464
465
466#endif /* _NETINET6_IN6_VAR_H_ */
467

Archive Download this file

Revision: 1146