Update Studio Integration DLL, to include package logging.
[pub/USBasp.git] / Demos / Device / ClassDriver / RNDISEthernet / Lib / TCP.h
index f27db15..6f3b1f3 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2012.
+     Copyright (C) Dean Camera, 2015.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2015  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
@@ -18,7 +18,7 @@
   advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
-  The author disclaim all warranties with regard to this
+  The author disclaims all warranties with regard to this
   software, including all implied warranties of merchantability
   and fitness.  In no event shall the author be liable for any
   special, indirect or consequential damages or any damages
@@ -91,7 +91,7 @@
                 *
                 *  \param[in] Buffer  Application buffer to check
                 *
-                *  \return Boolean true if the buffer contains a packet from the host, false otherwise
+                *  \return Boolean \c true if the buffer contains a packet from the host, \c false otherwise
                 */
                #define TCP_APP_HAS_RECEIVED_PACKET(Buffer)  (Buffer->Ready && (Buffer->Direction == TCP_PACKETDIR_IN))
 
@@ -99,7 +99,7 @@
                 *
                 *  \param[in] Buffer  Application buffer to check
                 *
-                *  \return Boolean true if the buffer has been captured by the application for device-to-host transmissions, false otherwise
+                *  \return Boolean \c true if the buffer has been captured by the application for device-to-host transmissions, \c false otherwise
                 */
                #define TCP_APP_HAVE_CAPTURED_BUFFER(Buffer) (!(Buffer->Ready) && Buffer->InUse && (Buffer->Direction == TCP_PACKETDIR_OUT))
 
                 *
                 *  \param[in] Buffer  Application buffer to check
                 *
-                *  \return Boolean true if the buffer may be captured by the application for device-to-host transmissions, false otherwise
+                *  \return Boolean \c true if the buffer may be captured by the application for device-to-host transmissions, \c false otherwise
                 */
                #define TCP_APP_CAN_CAPTURE_BUFFER(Buffer)   Buffer->InUse
 
                 *
                 *  \param[in] Buffer  Application buffer to lock
                 */
-               #define TCP_APP_CAPTURE_BUFFER(Buffer)       MACROS{ Buffer->Direction = TCP_PACKETDIR_OUT; Buffer->InUse = true; }MACROE
+               #define TCP_APP_CAPTURE_BUFFER(Buffer)       do { Buffer->Direction = TCP_PACKETDIR_OUT; Buffer->InUse = true; } while (0)
 
                /** Application macro: Releases a captured application buffer, allowing for host-to-device packets to be received.
                 *
                 *  \param[in] Buffer  Application buffer to release
                 */
-               #define TCP_APP_RELEASE_BUFFER(Buffer)       MACROS{ Buffer->InUse = false; }MACROE
+               #define TCP_APP_RELEASE_BUFFER(Buffer)       do { Buffer->InUse = false; } while (0)
 
                /** Application macro: Sends the contents of the given application buffer to the host.
                 *
                 *  \param[in] Buffer  Application buffer to send
                 *  \param[in] Len     Length of data contained in the buffer
                 */
-               #define TCP_APP_SEND_BUFFER(Buffer, Len)     MACROS{ Buffer->Direction = TCP_PACKETDIR_OUT; Buffer->Length = Len; Buffer->Ready = true; }MACROE
+               #define TCP_APP_SEND_BUFFER(Buffer, Len)     do { Buffer->Direction = TCP_PACKETDIR_OUT; Buffer->Length = Len; Buffer->Ready = true; } while (0)
 
                /** Application macro: Clears the application buffer, ready for a packet to be written to it.
                 *
                 *  \param[in] Buffer  Application buffer to clear
                 */
-               #define TCP_APP_CLEAR_BUFFER(Buffer)         MACROS{ Buffer->Ready = false; Buffer->Length = 0; }MACROE
+               #define TCP_APP_CLEAR_BUFFER(Buffer)         do { Buffer->Ready = false; Buffer->Length = 0; } while (0)
 
                /** Application macro: Closes an open connection to a host.
                 *
                 *  \param[in] Connection  Open TCP connection to close
                 */
-               #define TCP_APP_CLOSECONNECTION(Connection)  MACROS{ Connection->State = TCP_Connection_Closing;  }MACROE
+               #define TCP_APP_CLOSECONNECTION(Connection)  do { Connection->State = TCP_Connection_Closing;  } while (0)
 
        /* Enums: */
                /** Enum for possible TCP port states. */
                                                       void (*Handler)(TCP_ConnectionState_t*, TCP_ConnectionBuffer_t*));
                uint8_t               TCP_GetPortState(const uint16_t Port);
                bool                  TCP_SetConnectionState(const uint16_t Port,
-                                                            const IP_Address_t RemoteAddress,
+                                                            const IP_Address_t* RemoteAddress,
                                                             const uint16_t RemotePort,
                                                             const uint8_t State);
                uint8_t               TCP_GetConnectionState(const uint16_t Port,
-                                                            const IP_Address_t RemoteAddress,
+                                                            const IP_Address_t* RemoteAddress,
                                                             const uint16_t RemotePort);
                TCP_ConnectionInfo_t* TCP_GetConnectionInfo(const uint16_t Port,
-                                                           const IP_Address_t RemoteAddress,
+                                                           const IP_Address_t* RemoteAddress,
                                                            const uint16_t RemotePort);
                int16_t               TCP_ProcessTCPPacket(void* IPHeaderInStart,
                                                           void* TCPHeaderInStart,
 
                #if defined(INCLUDE_FROM_TCP_C)
                        static uint16_t TCP_Checksum16(void* TCPHeaderOutStart,
-                                                      const IP_Address_t SourceAddress,
-                                                                                  const IP_Address_t DestinationAddress,
+                                                      const IP_Address_t* SourceAddress,
+                                                      const IP_Address_t* DestinationAddress,
                                                       uint16_t TCPOutSize);
                #endif