Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda
This commit is contained in:
		
							parent
							
								
									a8871c7fba
								
							
						
					
					
						commit
						5a4def7478
					
				
					 760 changed files with 12883 additions and 12164 deletions
				
			
		| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
             LUFA Library
 | 
			
		||||
     Copyright (C) Dean Camera, 2010.
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
  dean [at] fourwalledcubicle [dot] com
 | 
			
		||||
      www.fourwalledcubicle.com
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			@ -9,13 +9,13 @@
 | 
			
		|||
/*
 | 
			
		||||
  Copyright 2010  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
 | 
			
		||||
| 
						 | 
				
			
			@ -34,7 +34,7 @@
 | 
			
		|||
 *  needed to communication with an attached USB device. Descriptors are special  computer-readable structures
 | 
			
		||||
 *  which the host requests upon device enumeration, to determine the device's capabilities and functions.
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
#include "ConfigDescriptor.h"
 | 
			
		||||
 | 
			
		||||
/** Reads and processes an attached device's descriptors, to determine compatibility and pipe configurations. This
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +50,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
	uint8_t  ConfigDescriptorData[512];
 | 
			
		||||
	void*    CurrConfigLocation = ConfigDescriptorData;
 | 
			
		||||
	uint16_t CurrConfigBytesRem;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	USB_Descriptor_Interface_t* RNDISControlInterface  = NULL;
 | 
			
		||||
	USB_Descriptor_Endpoint_t*  DataINEndpoint         = NULL;
 | 
			
		||||
	USB_Descriptor_Endpoint_t*  DataOUTEndpoint        = NULL;
 | 
			
		||||
| 
						 | 
				
			
			@ -85,7 +85,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
				{
 | 
			
		||||
					/* Descriptor not found, error out */
 | 
			
		||||
					return NoCompatibleInterfaceFound;
 | 
			
		||||
				}			
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				/* Clear any found endpoints */
 | 
			
		||||
				DataINEndpoint       = NULL;
 | 
			
		||||
| 
						 | 
				
			
			@ -111,7 +111,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
			/* Skip the remainder of the loop as we have not found an endpoint yet */
 | 
			
		||||
			continue;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		/* Retrieve the endpoint address from the endpoint descriptor */
 | 
			
		||||
		USB_Descriptor_Endpoint_t* EndpointData = DESCRIPTOR_PCAST(CurrConfigLocation, USB_Descriptor_Endpoint_t);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -129,7 +129,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
			DataOUTEndpoint = EndpointData;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	/* Configure the RNDIS data IN pipe */
 | 
			
		||||
	Pipe_ConfigurePipe(RNDIS_DATA_IN_PIPE, EP_TYPE_BULK, PIPE_TOKEN_IN,
 | 
			
		||||
	                   DataINEndpoint->EndpointAddress, DataINEndpoint->EndpointSize, PIPE_BANK_SINGLE);
 | 
			
		||||
| 
						 | 
				
			
			@ -167,7 +167,7 @@ uint8_t DComp_NextCDCControlInterface(void* CurrentDescriptor)
 | 
			
		|||
			return DESCRIPTOR_SEARCH_Found;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	return DESCRIPTOR_SEARCH_NotFound;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -191,7 +191,7 @@ uint8_t DComp_NextCDCDataInterface(void* CurrentDescriptor)
 | 
			
		|||
			return DESCRIPTOR_SEARCH_Found;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	return DESCRIPTOR_SEARCH_NotFound;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -211,7 +211,7 @@ uint8_t DComp_NextCDCDataInterfaceEndpoint(void* CurrentDescriptor)
 | 
			
		|||
	{
 | 
			
		||||
		uint8_t EndpointType = (DESCRIPTOR_CAST(CurrentDescriptor,
 | 
			
		||||
		                                        USB_Descriptor_Endpoint_t).Attributes & EP_TYPE_MASK);
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		if ((EndpointType == EP_TYPE_BULK) || (EndpointType == EP_TYPE_INTERRUPT))
 | 
			
		||||
		  return DESCRIPTOR_SEARCH_Found;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -222,3 +222,4 @@ uint8_t DComp_NextCDCDataInterfaceEndpoint(void* CurrentDescriptor)
 | 
			
		|||
 | 
			
		||||
	return DESCRIPTOR_SEARCH_NotFound;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
             LUFA Library
 | 
			
		||||
     Copyright (C) Dean Camera, 2010.
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
  dean [at] fourwalledcubicle [dot] com
 | 
			
		||||
      www.fourwalledcubicle.com
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			@ -9,13 +9,13 @@
 | 
			
		|||
/*
 | 
			
		||||
  Copyright 2010  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
 | 
			
		||||
| 
						 | 
				
			
			@ -38,9 +38,9 @@
 | 
			
		|||
 | 
			
		||||
	/* Includes: */
 | 
			
		||||
		#include <LUFA/Drivers/USB/USB.h>
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		#include "RNDISEthernetHost.h"
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
	/* Macros: */
 | 
			
		||||
		/** Interface Class value for the CDC class. */
 | 
			
		||||
		#define CDC_CONTROL_CLASS              0x02
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +50,7 @@
 | 
			
		|||
 | 
			
		||||
		/** Interface Class value for the CDC RNDIS vendor specific protocol. */
 | 
			
		||||
		#define CDC_CONTROL_PROTOCOL           0xFF
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		/** Interface Class value for the CDC data class. */
 | 
			
		||||
		#define CDC_DATA_CLASS                 0x0A
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -59,7 +59,7 @@
 | 
			
		|||
 | 
			
		||||
		/** Interface Class value for the CDC data protocol. */
 | 
			
		||||
		#define CDC_DATA_PROTOCOL              0x00
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		/** Pipe number for the RNDIS data IN pipe. */
 | 
			
		||||
		#define RNDIS_DATA_IN_PIPE             1
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -81,10 +81,11 @@
 | 
			
		|||
		};
 | 
			
		||||
 | 
			
		||||
	/* Function Prototypes: */
 | 
			
		||||
		uint8_t ProcessConfigurationDescriptor(void);	
 | 
			
		||||
		
 | 
			
		||||
		uint8_t ProcessConfigurationDescriptor(void);
 | 
			
		||||
 | 
			
		||||
		uint8_t DComp_NextCDCControlInterface(void* CurrentDescriptor);
 | 
			
		||||
		uint8_t DComp_NextCDCDataInterface(void* CurrentDescriptor);
 | 
			
		||||
		uint8_t DComp_NextCDCDataInterfaceEndpoint(void* CurrentDescriptor);
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
             LUFA Library
 | 
			
		||||
     Copyright (C) Dean Camera, 2010.
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
  dean [at] fourwalledcubicle [dot] com
 | 
			
		||||
      www.fourwalledcubicle.com
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			@ -9,13 +9,13 @@
 | 
			
		|||
/*
 | 
			
		||||
  Copyright 2010  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
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,7 @@ uint8_t RNDIS_GetEncapsulatedResponse(void* const Buffer,
 | 
			
		|||
			.wIndex        = 0,
 | 
			
		||||
			.wLength       = Length,
 | 
			
		||||
		};
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	/* Select the control pipe for the request transfer */
 | 
			
		||||
	Pipe_SelectPipe(PIPE_CONTROLPIPE);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -102,7 +102,7 @@ uint8_t RNDIS_SendKeepAlive(void)
 | 
			
		|||
 | 
			
		||||
	RNDIS_KeepAlive_Message_t  KeepAliveMessage;
 | 
			
		||||
	RNDIS_KeepAlive_Complete_t KeepAliveMessageResponse;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	KeepAliveMessage.MessageType     = REMOTE_NDIS_KEEPALIVE_MSG;
 | 
			
		||||
	KeepAliveMessage.MessageLength   = sizeof(RNDIS_KeepAlive_Message_t);
 | 
			
		||||
	KeepAliveMessage.RequestId       = RequestID++;
 | 
			
		||||
| 
						 | 
				
			
			@ -112,13 +112,13 @@ uint8_t RNDIS_SendKeepAlive(void)
 | 
			
		|||
	{
 | 
			
		||||
		return ErrorCode;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if ((ErrorCode = RNDIS_GetEncapsulatedResponse(&KeepAliveMessageResponse,
 | 
			
		||||
	                                               sizeof(RNDIS_KeepAlive_Complete_t))) != HOST_SENDCONTROL_Successful)
 | 
			
		||||
	{
 | 
			
		||||
		return ErrorCode;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	return HOST_SENDCONTROL_Successful;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -145,13 +145,13 @@ uint8_t RNDIS_InitializeDevice(const uint16_t HostMaxPacketSize,
 | 
			
		|||
	InitMessage.MajorVersion    = REMOTE_NDIS_VERSION_MAJOR;
 | 
			
		||||
	InitMessage.MinorVersion    = REMOTE_NDIS_VERSION_MINOR;
 | 
			
		||||
	InitMessage.MaxTransferSize = HostMaxPacketSize;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if ((ErrorCode = RNDIS_SendEncapsulatedCommand(&InitMessage,
 | 
			
		||||
	                                               sizeof(RNDIS_Initialize_Message_t))) != HOST_SENDCONTROL_Successful)
 | 
			
		||||
	{
 | 
			
		||||
		return ErrorCode;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if ((ErrorCode = RNDIS_GetEncapsulatedResponse(&InitMessageResponse,
 | 
			
		||||
	                                               sizeof(RNDIS_Initialize_Complete_t))) != HOST_SENDCONTROL_Successful)
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			@ -160,9 +160,9 @@ uint8_t RNDIS_InitializeDevice(const uint16_t HostMaxPacketSize,
 | 
			
		|||
 | 
			
		||||
	if (InitMessageResponse.Status != REMOTE_NDIS_STATUS_SUCCESS)
 | 
			
		||||
	  return RNDIS_COMMAND_FAILED;
 | 
			
		||||
	  
 | 
			
		||||
 | 
			
		||||
	*DeviceMaxPacketSize = InitMessageResponse.MaxTransferSize;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	return HOST_SENDCONTROL_Successful;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -186,18 +186,18 @@ uint8_t RNDIS_SetRNDISProperty(const uint32_t Oid,
 | 
			
		|||
		RNDIS_Set_Message_t SetMessage;
 | 
			
		||||
		uint8_t             ContiguousBuffer[Length];
 | 
			
		||||
	} SetMessageData;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	RNDIS_Set_Complete_t SetMessageResponse;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	SetMessageData.SetMessage.MessageType    = REMOTE_NDIS_SET_MSG;
 | 
			
		||||
	SetMessageData.SetMessage.MessageLength  = sizeof(RNDIS_Set_Message_t) + Length;
 | 
			
		||||
	SetMessageData.SetMessage.RequestId      = RequestID++;
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
	SetMessageData.SetMessage.Oid            = Oid;
 | 
			
		||||
	SetMessageData.SetMessage.InformationBufferLength = Length;
 | 
			
		||||
	SetMessageData.SetMessage.InformationBufferOffset = (sizeof(RNDIS_Set_Message_t) - sizeof(RNDIS_Message_Header_t));
 | 
			
		||||
	SetMessageData.SetMessage.DeviceVcHandle = 0;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	memcpy(&SetMessageData.ContiguousBuffer, Buffer, Length);
 | 
			
		||||
 | 
			
		||||
	if ((ErrorCode = RNDIS_SendEncapsulatedCommand(&SetMessageData,
 | 
			
		||||
| 
						 | 
				
			
			@ -205,7 +205,7 @@ uint8_t RNDIS_SetRNDISProperty(const uint32_t Oid,
 | 
			
		|||
	{
 | 
			
		||||
		return ErrorCode;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if ((ErrorCode = RNDIS_GetEncapsulatedResponse(&SetMessageResponse,
 | 
			
		||||
	                                               sizeof(RNDIS_Set_Complete_t))) != HOST_SENDCONTROL_Successful)
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			@ -214,7 +214,7 @@ uint8_t RNDIS_SetRNDISProperty(const uint32_t Oid,
 | 
			
		|||
 | 
			
		||||
	if (SetMessageResponse.Status != REMOTE_NDIS_STATUS_SUCCESS)
 | 
			
		||||
	  return RNDIS_COMMAND_FAILED;
 | 
			
		||||
	  
 | 
			
		||||
 | 
			
		||||
	return HOST_SENDCONTROL_Successful;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -244,7 +244,7 @@ uint8_t RNDIS_QueryRNDISProperty(const uint32_t Oid,
 | 
			
		|||
	QueryMessage.MessageType    = REMOTE_NDIS_QUERY_MSG;
 | 
			
		||||
	QueryMessage.MessageLength  = sizeof(RNDIS_Query_Message_t);
 | 
			
		||||
	QueryMessage.RequestId      = RequestID++;
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
	QueryMessage.Oid            = Oid;
 | 
			
		||||
	QueryMessage.InformationBufferLength = 0;
 | 
			
		||||
	QueryMessage.InformationBufferOffset = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -255,7 +255,7 @@ uint8_t RNDIS_QueryRNDISProperty(const uint32_t Oid,
 | 
			
		|||
	{
 | 
			
		||||
		return ErrorCode;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if ((ErrorCode = RNDIS_GetEncapsulatedResponse(&QueryMessageResponseData,
 | 
			
		||||
	                                               sizeof(QueryMessageResponseData))) != HOST_SENDCONTROL_Successful)
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			@ -284,7 +284,7 @@ uint8_t RNDIS_GetPacketLength(uint16_t* const PacketLength)
 | 
			
		|||
	Pipe_SelectPipe(RNDIS_DATA_IN_PIPE);
 | 
			
		||||
	Pipe_SetPipeToken(PIPE_TOKEN_IN);
 | 
			
		||||
	Pipe_Unfreeze();
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if (!(Pipe_IsReadWriteAllowed()))
 | 
			
		||||
	{
 | 
			
		||||
		*PacketLength = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -293,17 +293,18 @@ uint8_t RNDIS_GetPacketLength(uint16_t* const PacketLength)
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	RNDIS_Packet_Message_t DeviceMessage;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if ((ErrorCode = Pipe_Read_Stream_LE(&DeviceMessage, sizeof(RNDIS_Packet_Message_t))) != PIPE_RWSTREAM_NoError)
 | 
			
		||||
	{
 | 
			
		||||
		return ErrorCode;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	*PacketLength = (uint16_t)DeviceMessage.DataLength;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	Pipe_Discard_Stream(DeviceMessage.DataOffset - (sizeof(RNDIS_Packet_Message_t) - sizeof(RNDIS_Message_Header_t)));
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	Pipe_Freeze();
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	return PIPE_RWSTREAM_NoError;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
             LUFA Library
 | 
			
		||||
     Copyright (C) Dean Camera, 2010.
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
  dean [at] fourwalledcubicle [dot] com
 | 
			
		||||
      www.fourwalledcubicle.com
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			@ -9,13 +9,13 @@
 | 
			
		|||
/*
 | 
			
		||||
  Copyright 2010  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
 | 
			
		||||
| 
						 | 
				
			
			@ -40,9 +40,9 @@
 | 
			
		|||
		#include <avr/io.h>
 | 
			
		||||
		#include <stdio.h>
 | 
			
		||||
		#include <string.h>
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		#include <LUFA/Drivers/USB/USB.h>
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		#include "RNDISConstants.h"
 | 
			
		||||
		#include "../RNDISEthernetHost.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -69,19 +69,19 @@
 | 
			
		|||
			uint32_t VcHandle;
 | 
			
		||||
			uint32_t Reserved;
 | 
			
		||||
		} RNDIS_Packet_Message_t;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		/** Type define for a RNDIS Initialize command message. */
 | 
			
		||||
		typedef struct
 | 
			
		||||
		{
 | 
			
		||||
			uint32_t MessageType;
 | 
			
		||||
			uint32_t MessageLength;
 | 
			
		||||
			uint32_t RequestId;
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			uint32_t MajorVersion;
 | 
			
		||||
			uint32_t MinorVersion;
 | 
			
		||||
			uint32_t MaxTransferSize;
 | 
			
		||||
		} RNDIS_Initialize_Message_t;
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		/** Type define for a RNDIS Initialize complete response message. */
 | 
			
		||||
		typedef struct
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +89,7 @@
 | 
			
		|||
			uint32_t MessageLength;
 | 
			
		||||
			uint32_t RequestId;
 | 
			
		||||
			uint32_t Status;
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			uint32_t MajorVersion;
 | 
			
		||||
			uint32_t MinorVersion;
 | 
			
		||||
			uint32_t DeviceFlags;
 | 
			
		||||
| 
						 | 
				
			
			@ -100,7 +100,7 @@
 | 
			
		|||
			uint32_t AFListOffset;
 | 
			
		||||
			uint32_t AFListSize;
 | 
			
		||||
		} RNDIS_Initialize_Complete_t;
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		/** Type define for a RNDIS Keep-alive command message. */
 | 
			
		||||
		typedef struct
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			@ -127,14 +127,14 @@
 | 
			
		|||
 | 
			
		||||
			uint32_t AddressingReset;
 | 
			
		||||
		} RNDIS_Reset_Complete_t;
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		/** Type define for a RNDIS Set command message. */
 | 
			
		||||
		typedef struct
 | 
			
		||||
		{
 | 
			
		||||
			uint32_t MessageType;
 | 
			
		||||
			uint32_t MessageLength;
 | 
			
		||||
			uint32_t RequestId;
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			uint32_t Oid;
 | 
			
		||||
			uint32_t InformationBufferLength;
 | 
			
		||||
			uint32_t InformationBufferOffset;
 | 
			
		||||
| 
						 | 
				
			
			@ -149,20 +149,20 @@
 | 
			
		|||
			uint32_t RequestId;
 | 
			
		||||
			uint32_t Status;
 | 
			
		||||
		} RNDIS_Set_Complete_t;
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		/** Type define for a RNDIS Query command message. */
 | 
			
		||||
		typedef struct
 | 
			
		||||
		{
 | 
			
		||||
			uint32_t MessageType;
 | 
			
		||||
			uint32_t MessageLength;
 | 
			
		||||
			uint32_t RequestId;
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			uint32_t Oid;
 | 
			
		||||
			uint32_t InformationBufferLength;
 | 
			
		||||
			uint32_t InformationBufferOffset;
 | 
			
		||||
			uint32_t DeviceVcHandle;
 | 
			
		||||
		} RNDIS_Query_Message_t;
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		/** Type define for a RNDIS Query complete response message. */
 | 
			
		||||
		typedef struct
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			@ -170,7 +170,7 @@
 | 
			
		|||
			uint32_t MessageLength;
 | 
			
		||||
			uint32_t RequestId;
 | 
			
		||||
			uint32_t Status;
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			uint32_t InformationBufferLength;
 | 
			
		||||
			uint32_t InformationBufferOffset;
 | 
			
		||||
		} RNDIS_Query_Complete_t;
 | 
			
		||||
| 
						 | 
				
			
			@ -187,7 +187,7 @@
 | 
			
		|||
 | 
			
		||||
		/** Implemented RNDIS Version Minor. */
 | 
			
		||||
		#define REMOTE_NDIS_VERSION_MINOR             0x00
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		/** Additional error code for RNDIS functions when a device returns a logical command failure. */
 | 
			
		||||
		#define RNDIS_COMMAND_FAILED                  0xC0
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -209,3 +209,4 @@
 | 
			
		|||
		uint8_t RNDIS_GetPacketLength(uint16_t* const PacketLength);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
             LUFA Library
 | 
			
		||||
     Copyright (C) Dean Camera, 2010.
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
  dean [at] fourwalledcubicle [dot] com
 | 
			
		||||
      www.fourwalledcubicle.com
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			@ -9,13 +9,13 @@
 | 
			
		|||
/*
 | 
			
		||||
  Copyright 2010  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 @@
 | 
			
		|||
 *  RNDIS specification related constants. For more information on these
 | 
			
		||||
 *  constants, please refer to the Microsoft RNDIS specification.
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
#ifndef _RNDIS_CONSTANTS_DEVICE_H_
 | 
			
		||||
#define _RNDIS_CONSTANTS_DEVICE_H_
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -52,19 +52,19 @@
 | 
			
		|||
		#define REMOTE_NDIS_SET_CMPLT                 0x80000005UL
 | 
			
		||||
		#define REMOTE_NDIS_RESET_CMPLT               0x80000006UL
 | 
			
		||||
		#define REMOTE_NDIS_KEEPALIVE_CMPLT           0x80000008UL
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		#define REMOTE_NDIS_STATUS_SUCCESS            0x00000000UL
 | 
			
		||||
		#define REMOTE_NDIS_STATUS_FAILURE            0xC0000001UL
 | 
			
		||||
		#define REMOTE_NDIS_STATUS_INVALID_DATA       0xC0010015UL
 | 
			
		||||
		#define REMOTE_NDIS_STATUS_NOT_SUPPORTED      0xC00000BBUL
 | 
			
		||||
		#define REMOTE_NDIS_STATUS_MEDIA_CONNECT      0x4001000BUL
 | 
			
		||||
		#define REMOTE_NDIS_STATUS_MEDIA_DISCONNECT   0x4001000CUL
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		#define REMOTE_NDIS_MEDIA_STATE_CONNECTED     0x00000000UL
 | 
			
		||||
		#define REMOTE_NDIS_MEDIA_STATE_DISCONNECTED  0x00000001UL
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		#define REMOTE_NDIS_MEDIUM_802_3              0x00000000UL
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		#define REMOTE_NDIS_DF_CONNECTIONLESS	      0x00000001UL
 | 
			
		||||
		#define REMOTE_NDIS_DF_CONNECTION_ORIENTED    0x00000002UL
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -79,8 +79,8 @@
 | 
			
		|||
		#define REMOTE_NDIS_PACKET_GROUP              0x00001000UL
 | 
			
		||||
		#define REMOTE_NDIS_PACKET_ALL_FUNCTIONAL     0x00002000UL
 | 
			
		||||
		#define REMOTE_NDIS_PACKET_FUNCTIONAL         0x00004000UL
 | 
			
		||||
		#define REMOTE_NDIS_PACKET_MAC_FRAME          0x00008000UL	
 | 
			
		||||
		
 | 
			
		||||
		#define REMOTE_NDIS_PACKET_MAC_FRAME          0x00008000UL
 | 
			
		||||
 | 
			
		||||
		#define OID_GEN_SUPPORTED_LIST                0x00010101UL
 | 
			
		||||
		#define OID_GEN_HARDWARE_STATUS               0x00010102UL
 | 
			
		||||
		#define OID_GEN_MEDIA_SUPPORTED               0x00010103UL
 | 
			
		||||
| 
						 | 
				
			
			@ -110,3 +110,4 @@
 | 
			
		|||
		#define OID_802_3_XMIT_MORE_COLLISIONS        0x01020103UL
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
             LUFA Library
 | 
			
		||||
     Copyright (C) Dean Camera, 2010.
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
  dean [at] fourwalledcubicle [dot] com
 | 
			
		||||
      www.fourwalledcubicle.com
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			@ -9,13 +9,13 @@
 | 
			
		|||
/*
 | 
			
		||||
  Copyright 2010  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 @@
 | 
			
		|||
 *  Main source file for the RNDISEthernetHost demo. This file contains the main tasks of
 | 
			
		||||
 *  the demo and is responsible for the initial application hardware configuration.
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
#include "RNDISEthernetHost.h"
 | 
			
		||||
 | 
			
		||||
/** Main program entry point. This routine configures the hardware required by the application, then
 | 
			
		||||
| 
						 | 
				
			
			@ -119,7 +119,7 @@ void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode,
 | 
			
		|||
	                         " -- Error Code %d\r\n"
 | 
			
		||||
	                         " -- Sub Error Code %d\r\n"
 | 
			
		||||
	                         " -- In State %d\r\n" ESC_FG_WHITE), ErrorCode, SubErrorCode, USB_HostState);
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -133,13 +133,13 @@ void PrintIncomingPackets(void)
 | 
			
		|||
	if ((ErrorCode = RNDIS_GetPacketLength(&PacketLength)) != HOST_SENDCONTROL_Successful)
 | 
			
		||||
	{
 | 
			
		||||
		printf_P(PSTR(ESC_FG_RED "Packet Reception Error.\r\n"
 | 
			
		||||
								 " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);		
 | 
			
		||||
								 " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if (!(PacketLength))
 | 
			
		||||
	  return;
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	Pipe_Unfreeze();
 | 
			
		||||
 | 
			
		||||
	printf_P(PSTR("***PACKET (Size %d)***\r\n"), PacketLength);
 | 
			
		||||
| 
						 | 
				
			
			@ -152,13 +152,13 @@ void PrintIncomingPackets(void)
 | 
			
		|||
	else
 | 
			
		||||
	{
 | 
			
		||||
		uint8_t PacketBuffer[PacketLength];
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		Pipe_Read_Stream_LE(&PacketBuffer, PacketLength);
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		for (uint16_t i = 0; i < PacketLength; i++)
 | 
			
		||||
		  printf("0x%02x ", PacketBuffer[i]);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	Pipe_ClearIN();
 | 
			
		||||
	Pipe_Freeze();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -178,7 +178,7 @@ void RNDIS_Host_Task(void)
 | 
			
		|||
	{
 | 
			
		||||
		case HOST_STATE_Addressed:
 | 
			
		||||
			puts_P(PSTR("Getting Config Data.\r\n"));
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
			/* Get and process the configuration descriptor data */
 | 
			
		||||
			if ((ErrorCode = ProcessConfigurationDescriptor()) != SuccessfulConfigRead)
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			@ -188,7 +188,7 @@ void RNDIS_Host_Task(void)
 | 
			
		|||
				  puts_P(PSTR(ESC_FG_RED "Invalid Device.\r\n"));
 | 
			
		||||
 | 
			
		||||
				printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
				/* Indicate error via status LEDs */
 | 
			
		||||
				LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -196,7 +196,7 @@ void RNDIS_Host_Task(void)
 | 
			
		|||
				USB_HostState = HOST_STATE_WaitForDeviceRemoval;
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			/* Set the device configuration to the first configuration (rarely do devices use multiple configurations) */
 | 
			
		||||
			if ((ErrorCode = USB_Host_SetDeviceConfiguration(1)) != HOST_SENDCONTROL_Successful)
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			@ -210,7 +210,7 @@ void RNDIS_Host_Task(void)
 | 
			
		|||
				USB_HostState = HOST_STATE_WaitForDeviceRemoval;
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			uint16_t DeviceMaxPacketSize;
 | 
			
		||||
			if ((ErrorCode = RNDIS_InitializeDevice(1024, &DeviceMaxPacketSize)) != HOST_SENDCONTROL_Successful)
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			@ -222,11 +222,11 @@ void RNDIS_Host_Task(void)
 | 
			
		|||
 | 
			
		||||
				/* Wait until USB device disconnected */
 | 
			
		||||
				USB_HostState = HOST_STATE_WaitForDeviceRemoval;
 | 
			
		||||
				break;			
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			printf_P(PSTR("Device Max Transfer Size: %lu bytes.\r\n"), DeviceMaxPacketSize);
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			/* We set the default filter to only receive packets we would be interested in */
 | 
			
		||||
			uint32_t PacketFilter = (REMOTE_NDIS_PACKET_DIRECTED | REMOTE_NDIS_PACKET_BROADCAST | REMOTE_NDIS_PACKET_ALL_MULTICAST);
 | 
			
		||||
			if ((ErrorCode = RNDIS_SetRNDISProperty(OID_GEN_CURRENT_PACKET_FILTER,
 | 
			
		||||
| 
						 | 
				
			
			@ -242,7 +242,7 @@ void RNDIS_Host_Task(void)
 | 
			
		|||
				USB_HostState = HOST_STATE_WaitForDeviceRemoval;
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			uint32_t VendorID;
 | 
			
		||||
			if ((ErrorCode = RNDIS_QueryRNDISProperty(OID_GEN_VENDOR_ID,
 | 
			
		||||
			                                          &VendorID, sizeof(VendorID))) != HOST_SENDCONTROL_Successful)
 | 
			
		||||
| 
						 | 
				
			
			@ -257,16 +257,16 @@ void RNDIS_Host_Task(void)
 | 
			
		|||
				USB_HostState = HOST_STATE_WaitForDeviceRemoval;
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			printf_P(PSTR("Device Vendor ID: 0x%08lX\r\n"), VendorID);
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			puts_P(PSTR("RNDIS Device Enumerated.\r\n"));
 | 
			
		||||
 | 
			
		||||
			USB_HostState = HOST_STATE_Configured;
 | 
			
		||||
			break;
 | 
			
		||||
		case HOST_STATE_Configured:
 | 
			
		||||
			PrintIncomingPackets();
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
			break;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
/*
 | 
			
		||||
             LUFA Library
 | 
			
		||||
     Copyright (C) Dean Camera, 2010.
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
  dean [at] fourwalledcubicle [dot] com
 | 
			
		||||
      www.fourwalledcubicle.com
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			@ -9,13 +9,13 @@
 | 
			
		|||
/*
 | 
			
		||||
  Copyright 2010  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
 | 
			
		||||
| 
						 | 
				
			
			@ -49,11 +49,11 @@
 | 
			
		|||
		#include <LUFA/Drivers/USB/USB.h>
 | 
			
		||||
		#include <LUFA/Drivers/Peripheral/SerialStream.h>
 | 
			
		||||
		#include <LUFA/Drivers/Board/LEDs.h>
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		#include "Lib/RNDISCommands.h"
 | 
			
		||||
 | 
			
		||||
		#include "ConfigDescriptor.h"
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
	/* Macros: */
 | 
			
		||||
		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 | 
			
		||||
		#define LEDMASK_USB_NOTREADY      LEDS_LED1
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +66,7 @@
 | 
			
		|||
 | 
			
		||||
		/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
 | 
			
		||||
		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
 | 
			
		||||
		#define LEDMASK_USB_BUSY          LEDS_LED2
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -87,12 +87,13 @@
 | 
			
		|||
		void SetupHardware(void);
 | 
			
		||||
		void PrintIncomingPackets(void);
 | 
			
		||||
		void RNDIS_Host_Task(void);
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		void EVENT_USB_Host_HostError(const uint8_t ErrorCode);
 | 
			
		||||
		void EVENT_USB_Host_DeviceAttached(void);
 | 
			
		||||
		void EVENT_USB_Host_DeviceUnattached(void);
 | 
			
		||||
		void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode,
 | 
			
		||||
		                                            const uint8_t SubErrorCode);
 | 
			
		||||
		void EVENT_USB_Host_DeviceEnumerationComplete(void);
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
 *  This file contains special DoxyGen information for the generation of the main page and other special
 | 
			
		||||
 *  documentation pages. It is not a project source file.
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
/** \mainpage RNDIS Host Demo
 | 
			
		||||
 *
 | 
			
		||||
 *  \section SSec_Compat Demo Compatibility:
 | 
			
		||||
| 
						 | 
				
			
			@ -25,7 +25,7 @@
 | 
			
		|||
 *    <td><b>USB Class:</b></td>
 | 
			
		||||
 *    <td>Communications Device Class (CDC)</td>
 | 
			
		||||
 *   </tr>
 | 
			
		||||
 *   <tr> 
 | 
			
		||||
 *   <tr>
 | 
			
		||||
 *    <td><b>USB Subclass:</b></td>
 | 
			
		||||
 *    <td>Remote NDIS (Microsoft Proprietary CDC Class Networking Standard)</td>
 | 
			
		||||
 *   </tr>
 | 
			
		||||
| 
						 | 
				
			
			@ -39,12 +39,12 @@
 | 
			
		|||
 *   </tr>
 | 
			
		||||
 *  </table>
 | 
			
		||||
 *
 | 
			
		||||
 *  \section SSec_Description Project Description: 
 | 
			
		||||
 *  \section SSec_Description Project Description:
 | 
			
		||||
 *
 | 
			
		||||
 *  RNDIS host demonstration application. This gives a simple reference
 | 
			
		||||
 *  application for implementing a RNDIS Ethernet host, for USB devices such as
 | 
			
		||||
 *  modems.
 | 
			
		||||
 *  
 | 
			
		||||
 *
 | 
			
		||||
 *  This demo will enumerate an attached USB RNDIS device, print out its vendor ID
 | 
			
		||||
 *  and any received packets in raw form through the serial USART.
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			@ -60,3 +60,4 @@
 | 
			
		|||
 *   </tr>
 | 
			
		||||
 *  </table>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,7 +47,7 @@
 | 
			
		|||
# make doxygen = Generate DoxyGen documentation for the project (must have
 | 
			
		||||
#                DoxyGen installed)
 | 
			
		||||
#
 | 
			
		||||
# make debug = Start either simulavr or avarice as specified for debugging, 
 | 
			
		||||
# make debug = Start either simulavr or avarice as specified for debugging,
 | 
			
		||||
#              with avr-gdb or avr-insight as the front end for debugging.
 | 
			
		||||
#
 | 
			
		||||
# make filename.s = Just compile filename.c into the assembler code only.
 | 
			
		||||
| 
						 | 
				
			
			@ -64,14 +64,14 @@ MCU = at90usb1287
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
# Target board (see library "Board Types" documentation, NONE for projects not requiring
 | 
			
		||||
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called 
 | 
			
		||||
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called
 | 
			
		||||
# "Board" inside the application directory.
 | 
			
		||||
BOARD = USBKEY
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Processor frequency.
 | 
			
		||||
#     This will define a symbol, F_CPU, in all source code files equal to the 
 | 
			
		||||
#     processor frequency in Hz. You can then use this symbol in your source code to 
 | 
			
		||||
#     This will define a symbol, F_CPU, in all source code files equal to the
 | 
			
		||||
#     processor frequency in Hz. You can then use this symbol in your source code to
 | 
			
		||||
#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
 | 
			
		||||
#     automatically to create a 32-bit value in your source code.
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			@ -84,7 +84,7 @@ F_CPU = 8000000
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
# Input clock frequency.
 | 
			
		||||
#     This will define a symbol, F_CLOCK, in all source code files equal to the 
 | 
			
		||||
#     This will define a symbol, F_CLOCK, in all source code files equal to the
 | 
			
		||||
#     input clock frequency (before any prescaling is performed) in Hz. This value may
 | 
			
		||||
#     differ from F_CPU if prescaling is used on the latter, and is required as the
 | 
			
		||||
#     raw input clock is fed directly to the PLL sections of the AVR for high speed
 | 
			
		||||
| 
						 | 
				
			
			@ -135,7 +135,7 @@ SRC = $(TARGET).c                                                 \
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
# List C++ source files here. (C dependencies are automatically generated.)
 | 
			
		||||
CPPSRC = 
 | 
			
		||||
CPPSRC =
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# List Assembler source files here.
 | 
			
		||||
| 
						 | 
				
			
			@ -148,7 +148,7 @@ CPPSRC =
 | 
			
		|||
ASRC =
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Optimization level, can be [0, 1, 2, 3, s]. 
 | 
			
		||||
# Optimization level, can be [0, 1, 2, 3, s].
 | 
			
		||||
#     0 = turn off optimization. s = optimize for size.
 | 
			
		||||
#     (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
 | 
			
		||||
OPT = s
 | 
			
		||||
| 
						 | 
				
			
			@ -262,7 +262,7 @@ CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
 | 
			
		|||
#             for use in COFF files, additional information about filenames
 | 
			
		||||
#             and function names needs to be present in the assembler source
 | 
			
		||||
#             files -- see avr-libc docs [FIXME: not yet described there]
 | 
			
		||||
#  -listing-cont-lines: Sets the maximum number of continuation lines of hex 
 | 
			
		||||
#  -listing-cont-lines: Sets the maximum number of continuation lines of hex
 | 
			
		||||
#       dump that will be displayed for a given single line of source input.
 | 
			
		||||
ASFLAGS = $(ADEFS) -Wa,-adhlns=$(<:%.S=$(OBJDIR)/%.lst),-gstabs,--listing-cont-lines=100
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -275,7 +275,7 @@ PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min
 | 
			
		|||
PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt
 | 
			
		||||
 | 
			
		||||
# If this is left blank, then it will use the Standard printf version.
 | 
			
		||||
PRINTF_LIB = 
 | 
			
		||||
PRINTF_LIB =
 | 
			
		||||
#PRINTF_LIB = $(PRINTF_LIB_MIN)
 | 
			
		||||
#PRINTF_LIB = $(PRINTF_LIB_FLOAT)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -287,7 +287,7 @@ SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min
 | 
			
		|||
SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt
 | 
			
		||||
 | 
			
		||||
# If this is left blank, then it will use the Standard scanf version.
 | 
			
		||||
SCANF_LIB = 
 | 
			
		||||
SCANF_LIB =
 | 
			
		||||
#SCANF_LIB = $(SCANF_LIB_MIN)
 | 
			
		||||
#SCANF_LIB = $(SCANF_LIB_FLOAT)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -299,7 +299,7 @@ MATH_LIB = -lm
 | 
			
		|||
#     Each directory must be seperated by a space.
 | 
			
		||||
#     Use forward slashes for directory separators.
 | 
			
		||||
#     For a directory that has spaces, enclose it in quotes.
 | 
			
		||||
EXTRALIBDIRS = 
 | 
			
		||||
EXTRALIBDIRS =
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -322,7 +322,7 @@ EXTMEMOPTS =
 | 
			
		|||
#    -Map:      create map file
 | 
			
		||||
#    --cref:    add cross reference to  map file
 | 
			
		||||
LDFLAGS  = -Wl,-Map=$(TARGET).map,--cref
 | 
			
		||||
LDFLAGS += -Wl,--relax 
 | 
			
		||||
LDFLAGS += -Wl,--relax
 | 
			
		||||
LDFLAGS += -Wl,--gc-sections
 | 
			
		||||
LDFLAGS += $(EXTMEMOPTS)
 | 
			
		||||
LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS))
 | 
			
		||||
| 
						 | 
				
			
			@ -356,7 +356,7 @@ AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
 | 
			
		|||
#AVRDUDE_NO_VERIFY = -V
 | 
			
		||||
 | 
			
		||||
# Increase verbosity level.  Please use this when submitting bug
 | 
			
		||||
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude> 
 | 
			
		||||
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
 | 
			
		||||
# to submit bug reports.
 | 
			
		||||
#AVRDUDE_VERBOSE = -v -v
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -390,7 +390,7 @@ JTAG_DEV = /dev/com1
 | 
			
		|||
DEBUG_PORT = 4242
 | 
			
		||||
 | 
			
		||||
# Debugging host used to communicate between GDB / avarice / simulavr, normally
 | 
			
		||||
#     just set to localhost unless doing some sort of crazy debugging when 
 | 
			
		||||
#     just set to localhost unless doing some sort of crazy debugging when
 | 
			
		||||
#     avarice is running on a different computer.
 | 
			
		||||
DEBUG_HOST = localhost
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -419,7 +419,7 @@ WINSHELL = cmd
 | 
			
		|||
MSG_ERRORS_NONE = Errors: none
 | 
			
		||||
MSG_BEGIN = -------- begin --------
 | 
			
		||||
MSG_END = --------  end  --------
 | 
			
		||||
MSG_SIZE_BEFORE = Size before: 
 | 
			
		||||
MSG_SIZE_BEFORE = Size before:
 | 
			
		||||
MSG_SIZE_AFTER = Size after:
 | 
			
		||||
MSG_COFF = Converting to AVR COFF:
 | 
			
		||||
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
 | 
			
		||||
| 
						 | 
				
			
			@ -438,10 +438,10 @@ MSG_CREATING_LIBRARY = Creating library:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
# Define all object files.
 | 
			
		||||
OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(CPPSRC:%.cpp=$(OBJDIR)/%.o) $(ASRC:%.S=$(OBJDIR)/%.o) 
 | 
			
		||||
OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(CPPSRC:%.cpp=$(OBJDIR)/%.o) $(ASRC:%.S=$(OBJDIR)/%.o)
 | 
			
		||||
 | 
			
		||||
# Define all listing files.
 | 
			
		||||
LST = $(SRC:%.c=$(OBJDIR)/%.lst) $(CPPSRC:%.cpp=$(OBJDIR)/%.lst) $(ASRC:%.S=$(OBJDIR)/%.lst) 
 | 
			
		||||
LST = $(SRC:%.c=$(OBJDIR)/%.lst) $(CPPSRC:%.cpp=$(OBJDIR)/%.lst) $(ASRC:%.S=$(OBJDIR)/%.lst)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Compiler flags to generate dependency files.
 | 
			
		||||
| 
						 | 
				
			
			@ -506,11 +506,11 @@ sizeafter:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
# Display compiler version information.
 | 
			
		||||
gccversion : 
 | 
			
		||||
gccversion :
 | 
			
		||||
	@$(CC) --version
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Program the device.  
 | 
			
		||||
# Program the device.
 | 
			
		||||
program: $(TARGET).hex $(TARGET).eep
 | 
			
		||||
	$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -537,9 +537,9 @@ dfu-ee: $(TARGET).hex $(TARGET).eep
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
# Generate avr-gdb config/init file which does the following:
 | 
			
		||||
#     define the reset signal, load the target file, connect to target, and set 
 | 
			
		||||
#     define the reset signal, load the target file, connect to target, and set
 | 
			
		||||
#     a breakpoint at main().
 | 
			
		||||
gdb-config: 
 | 
			
		||||
gdb-config:
 | 
			
		||||
	@$(REMOVE) $(GDBINIT_FILE)
 | 
			
		||||
	@echo define reset >> $(GDBINIT_FILE)
 | 
			
		||||
	@echo SIGNAL SIGHUP >> $(GDBINIT_FILE)
 | 
			
		||||
| 
						 | 
				
			
			@ -637,14 +637,14 @@ extcoff: $(TARGET).elf
 | 
			
		|||
$(OBJDIR)/%.o : %.c
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo $(MSG_COMPILING) $<
 | 
			
		||||
	$(CC) -c $(ALL_CFLAGS) $< -o $@ 
 | 
			
		||||
	$(CC) -c $(ALL_CFLAGS) $< -o $@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Compile: create object files from C++ source files.
 | 
			
		||||
$(OBJDIR)/%.o : %.cpp
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo $(MSG_COMPILING_CPP) $<
 | 
			
		||||
	$(CC) -c $(ALL_CPPFLAGS) $< -o $@ 
 | 
			
		||||
	$(CC) -c $(ALL_CPPFLAGS) $< -o $@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Compile: create assembler files from C source files.
 | 
			
		||||
| 
						 | 
				
			
			@ -666,7 +666,7 @@ $(OBJDIR)/%.o : %.S
 | 
			
		|||
 | 
			
		||||
# Create preprocessed source for use in sending a bug report.
 | 
			
		||||
%.i : %.c
 | 
			
		||||
	$(CC) -E -mmcu=$(MCU) -I. $(CFLAGS) $< -o $@ 
 | 
			
		||||
	$(CC) -E -mmcu=$(MCU) -I. $(CFLAGS) $< -o $@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Target: clean project.
 | 
			
		||||
| 
						 | 
				
			
			@ -710,3 +710,4 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
 | 
			
		|||
build elf hex eep lss sym coff extcoff doxygen clean          \
 | 
			
		||||
clean_list clean_doxygen program dfu flip flip-ee dfu-ee      \
 | 
			
		||||
debug gdb-config
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue