Refactor Atmel Studio binary blob internals to be more OO-like.
[pub/USBasp.git] / Demos / Host / LowLevel / RNDISEthernetHost / Lib / RNDISCommands.c
index ec018bf..3e3e074 100644 (file)
@@ -1,24 +1,24 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2010.
-              
+     Copyright (C) Dean Camera, 2013.
+
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
-  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2013  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
+  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
@@ -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,17 +112,17 @@ 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;
 }
 
-/** Initialises the attached RNDIS device's RNDIS interface.
+/** Initializes the attached RNDIS device's RNDIS interface.
  *
  *  \param[in] HostMaxPacketSize  Size of the packet buffer on the host
  *  \param[out] DeviceMaxPacketSize   Pointer to where the packet buffer size of the device is to be stored
@@ -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,26 +186,26 @@ 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);
+
+       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;
 }
 
@@ -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)
        {
@@ -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;
 }
+