/* Includes: */\r
#include <avr/io.h>\r
#include <stdio.h>\r
+ #include <string.h>\r
\r
#include <LUFA/Drivers/USB/USB.h>\r
\r
#define REMOTE_NDIS_VERSION_MINOR 0x00\r
\r
/** Pipe number for the RNDIS data IN pipe */\r
- #define RNDIS_DATAPIPE_IN 1\r
+ #define RNDIS_DATAPIPE_IN 1\r
\r
/** Pipe number for the RNDIS data OUT pipe */\r
- #define RNDIS_DATAPIPE_OUT 2\r
+ #define RNDIS_DATAPIPE_OUT 2\r
\r
/** Pipe number for the RNDIS notification pipe */\r
- #define RNDIS_NOTIFICATIONPIPE 3\r
+ #define RNDIS_NOTIFICATIONPIPE 3\r
\r
+ /** Additional error code for RNDIS functions when a device returns a logical command failure */\r
+ #define RNDIS_COMMAND_FAILED 0xC0\r
+\r
/* Function Prototypes: */\r
uint8_t RNDIS_SendEncapsulatedCommand(void* Buffer, uint16_t Length);\r
uint8_t RNDIS_GetEncapsulatedResponse(void* Buffer, uint16_t Length);\r
\r
- uint8_t RNDIS_InitializeDevice(uint16_t MaxPacketSize, RNDIS_Initialize_Complete_t* InitMessageResponse);\r
+ uint8_t RNDIS_KeepAlive(void);\r
+ uint8_t RNDIS_InitializeDevice(uint16_t HostMaxPacketSize, uint16_t* DeviceMaxPacketSize);\r
uint8_t RNDIS_SetRNDISProperty(uint32_t Oid, void* Buffer, uint16_t Length);\r
+ uint8_t RNDIS_QueryRNDISProperty(uint32_t Oid, void* Buffer, uint16_t MaxLength);\r
+ uint8_t RNDIS_GetPacketLength(uint16_t* PacketLength);\r
\r
#endif\r