s3: Lift the smbd_messaging_context from check_published_printers
[amitay/samba.git] / source3 / include / nt_printing.h
index b83be9de28970e7d53182c215d2ea54cd497cb22..97f70faf3909928abfed0713b15e151959bc66b9 100644 (file)
@@ -187,6 +187,7 @@ typedef struct _Printer{
                uint32 change;
                /* are we in a FindNextPrinterChangeNotify() call? */
                bool fnpcn;
+               struct messaging_context *msg_ctx;
        } notify;
        struct {
                fstring machine;
@@ -223,6 +224,8 @@ struct print_architecture_table_node {
        int     version;
 };
 
+bool nt_printing_init(struct messaging_context *msg_ctx);
+
 WERROR spoolss_create_default_devmode(TALLOC_CTX *mem_ctx,
                                      const char *devicename,
                                      struct spoolss_DeviceMode **devmode);
@@ -234,14 +237,13 @@ WERROR spoolss_map_to_os2_driver(TALLOC_CTX *mem_ctx, const char **pdrivername);
 
 const char *get_short_archi(const char *long_archi);
 
-bool add_printer_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token,
-                     struct spoolss_SetPrinterInfo2 *info2);
-
-bool print_access_check(struct auth_serversupplied_info *server_info, int snum,
+bool print_access_check(struct auth_serversupplied_info *server_info,
+                       struct messaging_context *msg_ctx, int snum,
                        int access_type);
 
 WERROR nt_printer_publish(TALLOC_CTX *mem_ctx,
                          struct auth_serversupplied_info *server_info,
+                         struct messaging_context *msg_ctx,
                          struct spoolss_PrinterInfo2 *pinfo2,
                          int action);
 
@@ -250,11 +252,18 @@ bool is_printer_published(TALLOC_CTX *mem_ctx,
                          char *servername, char *printer, struct GUID *guid,
                          struct spoolss_PrinterInfo2 **info2);
 
+WERROR check_published_printers(struct messaging_context *msg_ctx);
+
+bool driver_info_ctr_to_info8(struct spoolss_AddDriverInfoCtr *r,
+                             struct spoolss_DriverInfo8 *_info8);
+
 bool printer_driver_in_use(TALLOC_CTX *mem_ctx,
                           struct auth_serversupplied_info *server_info,
+                          struct messaging_context *msg_ctx,
                           const struct spoolss_DriverInfo8 *r);
 bool printer_driver_files_in_use(TALLOC_CTX *mem_ctx,
                                 struct auth_serversupplied_info *server_info,
+                                struct messaging_context *msg_ctx,
                                 struct spoolss_DriverInfo8 *r);
 bool delete_driver_files(struct auth_serversupplied_info *server_info,
                         const struct spoolss_DriverInfo8 *r);
@@ -267,4 +276,17 @@ WERROR clean_up_driver_struct(TALLOC_CTX *mem_ctx,
                              struct pipes_struct *rpc_pipe,
                              struct spoolss_AddDriverInfoCtr *r);
 
+void map_printer_permissions(struct security_descriptor *sd);
+
+void map_job_permissions(struct security_descriptor *sd);
+
+bool print_time_access_check(struct auth_serversupplied_info *server_info,
+                            struct messaging_context *msg_ctx,
+                            const char *servicename);
+
+void nt_printer_remove(TALLOC_CTX *mem_ctx,
+                       struct auth_serversupplied_info *server_info,
+                       struct messaging_context *msg_ctx,
+                       const char *printer);
+
 #endif /* NT_PRINTING_H_ */