+                        *  \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+                        *       call will fail.
+                        *
+                        *  \param[in,out] PRNTInterfaceInfo  Pointer to a structure containing a Printer Class host configuration and state.
+                        *  \param[in]     Buffer             Pointer to a buffer containing the raw command stream to send to the printer.
+                        *  \param[in]     Length             Size in bytes of the command stream to be sent.
+                        *
+                        *  \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
+                        */
+                       uint8_t PRNT_Host_SendString(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+                                                    void* Buffer,
+                                                    const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+
+                       /** Sends a given byte to the attached USB device, if connected. If a device is not connected when the function is called, the
+                        *  byte is discarded. Bytes will be queued for transmission to the device until either the pipe bank becomes full, or the
+                        *  \ref PRNT_Host_Flush() function is called to flush the pending data to the host. This allows for multiple bytes to be
+                        *  packed into a single pipe packet, increasing data throughput.
+                        *
+                        *  \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+                        *       call will fail.
+                        *
+                        *  \param[in,out] PRNTInterfaceInfo  Pointer to a structure containing a Printer Class host configuration and state.
+                        *  \param[in]     Data               Byte of data to send to the device.
+                        *
+                        *  \return A value from the \ref Pipe_WaitUntilReady_ErrorCodes_t enum.
+                        */
+                       uint8_t PRNT_Host_SendByte(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+                                                  const uint8_t Data) ATTR_NON_NULL_PTR_ARG(1);
+
+                       /** Determines the number of bytes received by the printer interface from the device, waiting to be read. This indicates the number
+                        *  of bytes in the IN pipe bank only, and thus the number of calls to \ref PRNT_Host_ReceiveByte() which are guaranteed to succeed
+                        *  immediately. If multiple bytes are to be received, they should be buffered by the user application, as the pipe bank will not be
+                        *  released back to the USB controller until all bytes are read.
+                        *
+                        *  \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+                        *       call will fail.
+                        *
+                        *  \param[in,out] PRNTInterfaceInfo  Pointer to a structure containing a Printer Class host configuration and state.
+                        *
+                        *  \return Total number of buffered bytes received from the device.
+                        */
+                       uint16_t PRNT_Host_BytesReceived(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo);
+
+                       /** Reads a byte of data from the device. If no data is waiting to be read of if a USB device is not connected, the function
+                        *  returns a negative value. The \ref PRNT_Host_BytesReceived() function may be queried in advance to determine how many bytes
+                        *  are currently buffered in the Printer interface's data receive pipe.
+                        *
+                        *  \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the
+                        *       call will fail.