Fix authservice count.
[jelmer/samba4-debian.git] / source / ntptr / ntptr.h
index 86cf2eeac61fbc334e483d6f7cbeb660e0e11067..3e95c3c5e1c0cca0e6a52eac8ea55d389e38303a 100644 (file)
@@ -7,7 +7,7 @@
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
@@ -16,8 +16,7 @@
    GNU General Public License for more details.
    
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 /* modules can use the following to determine if the interface has changed */
@@ -40,6 +39,42 @@ struct ntptr_GenericHandle {
        void *private_data;
 };
 
+struct spoolss_OpenPrinterEx;
+struct spoolss_EnumPrinterData;
+struct spoolss_DeletePrinterData;
+struct spoolss_AddForm;
+struct spoolss_GetForm;
+struct spoolss_SetForm;
+struct spoolss_DeleteForm;
+struct spoolss_AddPrinterDriver;
+struct spoolss_DeletePrinterDriver;
+struct spoolss_GetPrinterDriverDirectory;
+struct spoolss_AddPrinter;
+struct spoolss_GetPrinter;
+struct spoolss_SetPrinter;
+struct spoolss_DeletePrinter;
+struct spoolss_GetPrinterDriver;
+struct spoolss_AddJob;
+struct spoolss_EnumJobs;
+struct spoolss_SetJob;
+struct spoolss_GetJob;
+struct spoolss_ScheduleJob;
+struct spoolss_ReadPrinter;
+struct spoolss_WritePrinter;
+struct spoolss_StartDocPrinter;
+struct spoolss_EndDocPrinter;
+struct spoolss_StartPagePrinter;
+struct spoolss_EndPagePrinter;
+struct spoolss_GetPrinterData;
+struct spoolss_SetPrinterData;
+struct spoolss_EnumPrinterDrivers;
+struct spoolss_EnumMonitors;
+struct spoolss_EnumPrinters;
+struct spoolss_EnumForms;
+struct spoolss_EnumPorts;
+struct spoolss_EnumPrintProcessors;
+struct spoolss_XcvData;
+
 /* the ntptr operations structure - contains function pointers to 
    the backend implementations of each operation */
 struct ntptr_ops {
@@ -53,6 +88,8 @@ struct ntptr_ops {
                                  struct spoolss_OpenPrinterEx *r,
                                  const char *printer_name,
                                  struct ntptr_GenericHandle **server);
+       WERROR (*XcvDataPrintServer)(struct ntptr_GenericHandle *server, TALLOC_CTX *mem_ctx,
+                                    struct spoolss_XcvData *r);
 
        /* PrintServer PrinterData functions */
        WERROR (*EnumPrintServerData)(struct ntptr_GenericHandle *server, TALLOC_CTX *mem_ctx,
@@ -90,8 +127,10 @@ struct ntptr_ops {
        WERROR (*OpenPort)(struct ntptr_context *ntptr, TALLOC_CTX *mem_ctx,
                           struct spoolss_OpenPrinterEx *r,
                           const char *port_name,
-                          struct ntptr_GenericHandle **prt);
-
+                          struct ntptr_GenericHandle **port);
+       WERROR (*XcvDataPort)(struct ntptr_GenericHandle *port, TALLOC_CTX *mem_ctx,
+                             struct spoolss_XcvData *r);
+       
        /* Monitor functions */
        WERROR (*EnumMonitors)(struct ntptr_context *ntptr, TALLOC_CTX *mem_ctx,
                               struct spoolss_EnumMonitors *r);
@@ -99,6 +138,8 @@ struct ntptr_ops {
                              struct spoolss_OpenPrinterEx *r,
                              const char *monitor_name,
                              struct ntptr_GenericHandle **monitor);
+       WERROR (*XcvDataMonitor)(struct ntptr_GenericHandle *monitor, TALLOC_CTX *mem_ctx,
+                                struct spoolss_XcvData *r);
 
        /* PrintProcessor functions */
        WERROR (*EnumPrintProcessors)(struct ntptr_context *ntptr, TALLOC_CTX *mem_ctx,
@@ -120,6 +161,8 @@ struct ntptr_ops {
                             struct spoolss_SetPrinter *r);
        WERROR (*DeletePrinter)(struct ntptr_context *ntptr, TALLOC_CTX *mem_ctx,
                                struct spoolss_DeletePrinter *r);
+       WERROR (*XcvDataPrinter)(struct ntptr_GenericHandle *printer, TALLOC_CTX *mem_ctx,
+                                struct spoolss_XcvData *r);
 
        /* Printer Driver functions */
        WERROR (*GetPrinterDriver)(struct ntptr_context *ntptr, TALLOC_CTX *mem_ctx,
@@ -177,6 +220,7 @@ struct ntptr_ops {
 struct ntptr_context {
        const struct ntptr_ops *ops;
        void *private_data;
+       struct loadparm_context *lp_ctx;
 };
 
 /* this structure is used by backends to determine the size of some critical types */
@@ -186,4 +230,7 @@ struct ntptr_critical_sizes {
        int sizeof_ntptr_context;
        int sizeof_ntptr_ops;
 };
+
+struct loadparm_context;
+
 #include "ntptr/ntptr_proto.h"