Mark build test makefiles as being incompatible with parallel make builds, as they...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / PrinterClassHost.h
index f0fe8ee..2587827 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  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
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -42,7 +42,7 @@
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
  *
  *  \section Sec_Dependencies Module Source Dependencies
  *  The following files must be built with any user project that uses this module:
- *    - LUFA/Drivers/USB/Class/Host/Printer.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
+ *    - LUFA/Drivers/USB/Class/Host/PrinterClassHost.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
  *
  *  \section Sec_ModDescription Module Description
  *  Host Mode USB Class driver framework interface, for the Printer USB Class driver.
  *
  *  \section Sec_ModDescription Module Description
  *  Host Mode USB Class driver framework interface, for the Printer USB Class driver.
                         */
                        typedef struct
                        {
                         */
                        typedef struct
                        {
-                               const struct
+                               struct
                                {
                                {
-                                       uint8_t  DataINPipeNumber; /**< Pipe number of the Printer interface's IN data pipe. */
-                                       bool     DataINPipeDoubleBank; /**< Indicates if the Printer interface's IN data pipe should use double banking. */
-
-                                       uint8_t  DataOUTPipeNumber; /**< Pipe number of the Printer interface's OUT data pipe. */
-                                       bool     DataOUTPipeDoubleBank; /**< Indicates if the Printer interface's OUT data pipe should use double banking. */
+                                       USB_Pipe_Table_t DataINPipe; /**< Data IN Pipe configuration table. */
+                                       USB_Pipe_Table_t DataOUTPipe; /**< Data OUT Pipe configuration table. */
                                } Config; /**< Config data for the USB class interface within the device. All elements in this section
                                           *   <b>must</b> be set or the interface will fail to enumerate and operate correctly.
                                           */
                                } Config; /**< Config data for the USB class interface within the device. All elements in this section
                                           *   <b>must</b> be set or the interface will fail to enumerate and operate correctly.
                                           */
@@ -95,9 +92,6 @@
                                                        */
                                        uint8_t InterfaceNumber; /**< Interface index of the Printer interface within the attached device. */
                                        uint8_t AlternateSetting; /**< Alternate setting within the Printer Interface in the attached device. */
                                                        */
                                        uint8_t InterfaceNumber; /**< Interface index of the Printer interface within the attached device. */
                                        uint8_t AlternateSetting; /**< Alternate setting within the Printer Interface in the attached device. */
-
-                                       uint16_t DataINPipeSize; /**< Size in bytes of the Printer interface's IN data pipe. */
-                                       uint16_t DataOUTPipeSize;  /**< Size in bytes of the Printer interface's OUT data pipe. */
                                } State; /**< State data for the USB class interface within the device. All elements in this section
                                                  *   <b>may</b> be set to initial values, but may also be ignored to default to sane values when
                                                  *   the interface is enumerated.
                                } State; /**< State data for the USB class interface within the device. All elements in this section
                                                  *   <b>may</b> be set to initial values, but may also be ignored to default to sane values when
                                                  *   the interface is enumerated.
                         *  the device. This should be called once after the stack has enumerated the attached device, while the host state
                         *  machine is in the Addressed state.
                         *
                         *  the device. This should be called once after the stack has enumerated the attached device, while the host state
                         *  machine is in the Addressed state.
                         *
-                        *  \param[in,out] PRNTInterfaceInfo       Pointer to a structure containing a Printer Class host configuration and state.
-                        *  \param[in]     ConfigDescriptorSize    Length of the attached device's Configuration Descriptor.
-                        *  \param[in]     DeviceConfigDescriptor  Pointer to a buffer containing the attached device's Configuration Descriptor.
+                        *  \param[in,out] PRNTInterfaceInfo     Pointer to a structure containing a Printer Class host configuration and state.
+                        *  \param[in]     ConfigDescriptorSize  Length of the attached device's Configuration Descriptor.
+                        *  \param[in]     ConfigDescriptorData  Pointer to a buffer containing the attached device's Configuration Descriptor.
                         *
                         *  \return A value from the \ref PRNT_Host_EnumerationFailure_ErrorCodes_t enum.
                         */
                        uint8_t PRNT_Host_ConfigurePipes(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
                                                         uint16_t ConfigDescriptorSize,
                         *
                         *  \return A value from the \ref PRNT_Host_EnumerationFailure_ErrorCodes_t enum.
                         */
                        uint8_t PRNT_Host_ConfigurePipes(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
                                                         uint16_t ConfigDescriptorSize,
-                                                        void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
+                                                        void* ConfigDescriptorData) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3);
 
                        /** General management task for a given Printer host class interface, required for the correct operation of
                         *  the interface. This should be called frequently in the main program loop, before the master USB management task
 
                        /** General management task for a given Printer host class interface, required for the correct operation of
                         *  the interface. This should be called frequently in the main program loop, before the master USB management task
                         *  \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
                         */
                        uint8_t PRNT_Host_SendString(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
                         *  \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* String) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
+                                                    const char* const String) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
 
                        /** Sends the given raw data stream to the attached printer's input endpoint. This should contain commands that the
                         *  printer is able to understand - for example, PCL data. Not all printers accept all printer languages; see
 
                        /** Sends the given raw data stream to the attached printer's input endpoint. This should contain commands that the
                         *  printer is able to understand - for example, PCL data. Not all printers accept all printer languages; see