X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/d297ea12b706e7099f34f667e43bf1f3de1713e7..e55f33866334615e705ff68c0f3bea8e5b1b9b8b:/LUFA/Drivers/USB/Class/Common/RNDIS.h?ds=inline diff --git a/LUFA/Drivers/USB/Class/Common/RNDIS.h b/LUFA/Drivers/USB/Class/Common/RNDIS.h index b2566d300..74e22bd56 100644 --- a/LUFA/Drivers/USB/Class/Common/RNDIS.h +++ b/LUFA/Drivers/USB/Class/Common/RNDIS.h @@ -1,21 +1,21 @@ /* LUFA Library - Copyright (C) Dean Camera, 2009. + Copyright (C) Dean Camera, 2010. dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ /* - Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com) - - Permission to use, copy, modify, and distribute this software - and its documentation for any purpose and without fee is hereby - granted, 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 + Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) + + 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 + 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 software without specific, written prior permission. The author disclaim all warranties with regard to this @@ -28,6 +28,15 @@ this software. */ +/** \file + * \brief Common definitions and declarations for the library USB RNDIS Class driver. + * + * Common definitions and declarations for the library USB RNDIS Class driver. + * + * \note This file should not be included directly. It is automatically included as needed by the class driver + * dispatch header located in LUFA/Drivers/USB/Class/RNDIS.h. + */ + /** \ingroup Group_USBClassRNDIS * @defgroup Group_USBClassRNDISCommon Common Class Definitions * @@ -41,8 +50,12 @@ #ifndef _RNDIS_CLASS_COMMON_H_ #define _RNDIS_CLASS_COMMON_H_ + /* Macros: */ + #define __INCLUDE_FROM_CDC_DRIVER + /* Includes: */ #include "../../USB.h" + #include "RNDISConstants.h" #include "CDC.h" #include @@ -52,6 +65,11 @@ extern "C" { #endif + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_RNDIS_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/Class/RNDIS.h instead. + #endif + /* Macros: */ /** Implemented RNDIS Version Major */ #define REMOTE_NDIS_VERSION_MAJOR 0x01 @@ -68,7 +86,7 @@ /** Maximum size in bytes of a RNDIS control message which can be sent or received */ #define RNDIS_MESSAGE_BUFFER_SIZE 128 - /** Maximum size in bytes of an Ethernet frame which can be sent or received */ + /** Maximum size in bytes of an Ethernet frame according to the Ethernet standard */ #define ETHERNET_FRAME_SIZE_MAX 1500 /** Notification request value for a RNDIS Response Available notification */ @@ -94,13 +112,19 @@ }; /* Type Defines: */ - /** Type define for a physical MAC address of a device on a network */ + /** \brief MAC Address Structure. + * + * Type define for a physical MAC address of a device on a network + */ typedef struct { uint8_t Octets[6]; /**< Individual bytes of a MAC address */ } MAC_Address_t; - /** Type define for an Ethernet frame buffer. */ + /** \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 */ @@ -108,14 +132,20 @@ bool FrameInBuffer; /**< Indicates if a frame is currently stored in the buffer */ } Ethernet_Frame_Info_t; - /** Type define for a RNDIS message header, sent before RNDIS messages */ + /** \brief RNDIS Common Message Header Structure. + * + * Type define for a RNDIS message header, sent before RNDIS messages. + */ typedef struct { uint32_t MessageType; /**< RNDIS message type, a REMOTE_NDIS_*_MSG constant */ uint32_t MessageLength; /**< Total length of the RNDIS message, in bytes */ } RNDIS_Message_Header_t; - /** Type define for a RNDIS packet message, used to encapsulate Ethernet packets sent to and from the adapter */ + /** \brief RNDIS Message Structure. + * + * Type define for a RNDIS packet message, used to encapsulate Ethernet packets sent to and from the adapter. + */ typedef struct { uint32_t MessageType; @@ -131,7 +161,10 @@ uint32_t Reserved; } RNDIS_Packet_Message_t; - /** Type define for a RNDIS Initialize command message */ + /** \brief RNDIS Initialization Message Structure. + * + * Type define for a RNDIS Initialize command message. + */ typedef struct { uint32_t MessageType; @@ -143,7 +176,10 @@ uint32_t MaxTransferSize; } RNDIS_Initialize_Message_t; - /** Type define for a RNDIS Initialize complete response message */ + /** \brief RNDIS Initialize Complete Message Structure. + * + * Type define for a RNDIS Initialize Complete response message. + */ typedef struct { uint32_t MessageType; @@ -162,7 +198,10 @@ uint32_t AFListSize; } RNDIS_Initialize_Complete_t; - /** Type define for a RNDIS Keepalive command message */ + /** \brief RNDIS Keep Alive Message Structure. + * + * Type define for a RNDIS Keep Alive command message. + */ typedef struct { uint32_t MessageType; @@ -170,7 +209,10 @@ uint32_t RequestId; } RNDIS_KeepAlive_Message_t; - /** Type define for a RNDIS Keepalive complete message */ + /** \brief RNDIS Keep Alive Complete Message Structure. + * + * Type define for a RNDIS Keep Alive Complete response message. + */ typedef struct { uint32_t MessageType; @@ -179,7 +221,10 @@ uint32_t Status; } RNDIS_KeepAlive_Complete_t; - /** Type define for a RNDIS Reset complete message */ + /** \brief RNDIS Reset Complete Message Structure. + * + * Type define for a RNDIS Reset Complete response message. + */ typedef struct { uint32_t MessageType; @@ -189,7 +234,10 @@ uint32_t AddressingReset; } RNDIS_Reset_Complete_t; - /** Type define for a RNDIS Set command message */ + /** \brief RNDIS OID Property Set Message Structure. + * + * Type define for a RNDIS OID Property Set command message. + */ typedef struct { uint32_t MessageType; @@ -202,7 +250,10 @@ uint32_t DeviceVcHandle; } RNDIS_Set_Message_t; - /** Type define for a RNDIS Set complete response message */ + /** \brief RNDIS OID Property Set Complete Message Structure. + * + * Type define for a RNDIS OID Property Set Complete response message. + */ typedef struct { uint32_t MessageType; @@ -211,7 +262,10 @@ uint32_t Status; } RNDIS_Set_Complete_t; - /** Type define for a RNDIS Query command message */ + /** \brief RNDIS OID Property Query Message Structure. + * + * Type define for a RNDIS OID Property Query command message. + */ typedef struct { uint32_t MessageType; @@ -224,7 +278,10 @@ uint32_t DeviceVcHandle; } RNDIS_Query_Message_t; - /** Type define for a RNDIS Query complete response message */ + /** \brief RNDIS OID Property Query Complete Message Structure. + * + * Type define for a RNDIS OID Property Query Complete response message. + */ typedef struct { uint32_t MessageType;