*/
 
 #define  __INCLUDE_FROM_USB_DRIVER
-#include "../../HighLevel/USBMode.h"
+#include "../../Core/USBMode.h"
+
 #if defined(USB_CAN_BE_HOST)
 
 #define  __INCLUDE_FROM_PRINTER_DRIVER
                  return ErrorCode;
        }
 
-       Pipe_Write_Byte(Data);
+       Pipe_Write_8(Data);
        Pipe_Freeze();
 
        return PIPE_READYWAIT_NoError;
 }
 
 uint8_t PRNT_Host_SendString(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
-                             void* Buffer,
-                             const uint16_t Length)
+                             void* String)
+{
+       uint8_t ErrorCode;
+
+       if ((USB_HostState != HOST_STATE_Configured) || !(PRNTInterfaceInfo->State.IsActive))
+         return PIPE_RWSTREAM_DeviceDisconnected;
+
+       Pipe_SelectPipe(PRNTInterfaceInfo->Config.DataOUTPipeNumber);
+       Pipe_Unfreeze();
+
+       if ((ErrorCode = Pipe_Write_Stream_LE(String, strlen(String), NULL)) != PIPE_RWSTREAM_NoError)
+         return ErrorCode;
+
+       Pipe_ClearOUT();
+
+       ErrorCode = Pipe_WaitUntilReady();
+
+       Pipe_Freeze();
+
+       return ErrorCode;
+}
+
+uint8_t PRNT_Host_SendData(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+                           void* Buffer,
+                           const uint16_t Length)
 {
        uint8_t ErrorCode;
 
        if (Pipe_IsINReceived())
        {
                if (Pipe_BytesInPipe())
-                 ReceivedByte = Pipe_Read_Byte();
+                 ReceivedByte = Pipe_Read_8();
 
                if (!(Pipe_BytesInPipe()))
                  Pipe_ClearIN();