r14173: change smb interface structures to always use
[jelmer/samba4-debian.git] / source / ntvfs / print / vfs_print.c
index d487392e6f8ea797c7a245f7eb1a59fc8e540196..eb17ef9c63bc4294638c0b76a454f8d5f1cab470 100644 (file)
@@ -23,6 +23,9 @@
 */
 
 #include "includes.h"
+#include "libcli/raw/ioctl.h"
+#include "smb_server/smb_server.h"
+#include "ntvfs/ntvfs.h"
 
 /*
   connect to a share - used when a tree_connect operation comes
   is available
 */
 static NTSTATUS print_connect(struct ntvfs_module_context *ntvfs,
-                             struct smbsrv_request *req, const char *sharename)
+                             struct ntvfs_request *req, const char *sharename)
 {
+       struct smbsrv_tcon *tcon = req->tcon;
+
+       tcon->fs_type = talloc_strdup(tcon, "NTFS");
+       NT_STATUS_HAVE_NO_MEMORY(tcon->fs_type);
+
+       tcon->dev_type = talloc_strdup(tcon, "LPT1:");
+       NT_STATUS_HAVE_NO_MEMORY(tcon->dev_type);
+
        return NT_STATUS_OK;
 }
 
 /*
   disconnect from a share
 */
-static NTSTATUS print_disconnect(struct ntvfs_module_context *ntvfs,
-                                struct smbsrv_tcon *tcon)
+static NTSTATUS print_disconnect(struct ntvfs_module_context *ntvfs)
 {
        return NT_STATUS_OK;
 }
@@ -48,7 +58,8 @@ static NTSTATUS print_disconnect(struct ntvfs_module_context *ntvfs,
   lots of operations are not allowed on printing shares - mostly return NT_STATUS_ACCESS_DENIED
 */
 static NTSTATUS print_unlink(struct ntvfs_module_context *ntvfs,
-                            struct smbsrv_request *req, struct smb_unlink *unl)
+                            struct ntvfs_request *req,
+                            union smb_unlink *unl)
 {
        return NT_STATUS_ACCESS_DENIED;
 }
@@ -58,7 +69,7 @@ static NTSTATUS print_unlink(struct ntvfs_module_context *ntvfs,
   ioctl - used for job query
 */
 static NTSTATUS print_ioctl(struct ntvfs_module_context *ntvfs,
-                           struct smbsrv_request *req, union smb_ioctl *io)
+                           struct ntvfs_request *req, union smb_ioctl *io)
 {
        char *p;
 
@@ -72,7 +83,7 @@ static NTSTATUS print_ioctl(struct ntvfs_module_context *ntvfs,
 
                data_blob_clear(&io->ioctl.out.blob);
 
-               p = io->ioctl.out.blob.data;
+               p = (char *)io->ioctl.out.blob.data;
                SSVAL(p,0, 1 /* REWRITE: fsp->rap_print_jobid */);
                push_string(p+2, lp_netbios_name(), 15, STR_TERMINATE|STR_ASCII);
                push_string(p+18, lp_servicename(req->tcon->service), 13, STR_TERMINATE|STR_ASCII);
@@ -105,7 +116,7 @@ NTSTATUS ntvfs_print_init(void)
 
        /* register ourselves with the NTVFS subsystem. We register under the name 'default'
           as we wish to be the default backend */
-       ret = register_backend("ntvfs", &ops);
+       ret = ntvfs_register(&ops);
 
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register PRINT backend!\n"));