www.pudn.com > 8051_pppsrc.zip > IP.H, change:2001-01-29,size:1296b


/*///////////////////////////////////////////////////////////////////////////// 
 
File Name : IP.h 
 
Author : Rene Trenado 
 
Location : Motorola Applications Lab, Baja California 
 
Date Created : September 2000 
 
Current Revision : 0.0 
 
Notes : Definitions for the IP implementation 
 
/////////////////////////////////////////////////////////////////////////////*/ 
#ifndef __IP_H 
#define __IP_H 
 
#include "Notation.h" 
 
typedef struct { 
	BYTE	Version_HLen; 
	BYTE	Service; 
   	BYTE	LengthUpper; 
	BYTE	Length; 
	WORD	ID; 
	WORD	Frag; 
	BYTE	TTL; 
	BYTE	Protocol; 
	WORD	Checksum; 
	BYTE	SourceAddress [4]; 
	BYTE	DestAddress [4]; 
	BYTE	Payload [64]; 
} IPDatagram; 
 
extern IPDatagram *ip_in; 
extern IPDatagram *ip_out; 
 
typedef enum { RAW_SERIAL = 1, SLIP, PPP, PARALLEL, ETHERNET } INTERFACE; 
 
#define TCP	0x06 
#define UDP	0x11 
#define ICMP	0x01 
 
 
#define PUSH_NONE	0x00 
#define PUSH_ICMP	0x01 
#define PUSH_UDP	0x02 
#define PUSH_TCP	0x04 
 
extern BYTE IPAddress[4]; 
 
 
////////////////////////////////////////////////////////// 
// IP Exported Functions 
////////////////////////////////////////////////////////// 
BYTE	IPCompare	(BYTE *IPOne); 
DWORD	IPCheckSum	(BYTE *Data, WORD Size); 
void	IPBindAdapter	(INTERFACE Interface); 
void	IPInit (void); 
#endif