Added const modifiers to device mode class drivers.
Added parameter directions to function parameter documentation. Added new experimental FAST_STREAM_FUNCTIONS compile time option to speed up stream transfers at the expense of a higher FLASH consumption (needs testing to verify improved throughput).
This commit is contained in:
		
							parent
							
								
									3cbdcd3686
								
							
						
					
					
						commit
						f1076ac4d6
					
				
					 115 changed files with 1031 additions and 633 deletions
				
			
		| 
						 | 
				
			
			@ -47,7 +47,7 @@
 | 
			
		|||
		 *  a single typedef struct. A macro is used instead so that functional descriptors can be created
 | 
			
		||||
		 *  easily by specifying the size of the payload. This allows sizeof() to work correctly.
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param DataSize  Size in bytes of the CDC functional descriptor's data payload
 | 
			
		||||
		 *  \param[in] DataSize  Size in bytes of the CDC functional descriptor's data payload
 | 
			
		||||
		 */		
 | 
			
		||||
		#define CDC_FUNCTIONAL_DESCRIPTOR(DataSize)        \
 | 
			
		||||
		     struct                                        \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,8 +41,8 @@
 | 
			
		|||
 *  to the output Ethernet frame if the host is requesting the IP or MAC address of the
 | 
			
		||||
 *  virtual server device on the network.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param InDataStart   Pointer to the start of the incoming packet's ARP header
 | 
			
		||||
 *  \param OutDataStart  Pointer to the start of the outgoing packet's ARP header
 | 
			
		||||
 *  \param[in] InDataStart   Pointer to the start of the incoming packet's ARP header
 | 
			
		||||
 *  \param[out] OutDataStart  Pointer to the start of the outgoing packet's ARP header
 | 
			
		||||
 *
 | 
			
		||||
 *  \return The number of bytes written to the out Ethernet frame if any, NO_RESPONSE otherwise
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,9 +40,9 @@
 | 
			
		|||
/** Processes a DHCP packet inside an Ethernet frame, and writes the appropriate response
 | 
			
		||||
 *  to the output Ethernet frame if the host is requesting or accepting an IP address.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param IPHeaderInStart     Pointer to the start of the incoming packet's IP header
 | 
			
		||||
 *  \param DHCPHeaderInStart   Pointer to the start of the incoming packet's DHCP header
 | 
			
		||||
 *  \param DHCPHeaderOutStart  Pointer to the start of the outgoing packet's DHCP header
 | 
			
		||||
 *  \param[in] IPHeaderInStart     Pointer to the start of the incoming packet's IP header
 | 
			
		||||
 *  \param[in] DHCPHeaderInStart   Pointer to the start of the incoming packet's DHCP header
 | 
			
		||||
 *  \param[out] DHCPHeaderOutStart  Pointer to the start of the outgoing packet's DHCP header
 | 
			
		||||
 *
 | 
			
		||||
 *  \return The number of bytes written to the out Ethernet frame if any, NO_RESPONSE otherwise
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -110,8 +110,8 @@ void Ethernet_ProcessPacket(Ethernet_Frame_Info_t* FrameIN, Ethernet_Frame_Info_
 | 
			
		|||
/** Calculates the appropriate ethernet checksum, consisting of the addition of the one's
 | 
			
		||||
 *  compliment of each word, complimented.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param Data   Pointer to the packet buffer data whose checksum must be calculated
 | 
			
		||||
 *  \param Bytes  Number of bytes in the data buffer to process
 | 
			
		||||
 *  \param[in] Data   Pointer to the packet buffer data whose checksum must be calculated
 | 
			
		||||
 *  \param[in] Bytes  Number of bytes in the data buffer to process
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A 16-bit Ethernet checksum value
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,8 +63,8 @@
 | 
			
		|||
	
 | 
			
		||||
		/** Performs a comparison between two MAC addresses, indicating if they are identical.
 | 
			
		||||
		 *  
 | 
			
		||||
		 *  \param MAC1  First MAC address
 | 
			
		||||
		 *  \param MAC2  Second MAC address
 | 
			
		||||
		 *  \param[in] MAC1  First MAC address
 | 
			
		||||
		 *  \param[in] MAC2  Second MAC address
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \return True if the addresses match, false otherwise
 | 
			
		||||
		 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,9 +40,9 @@
 | 
			
		|||
/** Processes an ICMP packet inside an Ethernet frame, and writes the appropriate response
 | 
			
		||||
 *  to the output Ethernet frame if the host is issuing a ICMP ECHO request.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param FrameIN  Pointer to the incomming Ethernet frame information structure
 | 
			
		||||
 *  \param InDataStart   Pointer to the start of the incoming packet's ICMP header
 | 
			
		||||
 *  \param OutDataStart  Pointer to the start of the outgoing packet's ICMP header
 | 
			
		||||
 *  \param[in] FrameIN        Pointer to the incomming Ethernet frame information structure
 | 
			
		||||
 *  \param[in] InDataStart    Pointer to the start of the incoming packet's ICMP header
 | 
			
		||||
 *  \param[out] OutDataStart  Pointer to the start of the outgoing packet's ICMP header
 | 
			
		||||
 *
 | 
			
		||||
 *  \return The number of bytes written to the out Ethernet frame if any, NO_RESPONSE otherwise
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,9 +39,9 @@
 | 
			
		|||
/** Processes an IP packet inside an Ethernet frame, and writes the appropriate response
 | 
			
		||||
 *  to the output Ethernet frame if one is created by a subprotocol handler.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param FrameIN       Pointer to the incomming Ethernet frame information structure
 | 
			
		||||
 *  \param InDataStart   Pointer to the start of the incoming packet's IP header
 | 
			
		||||
 *  \param OutDataStart  Pointer to the start of the outgoing packet's IP header
 | 
			
		||||
 *  \param[in] FrameIN        Pointer to the incomming Ethernet frame information structure
 | 
			
		||||
 *  \param[in] InDataStart    Pointer to the start of the incoming packet's IP header
 | 
			
		||||
 *  \param[out] OutDataStart  Pointer to the start of the outgoing packet's IP header
 | 
			
		||||
 *
 | 
			
		||||
 *  \return The number of bytes written to the out Ethernet frame if any, NO_RESPONSE if no
 | 
			
		||||
 *           response was generated, NO_PROCESS if the packet processing was deferred until the
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,8 +59,8 @@
 | 
			
		|||
		
 | 
			
		||||
		/** Performs a comparison between two IP addresses, indicating if they are identical.
 | 
			
		||||
		 *  
 | 
			
		||||
		 *  \param IP1  First IP address
 | 
			
		||||
		 *  \param IP2  Second IP address
 | 
			
		||||
		 *  \param[in] IP1  First IP address
 | 
			
		||||
		 *  \param[in] IP2  Second IP address
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \return True if the addresses match, false otherwise
 | 
			
		||||
		 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,7 +51,7 @@
 | 
			
		|||
 | 
			
		||||
/** Decodes an Ethernet frame header and prints its contents to through the USART in a human readable format.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param InDataStart  Pointer to the start of an Ethernet frame header
 | 
			
		||||
 *  \param[in] InDataStart  Pointer to the start of an Ethernet frame header
 | 
			
		||||
 */
 | 
			
		||||
void DecodeEthernetFrameHeader(void* InDataStart)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +93,7 @@ void DecodeEthernetFrameHeader(void* InDataStart)
 | 
			
		|||
 | 
			
		||||
/** Decodes an ARP header and prints its contents to through the USART in a human readable format.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param InDataStart  Pointer to the start of an ARP packet header
 | 
			
		||||
 *  \param[in] InDataStart  Pointer to the start of an ARP packet header
 | 
			
		||||
 */
 | 
			
		||||
void DecodeARPHeader(void* InDataStart)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -143,7 +143,7 @@ void DecodeARPHeader(void* InDataStart)
 | 
			
		|||
 | 
			
		||||
/** Decodes an IP header and prints its contents to through the USART in a human readable format.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param InDataStart  Pointer to the start of an IP packet header
 | 
			
		||||
 *  \param[in] InDataStart  Pointer to the start of an IP packet header
 | 
			
		||||
 */
 | 
			
		||||
void DecodeIPHeader(void* InDataStart)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -181,7 +181,7 @@ void DecodeIPHeader(void* InDataStart)
 | 
			
		|||
 | 
			
		||||
/** Decodes an ICMP header and prints its contents to through the USART in a human readable format.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param InDataStart  Pointer to the start of an ICMP packet header
 | 
			
		||||
 *  \param[in] InDataStart  Pointer to the start of an ICMP packet header
 | 
			
		||||
 */
 | 
			
		||||
void DecodeICMPHeader(void* InDataStart)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -197,7 +197,7 @@ void DecodeICMPHeader(void* InDataStart)
 | 
			
		|||
 | 
			
		||||
/** Decodes a TCP header and prints its contents to through the USART in a human readable format.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param InDataStart  Pointer to the start of a TCP packet header
 | 
			
		||||
 *  \param[in] InDataStart  Pointer to the start of a TCP packet header
 | 
			
		||||
 */
 | 
			
		||||
void DecodeTCPHeader(void* InDataStart)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -225,7 +225,7 @@ void DecodeTCPHeader(void* InDataStart)
 | 
			
		|||
 | 
			
		||||
/** Decodes an UDP header and prints its contents to through the USART in a human readable format.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param InDataStart  Pointer to the start of a UDP packet header
 | 
			
		||||
 *  \param[in] InDataStart  Pointer to the start of a UDP packet header
 | 
			
		||||
 */
 | 
			
		||||
void DecodeUDPHeader(void* InDataStart)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -243,7 +243,7 @@ void DecodeUDPHeader(void* InDataStart)
 | 
			
		|||
 | 
			
		||||
/** Decodes an DHCP header and prints its contents to through the USART in a human readable format.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param InDataStart  Pointer to the start of a DHCP packet header
 | 
			
		||||
 *  \param[in] InDataStart  Pointer to the start of a DHCP packet header
 | 
			
		||||
 */
 | 
			
		||||
void DecodeDHCPHeader(void* InDataStart)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -171,9 +171,9 @@ void TCP_Init(void)
 | 
			
		|||
 | 
			
		||||
/** Sets the state and callback handler of the given port, specified in big endian to the given state.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param Port     Port whose state and callback function to set, specified in big endian
 | 
			
		||||
 *  \param State    New state of the port, a value from the TCP_PortStates_t enum
 | 
			
		||||
 *  \param Handler  Application callback handler for the port
 | 
			
		||||
 *  \param[in] Port     Port whose state and callback function to set, specified in big endian
 | 
			
		||||
 *  \param[in] State    New state of the port, a value from the TCP_PortStates_t enum
 | 
			
		||||
 *  \param[in] Handler  Application callback handler for the port
 | 
			
		||||
 *
 | 
			
		||||
 *  \return Boolean true if the port state was set, false otherwise (no more space in the port state table)
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -220,7 +220,7 @@ bool TCP_SetPortState(uint16_t Port, uint8_t State, void (*Handler)(TCP_Connecti
 | 
			
		|||
 | 
			
		||||
/** Retrieves the current state of a given TCP port, specified in big endian.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param Port  TCP port whose state is to be retrieved, given in big-endian
 | 
			
		||||
 *  \param[in] Port  TCP port whose state is to be retrieved, given in big-endian
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the TCP_PortStates_t enum
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -242,10 +242,10 @@ uint8_t TCP_GetPortState(uint16_t Port)
 | 
			
		|||
/** Sets the connection state of the given port, remote address and remote port to the given TCP connection state. If the
 | 
			
		||||
 *  connection exists in the connection state table it is updated, otherwise it is created if possible.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param Port           TCP port of the connection on the device, specified in big endian
 | 
			
		||||
 *  \param RemoteAddress  Remote protocol IP address of the connected device
 | 
			
		||||
 *  \param RemotePort     TCP port of the remote device in the connection, specified in big endian
 | 
			
		||||
 *  \param State          TCP connection state, a value from the TCP_ConnectionStates_t enum
 | 
			
		||||
 *  \param[in] Port           TCP port of the connection on the device, specified in big endian
 | 
			
		||||
 *  \param[in] RemoteAddress  Remote protocol IP address of the connected device
 | 
			
		||||
 *  \param[in] RemotePort     TCP port of the remote device in the connection, specified in big endian
 | 
			
		||||
 *  \param[in] State          TCP connection state, a value from the TCP_ConnectionStates_t enum
 | 
			
		||||
 *
 | 
			
		||||
 *  \return Boolean true if the connection was updated or created, false otherwise (no more space in the connection state table)
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -283,9 +283,9 @@ bool TCP_SetConnectionState(uint16_t Port, IP_Address_t RemoteAddress, uint16_t
 | 
			
		|||
 | 
			
		||||
/** Retrieves the current state of a given TCP connection to a host.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param Port           TCP port on the device in the connection, specified in big endian
 | 
			
		||||
 *  \param RemoteAddress  Remote protocol IP address of the connected host
 | 
			
		||||
 *  \param RemotePort     Remote TCP port of the connected host, specified in big endian
 | 
			
		||||
 *  \param[in] Port           TCP port on the device in the connection, specified in big endian
 | 
			
		||||
 *  \param[in] RemoteAddress  Remote protocol IP address of the connected host
 | 
			
		||||
 *  \param[in] RemotePort     Remote TCP port of the connected host, specified in big endian
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the TCP_ConnectionStates_t enum
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -310,9 +310,9 @@ uint8_t TCP_GetConnectionState(uint16_t Port, IP_Address_t RemoteAddress, uint16
 | 
			
		|||
 | 
			
		||||
/** Retrieves the connection info structure of a given connection to a host.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param Port           TCP port on the device in the connection, specified in big endian
 | 
			
		||||
 *  \param RemoteAddress  Remote protocol IP address of the connected host
 | 
			
		||||
 *  \param RemotePort     Remote TCP port of the connected host, specified in big endian
 | 
			
		||||
 *  \param[in] Port           TCP port on the device in the connection, specified in big endian
 | 
			
		||||
 *  \param[in] RemoteAddress  Remote protocol IP address of the connected host
 | 
			
		||||
 *  \param[in] RemotePort     Remote TCP port of the connected host, specified in big endian
 | 
			
		||||
 *
 | 
			
		||||
 *  \return ConnectionInfo structure of the connection if found, NULL otherwise
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -337,9 +337,9 @@ TCP_ConnectionInfo_t* TCP_GetConnectionInfo(uint16_t Port, IP_Address_t RemoteAd
 | 
			
		|||
/** Processes a TCP packet inside an Ethernet frame, and writes the appropriate response
 | 
			
		||||
 *  to the output Ethernet frame if one is created by a application handler.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param IPHeaderInStart    Pointer to the start of the incoming packet's IP header
 | 
			
		||||
 *  \param TCPHeaderInStart   Pointer to the start of the incoming packet's TCP header
 | 
			
		||||
 *  \param TCPHeaderOutStart  Pointer to the start of the outgoing packet's TCP header
 | 
			
		||||
 *  \param[in] IPHeaderInStart     Pointer to the start of the incoming packet's IP header
 | 
			
		||||
 *  \param[in] TCPHeaderInStart    Pointer to the start of the incoming packet's TCP header
 | 
			
		||||
 *  \param[out] TCPHeaderOutStart  Pointer to the start of the outgoing packet's TCP header
 | 
			
		||||
 *
 | 
			
		||||
 *  \return The number of bytes written to the out Ethernet frame if any, NO_RESPONSE if no
 | 
			
		||||
 *           response was generated, NO_PROCESS if the packet processing was deferred until the
 | 
			
		||||
| 
						 | 
				
			
			@ -579,10 +579,10 @@ int16_t TCP_ProcessTCPPacket(void* IPHeaderInStart, void* TCPHeaderInStart, void
 | 
			
		|||
/** Calculates the appropriate TCP checksum, consisting of the addition of the one's compliment of each word,
 | 
			
		||||
 *  complimented.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param TCPHeaderOutStart  Pointer to the start of the packet's outgoing TCP header
 | 
			
		||||
 *  \param SourceAddress      Source protocol IP address of the outgoing IP header
 | 
			
		||||
 *  \param DestinationAddress Destination protocol IP address of the outgoing IP header
 | 
			
		||||
 *  \param TCPOutSize         Size in bytes of the TCP data header and payload
 | 
			
		||||
 *  \param[in] TCPHeaderOutStart   Pointer to the start of the packet's outgoing TCP header
 | 
			
		||||
 *  \param[in] SourceAddress       Source protocol IP address of the outgoing IP header
 | 
			
		||||
 *  \param[in] DestinationAddress  Destination protocol IP address of the outgoing IP header
 | 
			
		||||
 *  \param[in] TCPOutSize          Size in bytes of the TCP data header and payload
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A 16-bit TCP checksum value
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,7 +89,7 @@
 | 
			
		|||
		
 | 
			
		||||
		/** Application macro: Determines if the given application buffer contains a packet received from the host
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param Buffer  Application buffer to check
 | 
			
		||||
		 *  \param[in] Buffer  Application buffer to check
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \return Boolean true if the buffer contains a packet from the host, false otherwise
 | 
			
		||||
		 */
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +97,7 @@
 | 
			
		|||
 | 
			
		||||
		/** Application macro: Indicates if the application buffer is currently locked by the application for device-to-host transfers.
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param Buffer  Application buffer to check
 | 
			
		||||
		 *  \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
 | 
			
		||||
		 */
 | 
			
		||||
| 
						 | 
				
			
			@ -106,7 +106,7 @@
 | 
			
		|||
 | 
			
		||||
		/** Application macro: Indicates if the application can lock the buffer for multiple continued device-to-host transmissions.
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param Buffer  Application buffer to check
 | 
			
		||||
		 *  \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
 | 
			
		||||
		 */
 | 
			
		||||
| 
						 | 
				
			
			@ -117,32 +117,32 @@
 | 
			
		|||
		 *
 | 
			
		||||
		 *  \note The application must check that the buffer can be locked first using TCP_APP_CAN_CAPTURE_BUFFER().
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param Buffer  Application buffer to lock
 | 
			
		||||
		 *  \param[in] Buffer  Application buffer to lock
 | 
			
		||||
		 */
 | 
			
		||||
		#define TCP_APP_CAPTURE_BUFFER(Buffer)       MACROS{ Buffer->Direction = TCP_PACKETDIR_OUT; Buffer->InUse = true; }MACROE
 | 
			
		||||
 | 
			
		||||
		/** Application macro: Releases a captured application buffer, allowing for host-to-device packets to be received.
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param Buffer  Application buffer to release
 | 
			
		||||
		 *  \param[in] Buffer  Application buffer to release
 | 
			
		||||
		 */
 | 
			
		||||
		#define TCP_APP_RELEASE_BUFFER(Buffer)       MACROS{ Buffer->InUse = false; }MACROE
 | 
			
		||||
 | 
			
		||||
		/** Application macro: Sends the contents of the given application buffer to the host.
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param Buffer  Application buffer to send
 | 
			
		||||
		 *  \param Len     Length of data contained in the buffer
 | 
			
		||||
		 *  \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
 | 
			
		||||
 | 
			
		||||
		/** Application macro: Clears the application buffer, ready for a packet to be written to it.
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param Buffer  Application buffer to clear
 | 
			
		||||
		 *  \param[in] Buffer  Application buffer to clear
 | 
			
		||||
		 */
 | 
			
		||||
		#define TCP_APP_CLEAR_BUFFER(Buffer)         MACROS{ Buffer->Ready = false; Buffer->Length = 0; }MACROE
 | 
			
		||||
		
 | 
			
		||||
		/** Application macro: Closes an open connection to a host.
 | 
			
		||||
		 *
 | 
			
		||||
		 *  \param Connection  Open TCP connection to close
 | 
			
		||||
		 *  \param[in] Connection  Open TCP connection to close
 | 
			
		||||
		 */
 | 
			
		||||
		#define TCP_APP_CLOSECONNECTION(Connection)  MACROS{ Connection->State = TCP_Connection_Closing;  }MACROE
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,9 +40,9 @@
 | 
			
		|||
/** Processes a UDP packet inside an Ethernet frame, and writes the appropriate response
 | 
			
		||||
 *  to the output Ethernet frame if a subprotocol handler has created a response packet.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param IPHeaderInStart    Pointer to the start of the incoming packet's IP header
 | 
			
		||||
 *  \param UDPHeaderInStart   Pointer to the start of the incoming packet's UDP header
 | 
			
		||||
 *  \param UDPHeaderOutStart  Pointer to the start of the outgoing packet's UDP header
 | 
			
		||||
 *  \param[in] IPHeaderInStart     Pointer to the start of the incoming packet's IP header
 | 
			
		||||
 *  \param[in] UDPHeaderInStart    Pointer to the start of the incoming packet's UDP header
 | 
			
		||||
 *  \param[out] UDPHeaderOutStart  Pointer to the start of the outgoing packet's UDP header
 | 
			
		||||
 *
 | 
			
		||||
 *  \return The number of bytes written to the out Ethernet frame if any, NO_RESPONSE otherwise
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,8 +78,8 @@ void Webserver_Init(void)
 | 
			
		|||
 | 
			
		||||
/** Indicates if a given request equals the given HTTP command.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param RequestHeader  HTTP request made by the host
 | 
			
		||||
 *  \param Command        HTTP command to compare the request to
 | 
			
		||||
 *  \param[in] RequestHeader  HTTP request made by the host
 | 
			
		||||
 *  \param[in] Command        HTTP command to compare the request to
 | 
			
		||||
 *
 | 
			
		||||
 *  \return Boolean true if the command matches the request, false otherwise
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -92,8 +92,8 @@ static bool IsHTTPCommand(uint8_t* RequestHeader, char* Command)
 | 
			
		|||
/** Application callback routine, executed each time the TCP processing task runs. This callback determines what request
 | 
			
		||||
 *  has been made (if any), and serves up appropriate responses.
 | 
			
		||||
 *
 | 
			
		||||
 *  \param ConnectionState  Pointer to a TCP Connection State structure giving connection information
 | 
			
		||||
 *  \param Buffer           Pointer to the application's send/receive packet buffer
 | 
			
		||||
 *  \param[in] ConnectionState  Pointer to a TCP Connection State structure giving connection information
 | 
			
		||||
 *  \param[in,out] Buffer       Pointer to the application's send/receive packet buffer
 | 
			
		||||
 */
 | 
			
		||||
void Webserver_ApplicationCallback(TCP_ConnectionState_t* ConnectionState, TCP_ConnectionBuffer_t* Buffer)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue