# Unit pingsend

Description | uses | Classes, Interfaces and Objects | Functions and Procedures | Types | Constants | Variables

## Description

ICMP PING implementation.

Allows create PING and TRACEROUTE. Or you can diagnose your network.

Warning: this unit using RAW sockets. On some systems you must have special rights for using this sort of sockets. So, it working allways when you have administator/root rights. Otherwise you can have problems!

Note: IPv6 not working under .NET. It is lack of Microsoft's .NET framework.

## Classes, Interfaces and Objects

Name | Description
--- | ---
record `TIcmpEchoHeader` |
record `TICMP6Packet` |
Class `TPINGSend` | Implementation of ICMP PING and ICMPv6 PING.

## Functions and Procedures

### Overview

`function PingHost(const Host: string): Integer;`
`function TraceRouteHost(const Host: string): string;`

### Description

`function PingHost(const Host: string): Integer;`

A very useful function and example of its use would be found in the TPINGSend object. Use it to ping to any host. If successful, returns the ping time in milliseconds. Returns -1 if an error occurred.

`function TraceRouteHost(const Host: string): string;`

A very useful function and example of its use would be found in the TPINGSend object. Use it to TraceRoute to any host.

## Types

Name | Description
--- | ---
TICMPError`` | List of possible ICMP reply packet types. IE_NoError: IE_Other: IE_TTLExceed: IE_UnreachOther: IE_UnreachRoute: IE_UnreachAdmin: IE_UnreachAddr: IE_UnreachPort:

## Constants

Name | Description
--- | ---
ICMP_ECHO`= 8;` |
ICMP_ECHOREPLY`= 0;` |
ICMP_UNREACH`= 3;` |
ICMP_TIME_EXCEEDED`= 11;` |
ICMP6_ECHO`= 128;` |
ICMP6_ECHOREPLY`= 129;` |
ICMP6_UNREACH`= 1;` |
ICMP6_TIME_EXCEEDED`= 3;` |

Generated by PasDoc 0.8.8.2 on 2005-01-19 20:01:18