/*
              LUFA Library
-     Copyright (C) Dean Camera, 2010.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 void Ethernet_ProcessPacket(Ethernet_Frame_Info_t* const FrameIN,
                             Ethernet_Frame_Info_t* const FrameOUT)
 {
-       DecodeEthernetFrameHeader(FrameIN);
+       DecodeEthernetFrameHeader(FrameIN->FrameData);
 
        /* Cast the incoming Ethernet frame to the Ethernet header type */
        Ethernet_Frame_Header_t* FrameINHeader  = (Ethernet_Frame_Header_t*)&FrameIN->FrameData;
 
                        /* Set the response length in the buffer and indicate that a response is ready to be sent */
                        FrameOUT->FrameLength           = (sizeof(Ethernet_Frame_Header_t) + RetSize);
-                       FrameOUT->FrameInBuffer         = true;
                }
        }
 
        if (RetSize != NO_PROCESS)
        {
                /* Clear the frame buffer */
-               FrameIN->FrameInBuffer = false;
+               FrameIN->FrameLength = 0;
        }
 }