Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
ipinip\icmpfn.h
Abstract:
header for icmpfn.c
Author:
Amritansh Raghav
Revision History:
AmritanR Created
Notes:
--*/
#ifndef __IPINIP_ICMP_H__
#define __IPINIP_ICMP_H___
#include <packon.h>
typedef struct _ICMP_HEADER { BYTE byType; // ICMP type
BYTE byCode; // ICMP Code
WORD wXSum; // Standard 1's complement checksum
}ICMP_HEADER, *PICMP_HEADER;
#pragma warning(disable:4201)
typedef struct _ICMP_DGRAM_TOO_BIG_MSG { ICMP_HEADER; WORD wUnused; USHORT usMtu;
}ICMP_DGRAM_TOO_BIG_MSG, *PICMP_DGRAM_TOO_BIG_MSG;
#pragma warning(default:4201)
#include <packoff.h>
//
// ICMP types and codes that we are interested in
//
#define ICMP_TYPE_DEST_UNREACHABLE 0x03
#define ICMP_TYPE_TIME_EXCEEDED 0x0B
#define ICMP_TYPE_PARAM_PROBLEM 0x0C
#define ICMP_CODE_NET_UNREACHABLE 0x00
#define ICMP_CODE_HOST_UNREACHABLE 0x01
#define ICMP_CODE_PROTO_UNREACHABLE 0x02
#define ICMP_CODE_PORT_UNREACHABLE 0x03
#define ICMP_CODE_DGRAM_TOO_BIG 0x04
#define DEST_UNREACH_LENGTH 8
#define TIME_EXCEED_LENGTH 8
typedef NTSTATUS (*PICMP_HANDLER)( PTUNNEL pTunnel, PICMP_HEADER pIcmpHeader, PIP_HEADER pInHeader );
NTSTATUS HandleTimeExceeded( PTUNNEL pTunnel, PICMP_HEADER pIcmpHeader, PIP_HEADER pInHeader );
NTSTATUS HandleDestUnreachable( PTUNNEL pTunnel, PICMP_HEADER pIcmpHeader, PIP_HEADER pInHeader );
VOID IpIpTimerRoutine( PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2 );
#endif // __IPINIP_ICMP_H___
|