KickJava   Java API By Example, From Geeks To Geeks.

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