X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/071e02c6b6b4837fa9cf0b6d4c749994e02638d7..77a9df36a77d2523dd2bc24fa17f9f04c6c175c5:/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.c diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.c b/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.c index 078f5b58f..c2136766a 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.c +++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.c @@ -1,21 +1,21 @@ /* LUFA Library - Copyright (C) Dean Camera, 2010. - + Copyright (C) Dean Camera, 2011. + dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com + www.lufa-lib.org */ /* - Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, distribute, and sell this + Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in + without fee, provided that the above copyright notice appear in all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the software without specific, written prior permission. The author disclaim all warranties with regard to this @@ -33,7 +33,7 @@ * Internet Protocol (IP) packet handling routines. This protocol handles IP packets from the * host which typically encapsulate other protocols such as ICMP, UDP and TCP. */ - + #include "IP.h" /** Processes an IP packet inside an Ethernet frame, and writes the appropriate response @@ -46,7 +46,8 @@ * response was generated, NO_PROCESS if the packet processing was deferred until the * next Ethernet packet handler iteration */ -int16_t IP_ProcessIPPacket(void* InDataStart, void* OutDataStart) +int16_t IP_ProcessIPPacket(void* InDataStart, + void* OutDataStart) { DecodeIPHeader(InDataStart); @@ -64,7 +65,7 @@ int16_t IP_ProcessIPPacket(void* InDataStart, void* OutDataStart) { return NO_RESPONSE; } - + /* Pass off the IP payload to the appropriate protocol processing routine */ switch (IPHeaderIN->Protocol) { @@ -75,15 +76,15 @@ int16_t IP_ProcessIPPacket(void* InDataStart, void* OutDataStart) case PROTOCOL_TCP: RetSize = TCP_ProcessTCPPacket(InDataStart, &((uint8_t*)InDataStart)[HeaderLengthBytes], - &((uint8_t*)OutDataStart)[sizeof(IP_Header_t)]); + &((uint8_t*)OutDataStart)[sizeof(IP_Header_t)]); break; case PROTOCOL_UDP: RetSize = UDP_ProcessUDPPacket(InDataStart, &((uint8_t*)InDataStart)[HeaderLengthBytes], - &((uint8_t*)OutDataStart)[sizeof(IP_Header_t)]); + &((uint8_t*)OutDataStart)[sizeof(IP_Header_t)]); break; } - + /* Check to see if the protocol processing routine has filled out a response */ if (RetSize > 0) { @@ -100,12 +101,13 @@ int16_t IP_ProcessIPPacket(void* InDataStart, void* OutDataStart) IPHeaderOUT->TTL = DEFAULT_TTL; IPHeaderOUT->SourceAddress = IPHeaderIN->DestinationAddress; IPHeaderOUT->DestinationAddress = IPHeaderIN->SourceAddress; - + IPHeaderOUT->HeaderChecksum = Ethernet_Checksum16(IPHeaderOUT, sizeof(IP_Header_t)); - + /* Return the size of the response so far */ return (sizeof(IP_Header_t) + RetSize); } - + return RetSize; } +