X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/6bda628718f67c04ed43e8328f55bdce5319c504..77a9df36a77d2523dd2bc24fa17f9f04c6c175c5:/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.c diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.c b/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.c index cd142ef55..c906a3b6c 100644 --- a/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.c +++ b/Demos/Host/LowLevel/RNDISEthernetHost/Lib/RNDISCommands.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 @@ -53,7 +53,7 @@ uint8_t RNDIS_SendEncapsulatedCommand(void* const Buffer, USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_SendEncapsulatedCommand, + .bRequest = RNDIS_REQ_SendEncapsulatedCommand, .wValue = 0, .wIndex = 0, .wLength = Length, @@ -78,12 +78,12 @@ uint8_t RNDIS_GetEncapsulatedResponse(void* const Buffer, USB_ControlRequest = (USB_Request_Header_t) { .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE), - .bRequest = REQ_GetEncapsulatedResponse, + .bRequest = RNDIS_REQ_GetEncapsulatedResponse, .wValue = 0, .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; } @@ -184,28 +184,28 @@ uint8_t RNDIS_SetRNDISProperty(const uint32_t Oid, struct { RNDIS_Set_Message_t SetMessage; - uint8_t ContigiousBuffer[Length]; + 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.ContigiousBuffer, Buffer, Length); + + memcpy(&SetMessageData.ContiguousBuffer, Buffer, Length); if ((ErrorCode = RNDIS_SendEncapsulatedCommand(&SetMessageData, SetMessageData.SetMessage.MessageLength)) != HOST_SENDCONTROL_Successful) { 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; } @@ -238,13 +238,13 @@ uint8_t RNDIS_QueryRNDISProperty(const uint32_t Oid, struct { RNDIS_Query_Complete_t QueryMessageResponse; - uint8_t ContigiousBuffer[MaxLength]; + uint8_t ContiguousBuffer[MaxLength]; } QueryMessageResponseData; 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) { @@ -265,7 +265,7 @@ uint8_t RNDIS_QueryRNDISProperty(const uint32_t Oid, if (QueryMessageResponseData.QueryMessageResponse.Status != REMOTE_NDIS_STATUS_SUCCESS) return RNDIS_COMMAND_FAILED; - memcpy(Buffer, &QueryMessageResponseData.ContigiousBuffer, MaxLength); + memcpy(Buffer, &QueryMessageResponseData.ContiguousBuffer, MaxLength); return HOST_SENDCONTROL_Successful; } @@ -281,10 +281,10 @@ uint8_t RNDIS_GetPacketLength(uint16_t* const PacketLength) { uint8_t ErrorCode; - Pipe_SelectPipe(RNDIS_DATAPIPE_IN); + Pipe_SelectPipe(RNDIS_DATA_IN_PIPE); Pipe_SetPipeToken(PIPE_TOKEN_IN); Pipe_Unfreeze(); - + if (!(Pipe_IsReadWriteAllowed())) { *PacketLength = 0; @@ -293,17 +293,19 @@ 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) + + if ((ErrorCode = Pipe_Read_Stream_LE(&DeviceMessage, sizeof(RNDIS_Packet_Message_t), NULL)) != 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_Discard_Stream(DeviceMessage.DataOffset - (sizeof(RNDIS_Packet_Message_t) - sizeof(RNDIS_Message_Header_t)), + NULL); + Pipe_Freeze(); - + return PIPE_RWSTREAM_NoError; } +