Sergey Pastor / 1

Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

icmp.h File Reference

icmp.h File Reference

ICMP (Internet Control Message Protocol) More...

Go to the source code of this file.

Enumerations

enum  IcmpType
 

ICMP message type.

More...
enum  IcmpDestUnreachableCode
 

Destination Unreachable message codes.

More...
enum  IcmpTimeExceededCode
 

Time Exceeded message codes.

More...

Functions

void icmpProcessMessage (NetInterface *interface, Ipv4Addr srcIpAddr, const NetBuffer *buffer, size_t offset)
 Incoming ICMP message processing.
void icmpProcessEchoRequest (NetInterface *interface, Ipv4Addr srcIpAddr, const NetBuffer *request, size_t requestOffset)
 Echo Request message processing.
error_t icmpSendErrorMessage (NetInterface *interface, uint8_t type, uint8_t code, uint8_t parameter, const NetBuffer *ipPacket, size_t ipPacketOffset)
 Send an ICMP Error message.
void icmpDumpMessage (const IcmpHeader *message)
 Dump ICMP message for debugging purpose.
void icmpDumpEchoMessage (const IcmpEchoMessage *message)
 Dump ICMP Echo Request or Echo Reply message.
void icmpDumpErrorMessage (const IcmpErrorMessage *message)
 Dump generic ICMP Error message.

Detailed Description

ICMP (Internet Control Message Protocol)

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 icmp.h.


Enumeration Type Documentation

Destination Unreachable message codes.

Definition at line 64 of file icmp.h.

Time Exceeded message codes.

Definition at line 79 of file icmp.h.

enum IcmpType

ICMP 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 icmp.h.


Function Documentation

void icmpDumpEchoMessage ( const IcmpEchoMessage *  message )

Dump ICMP Echo Request or Echo Reply message.

Parameters:
[in]messagePointer to the ICMP message

Definition at line 361 of file icmp.c.

void icmpDumpErrorMessage ( const IcmpErrorMessage *  message )

Dump generic ICMP Error message.

Parameters:
[in]messagePointer to the ICMP message

Definition at line 377 of file icmp.c.

void icmpDumpMessage ( const IcmpHeader *  message )

Dump ICMP message for debugging purpose.

Parameters:
[in]messagePointer to the ICMP message

Definition at line 347 of file icmp.c.

void icmpProcessEchoRequest ( NetInterface *  interface,
Ipv4Addr  srcIpAddr,
const NetBuffer request,
size_t  requestOffset 
)

Echo Request message processing.

Parameters:
[in]interfaceUnderlying network interface
[in]srcIpAddrSource IPv4 address
[in]requestMulti-part buffer containing the incoming Echo Request message
[in]requestOffsetOffset to the first byte of the Echo Request message

Definition at line 124 of file icmp.c.

void icmpProcessMessage ( NetInterface *  interface,
Ipv4Addr  srcIpAddr,
const NetBuffer buffer,
size_t  offset 
)

Incoming ICMP message processing.

Parameters:
[in]interfaceUnderlying network interface
[in]srcIpAddrSource IPv4 address
[in]bufferMulti-part buffer containing the incoming ICMP message
[in]offsetOffset to the first byte of the ICMP message

Definition at line 53 of file icmp.c.

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

Send an ICMP 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 IPv4 packet
[in]ipPacketOffsetOffset to the first byte of the IPv4 packet
Returns:
Error code

Definition at line 225 of file icmp.c.