KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jcifs > smb > TransTransactNamedPipe


1 /* jcifs smb client library in Java
2  * Copyright (C) 2000 "Michael B. Allen" <jcifs at samba dot org>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  */

18
19 package jcifs.smb;
20
21 class TransTransactNamedPipe extends SmbComTransaction {
22
23     private byte[] pipeData;
24     private int pipeFid, pipeDataOff, pipeDataLen;
25
26     TransTransactNamedPipe( int fid, byte[] data, int off, int len ) {
27         pipeFid = fid;
28         pipeData = data;
29         pipeDataOff = off;
30         pipeDataLen = len;
31         command = SMB_COM_TRANSACTION;
32         subCommand = TRANS_TRANSACT_NAMED_PIPE;
33         maxParameterCount = 0;
34         maxDataCount = 0xFFFF;
35         maxSetupCount = (byte)0x00;
36         setupCount = 2;
37         name = "\\PIPE\\";
38     }
39
40     int writeSetupWireFormat( byte[] dst, int dstIndex ) {
41         dst[dstIndex++] = subCommand;
42         dst[dstIndex++] = (byte)0x00;
43         writeInt2( pipeFid, dst, dstIndex );
44         dstIndex += 2;
45         return 4;
46     }
47     int readSetupWireFormat( byte[] buffer, int bufferIndex, int len ) {
48         return 0;
49     }
50     int writeParametersWireFormat( byte[] dst, int dstIndex ) {
51         return 0;
52     }
53     int writeDataWireFormat( byte[] dst, int dstIndex ) {
54         if(( dst.length - dstIndex ) < pipeDataLen ) {
55             if( log.level > 2 )
56                 log.println( "TransTransactNamedPipe data too long for buffer" );
57             return 0;
58         }
59         System.arraycopy( pipeData, pipeDataOff, dst, dstIndex, pipeDataLen );
60         return pipeDataLen;
61     }
62     int readParametersWireFormat( byte[] buffer, int bufferIndex, int len ) {
63         return 0;
64     }
65     int readDataWireFormat( byte[] buffer, int bufferIndex, int len ) {
66         return 0;
67     }
68     public String JavaDoc toString() {
69         return new String JavaDoc( "TransTransactNamedPipe[" + super.toString() +
70             ",pipeFid=" + pipeFid + "]" );
71     }
72 }
73
Popular Tags