+
+               /* Inline Functions: */
+                       /** Sends a GET DESCRIPTOR standard request to the attached device, requesting the device descriptor.
+                        *  This can be used to easily retrieve information about the device such as its VID, PID and power
+                        *  requirements. This is a convenience wrapper for \ref USB_Host_GetDescriptor().
+                        *
+                        *  \note After this routine returns, the control pipe will be selected.
+                        *
+                        *  \ingroup Group_PipeControlReq
+                        *
+                        *  \param[out] DeviceDescriptorPtr  Pointer to the destination device descriptor structure where
+                        *                                   the read data is to be stored.
+                        *
+                        *  \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
+                        */
+                       static inline uint8_t USB_Host_GetDeviceDescriptor(USB_Descriptor_Device_t* const DeviceDescriptorPtr) ATTR_NON_NULL_PTR_ARG(1);
+                       static inline uint8_t USB_Host_GetDeviceDescriptor(USB_Descriptor_Device_t* const DeviceDescriptorPtr)
+                       {
+                               return USB_Host_GetDescriptor(DTYPE_Device, 0, DeviceDescriptorPtr, sizeof(USB_Descriptor_Device_t));
+                       }
+
+                       /** Sends a GET DESCRIPTOR standard request to the attached device, requesting the string descriptor
+                        *  of the specified index. This can be used to easily retrieve string descriptors from the device by
+                        *  index, after the index is obtained from the Device or Configuration descriptors. This is a convenience
+                        *  wrapper for \ref USB_Host_GetDescriptor().
+                        *
+                        *  \note After this routine returns, the control pipe will be selected.
+                        *
+                        *  \ingroup Group_PipeControlReq
+                        *
+                        *  \param[in]  Index        Index of the string descriptor to retrieve.
+                        *  \param[out] Buffer       Pointer to the destination buffer where the retrieved string descriptor is
+                        *                           to be stored.
+                        *  \param[in] BufferLength  Maximum size of the string descriptor which can be stored into the buffer.
+                        *
+                        *  \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
+                        */
+                       static inline uint8_t USB_Host_GetDeviceStringDescriptor(const uint8_t Index,
+                                                                                void* const Buffer,
+                                                                                const uint8_t BufferLength) ATTR_NON_NULL_PTR_ARG(2);
+                       static inline uint8_t USB_Host_GetDeviceStringDescriptor(const uint8_t Index,
+                                                                                void* const Buffer,
+                                                                                const uint8_t BufferLength)
+                       {
+                               return USB_Host_GetDescriptor(DTYPE_String, Index,  Buffer, BufferLength);
+                       }
+