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