Webserver+3d print

Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

icmpv6.h File Reference

icmpv6.h File Reference

ICMPv6 (Internet Control Message Protocol Version 6) More...

Go to the source code of this file.

Enumerations

enum  Icmpv6Type
 

ICMPv6 message type.

More...
enum  Icmpv6DestUnreachableCode
 

Destination Unreachable message codes.

More...
enum  Icmpv6TimeExceededCode
 

Time Exceeded message codes.

More...
enum  Icmpv6ParamProblemCode
 

Parameter Problem message codes.

More...

Functions

error_t icmpv6EnableMulticastEchoRequest (NetInterface *interface, bool_t enable)
 Enable support for multicast Echo Request messages.
void icmpv6ProcessMessage (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit)
 Incoming ICMPv6 message processing.
void icmpv6ProcessDestUnreachable (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset)
 Destination Unreachable message processing.
void icmpv6ProcessPacketTooBig (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset)
 Packet Too Big message processing.
void icmpv6ProcessEchoRequest (NetInterface *interface, Ipv6PseudoHeader *requestPseudoHeader, const NetBuffer *request, size_t requestOffset)
 Echo Request message processing.
error_t icmpv6SendErrorMessage (NetInterface *interface, uint8_t type, uint8_t code, uint32_t parameter, const NetBuffer *ipPacket, size_t ipPacketOffset)
 Send an ICMPv6 Error message.
void icmpv6DumpMessage (const Icmpv6Header *message)
 Dump ICMPv6 message for debugging purpose.
void icmpv6DumpDestUnreachableMessage (const Icmpv6DestUnreachableMessage *message)
 Dump ICMPv6 Destination Unreachable message.
void icmpv6DumpPacketTooBigMessage (const Icmpv6PacketTooBigMessage *message)
 Dump ICMPv6 Packet Too Big message.
void icmpv6DumpEchoMessage (const Icmpv6EchoMessage *message)
 Dump ICMPv6 Echo Request or Echo Reply message.
void icmpv6DumpErrorMessage (const Icmpv6ErrorMessage *message)
 Dump generic ICMPv6 Error message.

Detailed Description

ICMPv6 (Internet Control Message 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.

Author:
Oryx Embedded SARL (www.oryx-embedded.com)
Version:
1.7.6

Definition in file icmpv6.h.


Enumeration Type Documentation

Destination Unreachable message codes.

Definition at line 68 of file icmpv6.h.

Parameter Problem message codes.

Definition at line 92 of file icmpv6.h.

Time Exceeded message codes.

Definition at line 82 of file icmpv6.h.

enum Icmpv6Type

ICMPv6 message type.

The type field indicates the type of the message. Its value determines the format of the remaining data

Definition at line 44 of file icmpv6.h.


Function Documentation

void icmpv6DumpDestUnreachableMessage ( const Icmpv6DestUnreachableMessage *  message )

Dump ICMPv6 Destination Unreachable message.

Parameters:
[in]messagePointer to the ICMPv6 message

Definition at line 609 of file icmpv6.c.

void icmpv6DumpEchoMessage ( const Icmpv6EchoMessage *  message )

Dump ICMPv6 Echo Request or Echo Reply message.

Parameters:
[in]messagePointer to the ICMPv6 message

Definition at line 638 of file icmpv6.c.

void icmpv6DumpErrorMessage ( const Icmpv6ErrorMessage *  message )

Dump generic ICMPv6 Error message.

Parameters:
[in]messagePointer to the ICMPv6 message

Definition at line 654 of file icmpv6.c.

void icmpv6DumpMessage ( const Icmpv6Header *  message )

Dump ICMPv6 message for debugging purpose.

Parameters:
[in]messagePointer to the ICMP message

Definition at line 595 of file icmpv6.c.

void icmpv6DumpPacketTooBigMessage ( const Icmpv6PacketTooBigMessage *  message )

Dump ICMPv6 Packet Too Big message.

Parameters:
[in]messagePointer to the ICMPv6 message

Definition at line 623 of file icmpv6.c.

error_t icmpv6EnableMulticastEchoRequest ( NetInterface *  interface,
bool_t  enable 
)

Enable support for multicast Echo Request messages.

Parameters:
[in]interfaceUnderlying network interface
[in]enableWhen the flag is set to TRUE, the host will respond to multicast Echo Requests. When the flag is set to FALSE, incoming Echo Request messages destined to a multicast address will be dropped
Returns:
Error code

Definition at line 65 of file icmpv6.c.

void icmpv6ProcessDestUnreachable ( NetInterface *  interface,
Ipv6PseudoHeader *  pseudoHeader,
const NetBuffer buffer,
size_t  offset 
)

Destination Unreachable message processing.

Parameters:
[in]interfaceUnderlying network interface
[in]pseudoHeaderIPv6 pseudo header
[in]bufferMulti-part buffer containing the incoming ICMPv6 message
[in]offsetOffset to the first byte of the ICMPv6 message

Definition at line 223 of file icmpv6.c.

void icmpv6ProcessEchoRequest ( NetInterface *  interface,
Ipv6PseudoHeader *  requestPseudoHeader,
const NetBuffer request,
size_t  requestOffset 
)

Echo Request message processing.

Parameters:
[in]interfaceUnderlying network interface
[in]requestPseudoHeaderIPv6 pseudo header
[in]requestMulti-part buffer containing the incoming ICMPv6 message
[in]requestOffsetOffset to the first byte of the ICMPv6 message

Definition at line 322 of file icmpv6.c.

void icmpv6ProcessMessage ( NetInterface *  interface,
Ipv6PseudoHeader *  pseudoHeader,
const NetBuffer buffer,
size_t  offset,
uint8_t  hopLimit 
)

Incoming ICMPv6 message processing.

Parameters:
[in]interfaceUnderlying network interface
[in]pseudoHeaderIPv6 pseudo header
[in]bufferMulti-part buffer containing the incoming ICMPv6 message
[in]offsetOffset to the first byte of the ICMPv6 message
[in]hopLimitHop Limit field from IPv6 header

Definition at line 92 of file icmpv6.c.

void icmpv6ProcessPacketTooBig ( NetInterface *  interface,
Ipv6PseudoHeader *  pseudoHeader,
const NetBuffer buffer,
size_t  offset 
)

Packet Too Big message processing.

Parameters:
[in]interfaceUnderlying network interface
[in]pseudoHeaderIPv6 pseudo header
[in]bufferMulti-part buffer containing the incoming ICMPv6 message
[in]offsetOffset to the first byte of the ICMPv6 message

Definition at line 258 of file icmpv6.c.

error_t icmpv6SendErrorMessage ( NetInterface *  interface,
uint8_t  type,
uint8_t  code,
uint32_t  parameter,
const NetBuffer ipPacket,
size_t  ipPacketOffset 
)

Send an ICMPv6 Error message.

Parameters:
[in]interfaceUnderlying network interface
[in]typeMessage type
[in]codeSpecific message code
[in]parameterSpecific message parameter
[in]ipPacketMulti-part buffer that holds the invoking IPv6 packet
[in]ipPacketOffsetOffset to the first byte of the IPv6 packet
Returns:
Error code

Definition at line 443 of file icmpv6.c.