Webserver+3d print
ipv6.h File Reference
IPv6 (Internet Protocol Version 6) More...
Go to the source code of this file.
Data Structures | |
struct | _Ipv6Header |
IPv6 header. More... | |
struct | _Ipv6FragmentHeader |
IPv6 Fragment header. More... | |
struct | _Ipv6PseudoHeader |
IPv6 pseudo header. More... | |
struct | Ipv6AddrEntry |
IPv6 address entry. More... | |
struct | Ipv6PrefixEntry |
Prefix list entry. More... | |
struct | Ipv6RouterEntry |
Default router list entry. More... | |
struct | Ipv6FilterEntry |
IPv6 multicast filter entry. More... | |
struct | Ipv6Context |
IPv6 context. More... | |
Enumerations | |
enum | Ipv6AddrScope |
IPv6 address scopes. More... | |
enum | Ipv6AddrState { IPV6_ADDR_STATE_INVALID = 0, IPV6_ADDR_STATE_TENTATIVE = 1, IPV6_ADDR_STATE_PREFERRED = 2, IPV6_ADDR_STATE_DEPRECATED = 3 } |
IPv6 address state. More... | |
enum | Ipv6NextHeaderType |
IPv6 Next Header types. More... | |
enum | Ipv6FragmentOffset |
IPv6 fragment offset field. More... | |
enum | Ipv6OptionType |
IPv6 option types. More... | |
enum | Ipv6Actions |
Actions to be taken for unrecognized options. More... | |
Functions | |
error_t | ipv6Init (NetInterface *interface) |
IPv6 related initialization. | |
error_t | ipv6SetMtu (NetInterface *interface, size_t mtu) |
Change the MTU of a network interface. | |
error_t | ipv6GetMtu (NetInterface *interface, size_t *mtu) |
Retrieve the MTU for the specified interface. | |
error_t | ipv6SetLinkLocalAddr (NetInterface *interface, const Ipv6Addr *addr) |
Assign link-local address. | |
error_t | ipv6GetLinkLocalAddr (NetInterface *interface, Ipv6Addr *addr) |
Retrieve link-local address. | |
error_t | ipv6SetGlobalAddr (NetInterface *interface, uint_t index, const Ipv6Addr *addr) |
Assign global address. | |
error_t | ipv6GetGlobalAddr (NetInterface *interface, uint_t index, Ipv6Addr *addr) |
Retrieve global address. | |
error_t | ipv6SetAnycastAddr (NetInterface *interface, uint_t index, const Ipv6Addr *addr) |
Assign anycast address. | |
error_t | ipv6GetAnycastAddr (NetInterface *interface, uint_t index, Ipv6Addr *addr) |
Retrieve anycast address. | |
error_t | ipv6SetPrefix (NetInterface *interface, uint_t index, const Ipv6Addr *prefix, uint_t length) |
Configure IPv6 prefix. | |
error_t | ipv6GetPrefix (NetInterface *interface, uint_t index, Ipv6Addr *prefix, uint_t *length) |
Retrieve IPv6 prefix. | |
error_t | ipv6SetDefaultRouter (NetInterface *interface, uint_t index, const Ipv6Addr *addr) |
Configure default router. | |
error_t | ipv6GetDefaultRouter (NetInterface *interface, uint_t index, Ipv6Addr *addr) |
Retrieve default router. | |
error_t | ipv6SetDnsServer (NetInterface *interface, uint_t index, const Ipv6Addr *addr) |
Configure DNS server. | |
error_t | ipv6GetDnsServer (NetInterface *interface, uint_t index, Ipv6Addr *addr) |
Retrieve DNS server. | |
void | ipv6LinkChangeEvent (NetInterface *interface) |
Callback function for link change event. | |
void | ipv6ProcessPacket (NetInterface *interface, NetBuffer *ipPacket, size_t ipPacketOffset) |
Incoming IPv6 packet processing. | |
error_t | ipv6ParseHopByHopOptHeader (NetInterface *interface, const NetBuffer *ipPacket, size_t ipPacketOffset, size_t *headerOffset, size_t *nextHeaderOffset) |
Parse Hop-by-Hop Options header. | |
error_t | ipv6ParseDestOptHeader (NetInterface *interface, const NetBuffer *ipPacket, size_t ipPacketOffset, size_t *headerOffset, size_t *nextHeaderOffset) |
Parse Destination Options header. | |
error_t | ipv6ParseRoutingHeader (NetInterface *interface, const NetBuffer *ipPacket, size_t ipPacketOffset, size_t *headerOffset, size_t *nextHeaderOffset) |
Parse Routing header. | |
error_t | ipv6ParseAuthHeader (NetInterface *interface, const NetBuffer *ipPacket, size_t ipPacketOffset, size_t *headerOffset, size_t *nextHeaderOffset) |
Parse Authentication header. | |
error_t | ipv6ParseEspHeader (NetInterface *interface, const NetBuffer *ipPacket, size_t ipPacketOffset, size_t *headerOffset, size_t *nextHeaderOffset) |
Parse Encapsulating Security Payload header. | |
error_t | ipv6ParseOptions (NetInterface *interface, const NetBuffer *ipPacket, size_t ipPacketOffset, size_t optOffset, size_t optLength) |
Parse IPv6 options. | |
error_t | ipv6SendDatagram (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, NetBuffer *buffer, size_t offset, uint8_t hopLimit) |
Send an IPv6 datagram. | |
error_t | ipv6SendPacket (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, uint32_t fragId, size_t fragOffset, NetBuffer *buffer, size_t offset, uint8_t hopLimit) |
Send an IPv6 packet. | |
error_t | ipv6JoinMulticastGroup (NetInterface *interface, const Ipv6Addr *groupAddr) |
Join an IPv6 multicast group. | |
error_t | ipv6LeaveMulticastGroup (NetInterface *interface, const Ipv6Addr *groupAddr) |
Leave an IPv6 multicast group. | |
error_t | ipv6StringToAddr (const char_t *str, Ipv6Addr *ipAddr) |
Convert a string representation of an IPv6 address to a binary IPv6 address. | |
char_t * | ipv6AddrToString (const Ipv6Addr *ipAddr, char_t *str) |
Convert a binary IPv6 address to a string representation. | |
void | ipv6DumpHeader (const Ipv6Header *ipHeader) |
Dump IPv6 header for debugging purpose. |
Detailed Description
IPv6 (Internet Protocol Version 6)
License
Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version:
- 1.7.6
Definition in file ipv6.h.
Enumeration Type Documentation
enum Ipv6Actions |
enum Ipv6AddrScope |
enum Ipv6AddrState |
IPv6 address state.
- Enumerator:
enum Ipv6FragmentOffset |
enum Ipv6NextHeaderType |
enum Ipv6OptionType |
Function Documentation
char_t* ipv6AddrToString | ( | const Ipv6Addr * | ipAddr, |
char_t * | str | ||
) |
Convert a binary IPv6 address to a string representation.
Call ipv6AddrToString() to convert an IPv6 address to a text representation. The implementation of ipv6AddrToString() function follows RFC 5952 recommendations
- Parameters:
-
[in] ipAddr Binary representation of the IPv6 address [out] str NULL-terminated string representing the IPv6 address
- Returns:
- Pointer to the formatted string
void ipv6DumpHeader | ( | const Ipv6Header * | ipHeader ) |
error_t ipv6GetAnycastAddr | ( | NetInterface * | interface, |
uint_t | index, | ||
Ipv6Addr * | addr | ||
) |
error_t ipv6GetDefaultRouter | ( | NetInterface * | interface, |
uint_t | index, | ||
Ipv6Addr * | addr | ||
) |
error_t ipv6GetDnsServer | ( | NetInterface * | interface, |
uint_t | index, | ||
Ipv6Addr * | addr | ||
) |
error_t ipv6GetGlobalAddr | ( | NetInterface * | interface, |
uint_t | index, | ||
Ipv6Addr * | addr | ||
) |
error_t ipv6GetLinkLocalAddr | ( | NetInterface * | interface, |
Ipv6Addr * | addr | ||
) |
error_t ipv6GetMtu | ( | NetInterface * | interface, |
size_t * | mtu | ||
) |
error_t ipv6GetPrefix | ( | NetInterface * | interface, |
uint_t | index, | ||
Ipv6Addr * | prefix, | ||
uint_t * | length | ||
) |
error_t ipv6Init | ( | NetInterface * | interface ) |
error_t ipv6JoinMulticastGroup | ( | NetInterface * | interface, |
const Ipv6Addr * | groupAddr | ||
) |
error_t ipv6LeaveMulticastGroup | ( | NetInterface * | interface, |
const Ipv6Addr * | groupAddr | ||
) |
void ipv6LinkChangeEvent | ( | NetInterface * | interface ) |
error_t ipv6ParseAuthHeader | ( | NetInterface * | interface, |
const NetBuffer * | ipPacket, | ||
size_t | ipPacketOffset, | ||
size_t * | headerOffset, | ||
size_t * | nextHeaderOffset | ||
) |
Parse Authentication header.
- Parameters:
-
[in] interface Underlying network interface [in] ipPacket Multi-part buffer containing the IPv6 packet [in] ipPacketOffset Offset to the first byte of the IPv6 packet [in,out] headerOffset Offset to the Authentication header [in,out] nextHeaderOffset Offset to the Next Header field Error code
error_t ipv6ParseDestOptHeader | ( | NetInterface * | interface, |
const NetBuffer * | ipPacket, | ||
size_t | ipPacketOffset, | ||
size_t * | headerOffset, | ||
size_t * | nextHeaderOffset | ||
) |
Parse Destination Options header.
- Parameters:
-
[in] interface Underlying network interface [in] ipPacket Multi-part buffer containing the IPv6 packet [in] ipPacketOffset Offset to the first byte of the IPv6 packet [in,out] headerOffset Offset to the Destination Options header [in,out] nextHeaderOffset Offset to the Next Header field Error code
error_t ipv6ParseEspHeader | ( | NetInterface * | interface, |
const NetBuffer * | ipPacket, | ||
size_t | ipPacketOffset, | ||
size_t * | headerOffset, | ||
size_t * | nextHeaderOffset | ||
) |
Parse Encapsulating Security Payload header.
- Parameters:
-
[in] interface Underlying network interface [in] ipPacket Multi-part buffer containing the IPv6 packet [in] ipPacketOffset Offset to the first byte of the IPv6 packet [in,out] headerOffset Offset to the Encapsulating Security Payload header [in,out] nextHeaderOffset Offset to the Next Header field Error code
error_t ipv6ParseHopByHopOptHeader | ( | NetInterface * | interface, |
const NetBuffer * | ipPacket, | ||
size_t | ipPacketOffset, | ||
size_t * | headerOffset, | ||
size_t * | nextHeaderOffset | ||
) |
Parse Hop-by-Hop Options header.
- Parameters:
-
[in] interface Underlying network interface [in] ipPacket Multi-part buffer containing the IPv6 packet [in] ipPacketOffset Offset to the first byte of the IPv6 packet [in,out] headerOffset Offset to the Hop-by-Hop Options header [in,out] nextHeaderOffset Offset to the Next Header field Error code
error_t ipv6ParseOptions | ( | NetInterface * | interface, |
const NetBuffer * | ipPacket, | ||
size_t | ipPacketOffset, | ||
size_t | optOffset, | ||
size_t | optLength | ||
) |
Parse IPv6 options.
- Parameters:
-
[in] interface Underlying network interface [in] ipPacket Multi-part buffer containing the IPv6 packet [in] ipPacketOffset Offset to the first byte of the IPv6 packet [in] optOffset Offset to the first byte of the Options field [in] optLength Length of the Options field Error code
error_t ipv6ParseRoutingHeader | ( | NetInterface * | interface, |
const NetBuffer * | ipPacket, | ||
size_t | ipPacketOffset, | ||
size_t * | headerOffset, | ||
size_t * | nextHeaderOffset | ||
) |
Parse Routing header.
- Parameters:
-
[in] interface Underlying network interface [in] ipPacket Multi-part buffer containing the IPv6 packet [in] ipPacketOffset Offset to the first byte of the IPv6 packet [in,out] headerOffset Offset to the Routing header [in,out] nextHeaderOffset Offset to the Next Header field Error code
void ipv6ProcessPacket | ( | NetInterface * | interface, |
NetBuffer * | ipPacket, | ||
size_t | ipPacketOffset | ||
) |
error_t ipv6SendDatagram | ( | NetInterface * | interface, |
Ipv6PseudoHeader * | pseudoHeader, | ||
NetBuffer * | buffer, | ||
size_t | offset, | ||
uint8_t | hopLimit | ||
) |
Send an IPv6 datagram.
- Parameters:
-
[in] interface Underlying network interface [in] pseudoHeader IPv6 pseudo header [in] buffer Multi-part buffer containing the payload [in] offset Offset to the first byte of the payload [in] hopLimit Hop Limit value. Default value is used when this parameter is zero
- Returns:
- Error code
error_t ipv6SendPacket | ( | NetInterface * | interface, |
Ipv6PseudoHeader * | pseudoHeader, | ||
uint32_t | fragId, | ||
size_t | fragOffset, | ||
NetBuffer * | buffer, | ||
size_t | offset, | ||
uint8_t | hopLimit | ||
) |
Send an IPv6 packet.
- Parameters:
-
[in] interface Underlying network interface [in] pseudoHeader IPv6 pseudo header [in] fragId Fragment identification field [in] fragOffset Fragment offset field [in] buffer Multi-part buffer containing the payload [in] offset Offset to the first byte of the payload [in] hopLimit Hop Limit value
- Returns:
- Error code
error_t ipv6SetAnycastAddr | ( | NetInterface * | interface, |
uint_t | index, | ||
const Ipv6Addr * | addr | ||
) |
error_t ipv6SetDefaultRouter | ( | NetInterface * | interface, |
uint_t | index, | ||
const Ipv6Addr * | addr | ||
) |
error_t ipv6SetDnsServer | ( | NetInterface * | interface, |
uint_t | index, | ||
const Ipv6Addr * | addr | ||
) |
error_t ipv6SetGlobalAddr | ( | NetInterface * | interface, |
uint_t | index, | ||
const Ipv6Addr * | addr | ||
) |
error_t ipv6SetLinkLocalAddr | ( | NetInterface * | interface, |
const Ipv6Addr * | addr | ||
) |
error_t ipv6SetMtu | ( | NetInterface * | interface, |
size_t | mtu | ||
) |
error_t ipv6SetPrefix | ( | NetInterface * | interface, |
uint_t | index, | ||
const Ipv6Addr * | prefix, | ||
uint_t | length | ||
) |
error_t ipv6StringToAddr | ( | const char_t * | str, |
Ipv6Addr * | ipAddr | ||
) |
Generated on Tue Jul 12 2022 17:10:20 by
