r14173: change smb interface structures to always use
[jelmer/samba4-debian.git] / source / libcli / raw / rawfile.c
index 9d2611f7b248bbc3b1862e35733c519b9df48770..0e63fa656ffa03674baa0ece03de662df160b0c4 100644 (file)
@@ -78,14 +78,14 @@ NTSTATUS smb_raw_rename(struct smbcli_tree *tree,
  Delete a file - async interface
 ****************************************************************************/
 struct smbcli_request *smb_raw_unlink_send(struct smbcli_tree *tree,
-                                       struct smb_unlink *parms)
+                                          union smb_unlink *parms)
 {
        struct smbcli_request *req; 
 
        SETUP_REQUEST(SMBunlink, 1, 0);
 
-       SSVAL(req->out.vwv, VWV(0), parms->in.attrib);
-       smbcli_req_append_ascii4(req, parms->in.pattern, STR_TERMINATE);
+       SSVAL(req->out.vwv, VWV(0), parms->unlink.in.attrib);
+       smbcli_req_append_ascii4(req, parms->unlink.in.pattern, STR_TERMINATE);
 
        if (!smbcli_request_send(req)) {
                smbcli_request_destroy(req);
@@ -98,7 +98,7 @@ struct smbcli_request *smb_raw_unlink_send(struct smbcli_tree *tree,
   delete a file - sync interface
 */
 NTSTATUS smb_raw_unlink(struct smbcli_tree *tree,
-                       struct smb_unlink *parms)
+                       union smb_unlink *parms)
 {
        struct smbcli_request *req = smb_raw_unlink_send(tree, parms);
        return smbcli_request_simple_recv(req);
@@ -234,7 +234,7 @@ static NTSTATUS smb_raw_nttrans_create_recv(struct smbcli_request *req,
        params = nt.out.params.data;
 
        parms->ntcreatex.out.oplock_level =                 CVAL(params, 0);
-       parms->ntcreatex.out.fnum =                         SVAL(params, 2);
+       parms->ntcreatex.file.fnum =                        SVAL(params, 2);
        parms->ntcreatex.out.create_action =                IVAL(params, 4);
        parms->ntcreatex.out.create_time =   smbcli_pull_nttime(params, 12);
        parms->ntcreatex.out.access_time =   smbcli_pull_nttime(params, 20);
@@ -406,7 +406,7 @@ static NTSTATUS smb_raw_t2open_recv(struct smbcli_request *req, TALLOC_CTX *mem_
                return NT_STATUS_INFO_LENGTH_MISMATCH;
        }
 
-       parms->t2open.out.fnum =        SVAL(t2.out.params.data, VWV(0));
+       parms->t2open.file.fnum =       SVAL(t2.out.params.data, VWV(0));
        parms->t2open.out.attrib =      SVAL(t2.out.params.data, VWV(1));
        parms->t2open.out.write_time =  raw_pull_dos_date3(transport, t2.out.params.data + VWV(2));
        parms->t2open.out.size =        IVAL(t2.out.params.data, VWV(4));
@@ -572,7 +572,7 @@ NTSTATUS smb_raw_open_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx, unio
 
        case RAW_OPEN_OPEN:
                SMBCLI_CHECK_WCT(req, 7);
-               parms->openold.out.fnum = SVAL(req->in.vwv, VWV(0));
+               parms->openold.file.fnum  = SVAL(req->in.vwv, VWV(0));
                parms->openold.out.attrib = SVAL(req->in.vwv, VWV(1));
                parms->openold.out.write_time = raw_pull_dos_date3(req->transport,
                                                                req->in.vwv + VWV(2));
@@ -582,7 +582,7 @@ NTSTATUS smb_raw_open_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx, unio
 
        case RAW_OPEN_OPENX:
                SMBCLI_CHECK_MIN_WCT(req, 15);
-               parms->openx.out.fnum = SVAL(req->in.vwv, VWV(2));
+               parms->openx.file.fnum  = SVAL(req->in.vwv, VWV(2));
                parms->openx.out.attrib = SVAL(req->in.vwv, VWV(3));
                parms->openx.out.write_time = raw_pull_dos_date3(req->transport,
                                                                 req->in.vwv + VWV(4));
@@ -603,29 +603,29 @@ NTSTATUS smb_raw_open_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx, unio
 
        case RAW_OPEN_MKNEW:
                SMBCLI_CHECK_WCT(req, 1);
-               parms->mknew.out.fnum = SVAL(req->in.vwv, VWV(0));
+               parms->mknew.file.fnum = SVAL(req->in.vwv, VWV(0));
                break;
 
        case RAW_OPEN_CREATE:
                SMBCLI_CHECK_WCT(req, 1);
-               parms->create.out.fnum = SVAL(req->in.vwv, VWV(0));
+               parms->create.file.fnum = SVAL(req->in.vwv, VWV(0));
                break;
 
        case RAW_OPEN_CTEMP:
                SMBCLI_CHECK_WCT(req, 1);
-               parms->ctemp.out.fnum = SVAL(req->in.vwv, VWV(0));
+               parms->ctemp.file.fnum = SVAL(req->in.vwv, VWV(0));
                smbcli_req_pull_string(req, mem_ctx, &parms->ctemp.out.name, req->in.data, -1, STR_TERMINATE | STR_ASCII);
                break;
 
        case RAW_OPEN_SPLOPEN:
                SMBCLI_CHECK_WCT(req, 1);
-               parms->splopen.out.fnum = SVAL(req->in.vwv, VWV(0));
+               parms->splopen.file.fnum = SVAL(req->in.vwv, VWV(0));
                break;
 
        case RAW_OPEN_NTCREATEX:
                SMBCLI_CHECK_MIN_WCT(req, 34);
                parms->ntcreatex.out.oplock_level =              CVAL(req->in.vwv, 4);
-               parms->ntcreatex.out.fnum =                      SVAL(req->in.vwv, 5);
+               parms->ntcreatex.file.fnum =                     SVAL(req->in.vwv, 5);
                parms->ntcreatex.out.create_action =             IVAL(req->in.vwv, 7);
                parms->ntcreatex.out.create_time =   smbcli_pull_nttime(req->in.vwv, 11);
                parms->ntcreatex.out.access_time =   smbcli_pull_nttime(req->in.vwv, 19);
@@ -644,7 +644,7 @@ NTSTATUS smb_raw_open_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx, unio
 
        case RAW_OPEN_OPENX_READX:
                SMBCLI_CHECK_MIN_WCT(req, 15);
-               parms->openxreadx.out.fnum = SVAL(req->in.vwv, VWV(2));
+               parms->openxreadx.file.fnum = SVAL(req->in.vwv, VWV(2));
                parms->openxreadx.out.attrib = SVAL(req->in.vwv, VWV(3));
                parms->openxreadx.out.write_time = raw_pull_dos_date3(req->transport,
                                                                 req->in.vwv + VWV(4));
@@ -706,14 +706,14 @@ struct smbcli_request *smb_raw_close_send(struct smbcli_tree *tree, union smb_cl
        switch (parms->generic.level) {
        case RAW_CLOSE_CLOSE:
                SETUP_REQUEST(SMBclose, 3, 0);
-               SSVAL(req->out.vwv, VWV(0), parms->close.in.fnum);
+               SSVAL(req->out.vwv, VWV(0), parms->close.file.fnum);
                raw_push_dos_date3(tree->session->transport, 
                                  req->out.vwv, VWV(1), parms->close.in.write_time);
                break;
 
        case RAW_CLOSE_SPLCLOSE:
                SETUP_REQUEST(SMBsplclose, 3, 0);
-               SSVAL(req->out.vwv, VWV(0), parms->splclose.in.fnum);
+               SSVAL(req->out.vwv, VWV(0), parms->splclose.file.fnum);
                SIVAL(req->out.vwv, VWV(1), 0); /* reserved */
                break;
        }
@@ -749,14 +749,14 @@ struct smbcli_request *smb_raw_lock_send(struct smbcli_tree *tree, union smb_loc
        switch (parms->generic.level) {
        case RAW_LOCK_LOCK:
                SETUP_REQUEST(SMBlock, 5, 0);
-               SSVAL(req->out.vwv, VWV(0), parms->lock.in.fnum);
+               SSVAL(req->out.vwv, VWV(0), parms->lock.file.fnum);
                SIVAL(req->out.vwv, VWV(1), parms->lock.in.count);
                SIVAL(req->out.vwv, VWV(3), parms->lock.in.offset);
                break;
                
        case RAW_LOCK_UNLOCK:
                SETUP_REQUEST(SMBunlock, 5, 0);
-               SSVAL(req->out.vwv, VWV(0), parms->unlock.in.fnum);
+               SSVAL(req->out.vwv, VWV(0), parms->unlock.file.fnum);
                SIVAL(req->out.vwv, VWV(1), parms->unlock.in.count);
                SIVAL(req->out.vwv, VWV(3), parms->unlock.in.offset);
                break;
@@ -770,7 +770,7 @@ struct smbcli_request *smb_raw_lock_send(struct smbcli_tree *tree, union smb_loc
                SETUP_REQUEST(SMBlockingX, 8, lck_size * lock_count);
                SSVAL(req->out.vwv, VWV(0), SMB_CHAIN_NONE);
                SSVAL(req->out.vwv, VWV(1), 0);
-               SSVAL(req->out.vwv, VWV(2), parms->lockx.in.fnum);
+               SSVAL(req->out.vwv, VWV(2), parms->lockx.file.fnum);
                SSVAL(req->out.vwv, VWV(3), parms->lockx.in.mode);
                SIVAL(req->out.vwv, VWV(4), parms->lockx.in.timeout);
                SSVAL(req->out.vwv, VWV(6), parms->lockx.in.ulock_cnt);
@@ -816,13 +816,13 @@ NTSTATUS smb_raw_lock(struct smbcli_tree *tree, union smb_lock *parms)
 /****************************************************************************
  Check for existence of a dir - async send
 ****************************************************************************/
-struct smbcli_request *smb_raw_chkpath_send(struct smbcli_tree *tree, struct smb_chkpath *parms)
+struct smbcli_request *smb_raw_chkpath_send(struct smbcli_tree *tree, union smb_chkpath *parms)
 {
        struct smbcli_request *req; 
 
        SETUP_REQUEST(SMBchkpth, 0, 0);
 
-       smbcli_req_append_ascii4(req, parms->in.path, STR_TERMINATE);
+       smbcli_req_append_ascii4(req, parms->chkpath.in.path, STR_TERMINATE);
 
        if (!smbcli_request_send(req)) {
                smbcli_request_destroy(req);
@@ -835,25 +835,22 @@ struct smbcli_request *smb_raw_chkpath_send(struct smbcli_tree *tree, struct smb
 /****************************************************************************
  Check for existence of a dir - sync interface
 ****************************************************************************/
-NTSTATUS smb_raw_chkpath(struct smbcli_tree *tree, struct smb_chkpath *parms)
+NTSTATUS smb_raw_chkpath(struct smbcli_tree *tree, union smb_chkpath *parms)
 {
        struct smbcli_request *req = smb_raw_chkpath_send(tree, parms);
        return smbcli_request_simple_recv(req);
 }
 
-
-
-
 /****************************************************************************
  flush a file - async send
  a flush to fnum 0xFFFF will flush all files
 ****************************************************************************/
-struct smbcli_request *smb_raw_flush_send(struct smbcli_tree *tree, struct smb_flush *parms)
+struct smbcli_request *smb_raw_flush_send(struct smbcli_tree *tree, union smb_flush *parms)
 {
        struct smbcli_request *req; 
 
        SETUP_REQUEST(SMBflush, 1, 0);
-       SSVAL(req->out.vwv, VWV(0), parms->in.fnum);
+       SSVAL(req->out.vwv, VWV(0), parms->flush.file.fnum);
 
        if (!smbcli_request_send(req)) {
                smbcli_request_destroy(req);
@@ -867,7 +864,7 @@ struct smbcli_request *smb_raw_flush_send(struct smbcli_tree *tree, struct smb_f
 /****************************************************************************
  flush a file - sync interface
 ****************************************************************************/
-NTSTATUS smb_raw_flush(struct smbcli_tree *tree, struct smb_flush *parms)
+NTSTATUS smb_raw_flush(struct smbcli_tree *tree, union smb_flush *parms)
 {
        struct smbcli_request *req = smb_raw_flush_send(tree, parms);
        return smbcli_request_simple_recv(req);
@@ -878,15 +875,15 @@ NTSTATUS smb_raw_flush(struct smbcli_tree *tree, struct smb_flush *parms)
  seek a file - async send
 ****************************************************************************/
 struct smbcli_request *smb_raw_seek_send(struct smbcli_tree *tree,
-                                     struct smb_seek *parms)
+                                        union smb_seek *parms)
 {
        struct smbcli_request *req; 
 
        SETUP_REQUEST(SMBlseek, 4, 0);
 
-       SSVAL(req->out.vwv, VWV(0), parms->in.fnum);
-       SSVAL(req->out.vwv, VWV(1), parms->in.mode);
-       SIVALS(req->out.vwv, VWV(2), parms->in.offset);
+       SSVAL(req->out.vwv, VWV(0), parms->lseek.file.fnum);
+       SSVAL(req->out.vwv, VWV(1), parms->lseek.in.mode);
+       SIVALS(req->out.vwv, VWV(2), parms->lseek.in.offset);
 
        if (!smbcli_request_send(req)) {
                smbcli_request_destroy(req);
@@ -899,7 +896,7 @@ struct smbcli_request *smb_raw_seek_send(struct smbcli_tree *tree,
  seek a file - async receive
 ****************************************************************************/
 NTSTATUS smb_raw_seek_recv(struct smbcli_request *req,
-                                     struct smb_seek *parms)
+                          union smb_seek *parms)
 {
        if (!smbcli_request_receive(req) ||
            smbcli_request_is_error(req)) {
@@ -907,7 +904,7 @@ NTSTATUS smb_raw_seek_recv(struct smbcli_request *req,
        }
 
        SMBCLI_CHECK_WCT(req, 2);       
-       parms->out.offset = IVAL(req->in.vwv, VWV(0));
+       parms->lseek.out.offset = IVAL(req->in.vwv, VWV(0));
 
 failed:        
        return smbcli_request_destroy(req);
@@ -917,7 +914,7 @@ failed:
   seek a file - sync interface
 */
 NTSTATUS smb_raw_seek(struct smbcli_tree *tree,
-                     struct smb_seek *parms)
+                     union smb_seek *parms)
 {
        struct smbcli_request *req = smb_raw_seek_send(tree, parms);
        return smb_raw_seek_recv(req, parms);