KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jcifs > smb > TransCallNamedPipe


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 TransCallNamedPipe extends SmbComTransaction {
22
23     private byte[] pipeData;
24     private int pipeDataOff, pipeDataLen;
25
26     TransCallNamedPipe( String JavaDoc pipeName, byte[] data, int off, int len ) {
27         name = pipeName;
28         pipeData = data;
29         pipeDataOff = off;
30         pipeDataLen = len;
31         command = SMB_COM_TRANSACTION;
32         subCommand = TRANS_CALL_NAMED_PIPE;
33         timeout = 0xFFFFFFFF;
34         maxParameterCount = 0;
35         maxDataCount = 0xFFFF;
36         maxSetupCount = (byte)0x00;
37         setupCount = 2;
38     }
39
40     int writeSetupWireFormat( byte[] dst, int dstIndex ) {
41         dst[dstIndex++] = subCommand;
42         dst[dstIndex++] = (byte)0x00;
43         // this says "Transaction priority" in netmon
44
dst[dstIndex++] = (byte)0x00; // no FID
45
dst[dstIndex++] = (byte)0x00;
46         return 4;
47     }
48     int readSetupWireFormat( byte[] buffer, int bufferIndex, int len ) {
49         return 0;
50     }
51     int writeParametersWireFormat( byte[] dst, int dstIndex ) {
52         return 0;
53     }
54     int writeDataWireFormat( byte[] dst, int dstIndex ) {
55         if(( dst.length - dstIndex ) < pipeDataLen ) {
56             if( log.level > 2 )
57                 log.println( "TransCallNamedPipe data too long for buffer" );
58             return 0;
59         }
60         System.arraycopy( pipeData, pipeDataOff, dst, dstIndex, pipeDataLen );
61         return pipeDataLen;
62     }
63     int readParametersWireFormat( byte[] buffer, int bufferIndex, int len ) {
64         return 0;
65     }
66     int readDataWireFormat( byte[] buffer, int bufferIndex, int len ) {
67         return 0;
68     }
69     public String JavaDoc toString() {
70         return new String JavaDoc( "TransCallNamedPipe[" + super.toString() +
71             ",pipeName=" + name + "]" );
72     }
73 }
74
Popular Tags