📄 icmp.c
字号:
/******************************************************************
* icmp.c: Internet Control Messaging Protocol
*
* Copyright (c) 2001 Atmel Corporation.
* All Rights Reserved.
*
* You are autorized to use, copy and distribute this software only at
* a single site (the term "site" meaning a single company location).
* This copyright notice must be included in any copy, modification
* or portion of this software merged into another program.
*
* This software is licenced solely for use with Atmel AVR micro
* controller family. The software may not be modified to execute on
* any other microcontroller architectures
*
* This software is provided "as is"; Without warranties either express
* or implied, including any warranty regarding merchantability,
* fitness for a particular purpose or noninfringement.
*
* In no event shall Atmel or its suppliers be liable for any special,
* indirect,incidential or concequential damages resulting from the
* use or inability to use this software.
*
* Revision history:
*
* January 17, 2001: Version 1.0 Created by JB
* July 13, 2001 Version 1.2 JB
* - Changed to IAR compiler V2.25
* - Renamed flash file functions to avoid conflict with
* standard file I/O names
* - Bug fixes in HTTP
* - Speed optimization in TCP
*
*
*******************************************************************/
#include "icmp.h"
#include "ip.h"
#include "main.h"
#include <iom103.h>
extern unsigned int frame[FRAME_SIZE];
/*receiving a ICMP message. If this is a echo request, reply with a echo reply.*/
void receiveICMP( unsigned int *frame, int length, unsigned int ip0, unsigned int ip1)
{
unsigned int *frameptr = &frame[ICMP_TYPE];
if ( ((*frameptr>>8)&0xff) == 8)
{
/* Echo and Echo Reply Message */
*frameptr++ = 0;
*frameptr = 0;
*frameptr = checksum(&frame[ICMP_TYPE], length);
transmitIP(length, ip0, ip1,1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -