Fixed incorrect buffer size check in the USBtoSerial project (thanks to Yuri A Nikifo...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Common / RNDIS.h
index f98fc6d..05ab13b 100644 (file)
@@ -68,6 +68,9 @@
                #endif
 
        /* Macros: */
+               /** Additional error code for RNDIS functions when a device returns a logical command failure. */
+               #define RNDIS_ERROR_LOGICAL_CMD_FAILED        0x80
+
                /** Implemented RNDIS Version Major. */
                #define REMOTE_NDIS_VERSION_MAJOR             0x01
 
                 */
                typedef struct
                {
-                       uint8_t       Octets[6]; /**< Individual bytes of a MAC address */
+                       uint8_t Octets[6]; /**< Individual bytes of a MAC address */
                } ATTR_PACKED MAC_Address_t;
 
-               /** \brief RNDIS Ethernet Frame Packet Information Structure.
-                *
-                *  Type define for an Ethernet frame buffer data and information structure.
-                */
-               typedef struct
-               {
-                       uint8_t       FrameData[ETHERNET_FRAME_SIZE_MAX]; /**< Ethernet frame contents. */
-                       uint16_t      FrameLength; /**< Length in bytes of the Ethernet frame stored in the buffer. */
-                       bool          FrameInBuffer; /**< Indicates if a frame is currently stored in the buffer. */
-               } ATTR_PACKED Ethernet_Frame_Info_t;
-
                /** \brief RNDIS Common Message Header Structure.
                 *
                 *  Type define for a RNDIS message header, sent before RNDIS messages.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                /** \brief RNDIS Message Structure.
                 *
                 *  Type define for a RNDIS packet message, used to encapsulate Ethernet packets sent to and from the adapter.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                /** \brief RNDIS Initialization Message Structure.
                 *
                 *  Type define for a RNDIS Initialize command message.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                /** \brief RNDIS Initialize Complete Message Structure.
                 *
                 *  Type define for a RNDIS Initialize Complete response message.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                /** \brief RNDIS Keep Alive Message Structure.
                 *
                 *  Type define for a RNDIS Keep Alive command message.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                /** \brief RNDIS Keep Alive Complete Message Structure.
                 *
                 *  Type define for a RNDIS Keep Alive Complete response message.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                /** \brief RNDIS Reset Complete Message Structure.
                 *
                 *  Type define for a RNDIS Reset Complete response message.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                /** \brief RNDIS OID Property Set Message Structure.
                 *
                 *  Type define for a RNDIS OID Property Set command message.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                /** \brief RNDIS OID Property Set Complete Message Structure.
                 *
                 *  Type define for a RNDIS OID Property Set Complete response message.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                /** \brief RNDIS OID Property Query Message Structure.
                 *
                 *  Type define for a RNDIS OID Property Query command message.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {
                /** \brief RNDIS OID Property Query Complete Message Structure.
                 *
                 *  Type define for a RNDIS OID Property Query Complete response message.
+                *
+                *  \note Regardless of CPU architecture, these values should be stored as little endian.
                 */
                typedef struct
                {