Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ShExBy/shex_roo.../usr/include/linux
File: in6.h
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
[0] Fix | Delete
/*
[1] Fix | Delete
* Types and definitions for AF_INET6
[2] Fix | Delete
* Linux INET6 implementation
[3] Fix | Delete
*
[4] Fix | Delete
* Authors:
[5] Fix | Delete
* Pedro Roque <roque@di.fc.ul.pt>
[6] Fix | Delete
*
[7] Fix | Delete
* Sources:
[8] Fix | Delete
* IPv6 Program Interfaces for BSD Systems
[9] Fix | Delete
* <draft-ietf-ipngwg-bsd-api-05.txt>
[10] Fix | Delete
*
[11] Fix | Delete
* Advanced Sockets API for IPv6
[12] Fix | Delete
* <draft-stevens-advanced-api-00.txt>
[13] Fix | Delete
*
[14] Fix | Delete
* This program is free software; you can redistribute it and/or
[15] Fix | Delete
* modify it under the terms of the GNU General Public License
[16] Fix | Delete
* as published by the Free Software Foundation; either version
[17] Fix | Delete
* 2 of the License, or (at your option) any later version.
[18] Fix | Delete
*/
[19] Fix | Delete
[20] Fix | Delete
#ifndef _LINUX_IN6_H
[21] Fix | Delete
#define _LINUX_IN6_H
[22] Fix | Delete
[23] Fix | Delete
#include <linux/types.h>
[24] Fix | Delete
#include <linux/libc-compat.h>
[25] Fix | Delete
[26] Fix | Delete
/*
[27] Fix | Delete
* IPv6 address structure
[28] Fix | Delete
*/
[29] Fix | Delete
[30] Fix | Delete
#if __UAPI_DEF_IN6_ADDR
[31] Fix | Delete
struct in6_addr {
[32] Fix | Delete
union {
[33] Fix | Delete
__u8 u6_addr8[16];
[34] Fix | Delete
#if __UAPI_DEF_IN6_ADDR_ALT
[35] Fix | Delete
__be16 u6_addr16[8];
[36] Fix | Delete
__be32 u6_addr32[4];
[37] Fix | Delete
#endif
[38] Fix | Delete
} in6_u;
[39] Fix | Delete
#define s6_addr in6_u.u6_addr8
[40] Fix | Delete
#if __UAPI_DEF_IN6_ADDR_ALT
[41] Fix | Delete
#define s6_addr16 in6_u.u6_addr16
[42] Fix | Delete
#define s6_addr32 in6_u.u6_addr32
[43] Fix | Delete
#endif
[44] Fix | Delete
};
[45] Fix | Delete
#endif /* __UAPI_DEF_IN6_ADDR */
[46] Fix | Delete
[47] Fix | Delete
#if __UAPI_DEF_SOCKADDR_IN6
[48] Fix | Delete
struct sockaddr_in6 {
[49] Fix | Delete
unsigned short int sin6_family; /* AF_INET6 */
[50] Fix | Delete
__be16 sin6_port; /* Transport layer port # */
[51] Fix | Delete
__be32 sin6_flowinfo; /* IPv6 flow information */
[52] Fix | Delete
struct in6_addr sin6_addr; /* IPv6 address */
[53] Fix | Delete
__u32 sin6_scope_id; /* scope id (new in RFC2553) */
[54] Fix | Delete
};
[55] Fix | Delete
#endif /* __UAPI_DEF_SOCKADDR_IN6 */
[56] Fix | Delete
[57] Fix | Delete
#if __UAPI_DEF_IPV6_MREQ
[58] Fix | Delete
struct ipv6_mreq {
[59] Fix | Delete
/* IPv6 multicast address of group */
[60] Fix | Delete
struct in6_addr ipv6mr_multiaddr;
[61] Fix | Delete
[62] Fix | Delete
/* local IPv6 address of interface */
[63] Fix | Delete
int ipv6mr_ifindex;
[64] Fix | Delete
};
[65] Fix | Delete
#endif /* __UAPI_DEF_IVP6_MREQ */
[66] Fix | Delete
[67] Fix | Delete
#define ipv6mr_acaddr ipv6mr_multiaddr
[68] Fix | Delete
[69] Fix | Delete
struct in6_flowlabel_req {
[70] Fix | Delete
struct in6_addr flr_dst;
[71] Fix | Delete
__be32 flr_label;
[72] Fix | Delete
__u8 flr_action;
[73] Fix | Delete
__u8 flr_share;
[74] Fix | Delete
__u16 flr_flags;
[75] Fix | Delete
__u16 flr_expires;
[76] Fix | Delete
__u16 flr_linger;
[77] Fix | Delete
__u32 __flr_pad;
[78] Fix | Delete
/* Options in format of IPV6_PKTOPTIONS */
[79] Fix | Delete
};
[80] Fix | Delete
[81] Fix | Delete
#define IPV6_FL_A_GET 0
[82] Fix | Delete
#define IPV6_FL_A_PUT 1
[83] Fix | Delete
#define IPV6_FL_A_RENEW 2
[84] Fix | Delete
[85] Fix | Delete
#define IPV6_FL_F_CREATE 1
[86] Fix | Delete
#define IPV6_FL_F_EXCL 2
[87] Fix | Delete
#define IPV6_FL_F_REFLECT 4
[88] Fix | Delete
#define IPV6_FL_F_REMOTE 8
[89] Fix | Delete
[90] Fix | Delete
#define IPV6_FL_S_NONE 0
[91] Fix | Delete
#define IPV6_FL_S_EXCL 1
[92] Fix | Delete
#define IPV6_FL_S_PROCESS 2
[93] Fix | Delete
#define IPV6_FL_S_USER 3
[94] Fix | Delete
#define IPV6_FL_S_ANY 255
[95] Fix | Delete
[96] Fix | Delete
[97] Fix | Delete
/*
[98] Fix | Delete
* Bitmask constant declarations to help applications select out the
[99] Fix | Delete
* flow label and priority fields.
[100] Fix | Delete
*
[101] Fix | Delete
* Note that this are in host byte order while the flowinfo field of
[102] Fix | Delete
* sockaddr_in6 is in network byte order.
[103] Fix | Delete
*/
[104] Fix | Delete
[105] Fix | Delete
#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
[106] Fix | Delete
#define IPV6_FLOWINFO_PRIORITY 0x0ff00000
[107] Fix | Delete
[108] Fix | Delete
/* These definitions are obsolete */
[109] Fix | Delete
#define IPV6_PRIORITY_UNCHARACTERIZED 0x0000
[110] Fix | Delete
#define IPV6_PRIORITY_FILLER 0x0100
[111] Fix | Delete
#define IPV6_PRIORITY_UNATTENDED 0x0200
[112] Fix | Delete
#define IPV6_PRIORITY_RESERVED1 0x0300
[113] Fix | Delete
#define IPV6_PRIORITY_BULK 0x0400
[114] Fix | Delete
#define IPV6_PRIORITY_RESERVED2 0x0500
[115] Fix | Delete
#define IPV6_PRIORITY_INTERACTIVE 0x0600
[116] Fix | Delete
#define IPV6_PRIORITY_CONTROL 0x0700
[117] Fix | Delete
#define IPV6_PRIORITY_8 0x0800
[118] Fix | Delete
#define IPV6_PRIORITY_9 0x0900
[119] Fix | Delete
#define IPV6_PRIORITY_10 0x0a00
[120] Fix | Delete
#define IPV6_PRIORITY_11 0x0b00
[121] Fix | Delete
#define IPV6_PRIORITY_12 0x0c00
[122] Fix | Delete
#define IPV6_PRIORITY_13 0x0d00
[123] Fix | Delete
#define IPV6_PRIORITY_14 0x0e00
[124] Fix | Delete
#define IPV6_PRIORITY_15 0x0f00
[125] Fix | Delete
[126] Fix | Delete
/*
[127] Fix | Delete
* IPV6 extension headers
[128] Fix | Delete
*/
[129] Fix | Delete
#if __UAPI_DEF_IPPROTO_V6
[130] Fix | Delete
#define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */
[131] Fix | Delete
#define IPPROTO_ROUTING 43 /* IPv6 routing header */
[132] Fix | Delete
#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
[133] Fix | Delete
#define IPPROTO_ICMPV6 58 /* ICMPv6 */
[134] Fix | Delete
#define IPPROTO_NONE 59 /* IPv6 no next header */
[135] Fix | Delete
#define IPPROTO_DSTOPTS 60 /* IPv6 destination options */
[136] Fix | Delete
#define IPPROTO_MH 135 /* IPv6 mobility header */
[137] Fix | Delete
#endif /* __UAPI_DEF_IPPROTO_V6 */
[138] Fix | Delete
[139] Fix | Delete
/*
[140] Fix | Delete
* IPv6 TLV options.
[141] Fix | Delete
*/
[142] Fix | Delete
#define IPV6_TLV_PAD1 0
[143] Fix | Delete
#define IPV6_TLV_PADN 1
[144] Fix | Delete
#define IPV6_TLV_ROUTERALERT 5
[145] Fix | Delete
#define IPV6_TLV_CALIPSO 7 /* RFC 5570 */
[146] Fix | Delete
#define IPV6_TLV_JUMBO 194
[147] Fix | Delete
#define IPV6_TLV_HAO 201 /* home address option */
[148] Fix | Delete
[149] Fix | Delete
/*
[150] Fix | Delete
* IPV6 socket options
[151] Fix | Delete
*/
[152] Fix | Delete
#if __UAPI_DEF_IPV6_OPTIONS
[153] Fix | Delete
#define IPV6_ADDRFORM 1
[154] Fix | Delete
#define IPV6_2292PKTINFO 2
[155] Fix | Delete
#define IPV6_2292HOPOPTS 3
[156] Fix | Delete
#define IPV6_2292DSTOPTS 4
[157] Fix | Delete
#define IPV6_2292RTHDR 5
[158] Fix | Delete
#define IPV6_2292PKTOPTIONS 6
[159] Fix | Delete
#define IPV6_CHECKSUM 7
[160] Fix | Delete
#define IPV6_2292HOPLIMIT 8
[161] Fix | Delete
#define IPV6_NEXTHOP 9
[162] Fix | Delete
#define IPV6_AUTHHDR 10 /* obsolete */
[163] Fix | Delete
#define IPV6_FLOWINFO 11
[164] Fix | Delete
[165] Fix | Delete
#define IPV6_UNICAST_HOPS 16
[166] Fix | Delete
#define IPV6_MULTICAST_IF 17
[167] Fix | Delete
#define IPV6_MULTICAST_HOPS 18
[168] Fix | Delete
#define IPV6_MULTICAST_LOOP 19
[169] Fix | Delete
#define IPV6_ADD_MEMBERSHIP 20
[170] Fix | Delete
#define IPV6_DROP_MEMBERSHIP 21
[171] Fix | Delete
#define IPV6_ROUTER_ALERT 22
[172] Fix | Delete
#define IPV6_MTU_DISCOVER 23
[173] Fix | Delete
#define IPV6_MTU 24
[174] Fix | Delete
#define IPV6_RECVERR 25
[175] Fix | Delete
#define IPV6_V6ONLY 26
[176] Fix | Delete
#define IPV6_JOIN_ANYCAST 27
[177] Fix | Delete
#define IPV6_LEAVE_ANYCAST 28
[178] Fix | Delete
[179] Fix | Delete
/* IPV6_MTU_DISCOVER values */
[180] Fix | Delete
#define IPV6_PMTUDISC_DONT 0
[181] Fix | Delete
#define IPV6_PMTUDISC_WANT 1
[182] Fix | Delete
#define IPV6_PMTUDISC_DO 2
[183] Fix | Delete
#define IPV6_PMTUDISC_PROBE 3
[184] Fix | Delete
/* same as IPV6_PMTUDISC_PROBE, provided for symetry with IPv4
[185] Fix | Delete
* also see comments on IP_PMTUDISC_INTERFACE
[186] Fix | Delete
*/
[187] Fix | Delete
#define IPV6_PMTUDISC_INTERFACE 4
[188] Fix | Delete
/* weaker version of IPV6_PMTUDISC_INTERFACE, which allows packets to
[189] Fix | Delete
* get fragmented if they exceed the interface mtu
[190] Fix | Delete
*/
[191] Fix | Delete
#define IPV6_PMTUDISC_OMIT 5
[192] Fix | Delete
[193] Fix | Delete
/* Flowlabel */
[194] Fix | Delete
#define IPV6_FLOWLABEL_MGR 32
[195] Fix | Delete
#define IPV6_FLOWINFO_SEND 33
[196] Fix | Delete
[197] Fix | Delete
#define IPV6_IPSEC_POLICY 34
[198] Fix | Delete
#define IPV6_XFRM_POLICY 35
[199] Fix | Delete
#define IPV6_HDRINCL 36
[200] Fix | Delete
#endif
[201] Fix | Delete
[202] Fix | Delete
/*
[203] Fix | Delete
* Multicast:
[204] Fix | Delete
* Following socket options are shared between IPv4 and IPv6.
[205] Fix | Delete
*
[206] Fix | Delete
* MCAST_JOIN_GROUP 42
[207] Fix | Delete
* MCAST_BLOCK_SOURCE 43
[208] Fix | Delete
* MCAST_UNBLOCK_SOURCE 44
[209] Fix | Delete
* MCAST_LEAVE_GROUP 45
[210] Fix | Delete
* MCAST_JOIN_SOURCE_GROUP 46
[211] Fix | Delete
* MCAST_LEAVE_SOURCE_GROUP 47
[212] Fix | Delete
* MCAST_MSFILTER 48
[213] Fix | Delete
*/
[214] Fix | Delete
[215] Fix | Delete
/*
[216] Fix | Delete
* Advanced API (RFC3542) (1)
[217] Fix | Delete
*
[218] Fix | Delete
* Note: IPV6_RECVRTHDRDSTOPTS does not exist. see net/ipv6/datagram.c.
[219] Fix | Delete
*/
[220] Fix | Delete
[221] Fix | Delete
#define IPV6_RECVPKTINFO 49
[222] Fix | Delete
#define IPV6_PKTINFO 50
[223] Fix | Delete
#define IPV6_RECVHOPLIMIT 51
[224] Fix | Delete
#define IPV6_HOPLIMIT 52
[225] Fix | Delete
#define IPV6_RECVHOPOPTS 53
[226] Fix | Delete
#define IPV6_HOPOPTS 54
[227] Fix | Delete
#define IPV6_RTHDRDSTOPTS 55
[228] Fix | Delete
#define IPV6_RECVRTHDR 56
[229] Fix | Delete
#define IPV6_RTHDR 57
[230] Fix | Delete
#define IPV6_RECVDSTOPTS 58
[231] Fix | Delete
#define IPV6_DSTOPTS 59
[232] Fix | Delete
#define IPV6_RECVPATHMTU 60
[233] Fix | Delete
#define IPV6_PATHMTU 61
[234] Fix | Delete
#define IPV6_DONTFRAG 62
[235] Fix | Delete
#if 0 /* not yet */
[236] Fix | Delete
#define IPV6_USE_MIN_MTU 63
[237] Fix | Delete
#endif
[238] Fix | Delete
[239] Fix | Delete
/*
[240] Fix | Delete
* Netfilter (1)
[241] Fix | Delete
*
[242] Fix | Delete
* Following socket options are used in ip6_tables;
[243] Fix | Delete
* see include/linux/netfilter_ipv6/ip6_tables.h.
[244] Fix | Delete
*
[245] Fix | Delete
* IP6T_SO_SET_REPLACE / IP6T_SO_GET_INFO 64
[246] Fix | Delete
* IP6T_SO_SET_ADD_COUNTERS / IP6T_SO_GET_ENTRIES 65
[247] Fix | Delete
*/
[248] Fix | Delete
[249] Fix | Delete
/*
[250] Fix | Delete
* Advanced API (RFC3542) (2)
[251] Fix | Delete
*/
[252] Fix | Delete
#define IPV6_RECVTCLASS 66
[253] Fix | Delete
#define IPV6_TCLASS 67
[254] Fix | Delete
[255] Fix | Delete
/*
[256] Fix | Delete
* Netfilter (2)
[257] Fix | Delete
*
[258] Fix | Delete
* Following socket options are used in ip6_tables;
[259] Fix | Delete
* see include/linux/netfilter_ipv6/ip6_tables.h.
[260] Fix | Delete
*
[261] Fix | Delete
* IP6T_SO_GET_REVISION_MATCH 68
[262] Fix | Delete
* IP6T_SO_GET_REVISION_TARGET 69
[263] Fix | Delete
* IP6T_SO_ORIGINAL_DST 80
[264] Fix | Delete
*/
[265] Fix | Delete
[266] Fix | Delete
#define IPV6_AUTOFLOWLABEL 70
[267] Fix | Delete
/* RFC5014: Source address selection */
[268] Fix | Delete
#define IPV6_ADDR_PREFERENCES 72
[269] Fix | Delete
[270] Fix | Delete
#define IPV6_PREFER_SRC_TMP 0x0001
[271] Fix | Delete
#define IPV6_PREFER_SRC_PUBLIC 0x0002
[272] Fix | Delete
#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100
[273] Fix | Delete
#define IPV6_PREFER_SRC_COA 0x0004
[274] Fix | Delete
#define IPV6_PREFER_SRC_HOME 0x0400
[275] Fix | Delete
#define IPV6_PREFER_SRC_CGA 0x0008
[276] Fix | Delete
#define IPV6_PREFER_SRC_NONCGA 0x0800
[277] Fix | Delete
[278] Fix | Delete
/* RFC5082: Generalized Ttl Security Mechanism */
[279] Fix | Delete
#define IPV6_MINHOPCOUNT 73
[280] Fix | Delete
[281] Fix | Delete
#define IPV6_ORIGDSTADDR 74
[282] Fix | Delete
#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR
[283] Fix | Delete
#define IPV6_TRANSPARENT 75
[284] Fix | Delete
#define IPV6_UNICAST_IF 76
[285] Fix | Delete
#define IPV6_RECVFRAGSIZE 77
[286] Fix | Delete
#define IPV6_FREEBIND 78
[287] Fix | Delete
[288] Fix | Delete
/*
[289] Fix | Delete
* Multicast Routing:
[290] Fix | Delete
* see include/uapi/linux/mroute6.h.
[291] Fix | Delete
*
[292] Fix | Delete
* MRT6_BASE 200
[293] Fix | Delete
* ...
[294] Fix | Delete
* MRT6_MAX
[295] Fix | Delete
*/
[296] Fix | Delete
#endif /* _LINUX_IN6_H */
[297] Fix | Delete
[298] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function