package org.krakenapps.pcap.decoder.smb.response;
import org.krakenapps.pcap.decoder.smb.TransData;
import org.krakenapps.pcap.decoder.smb.structure.SmbData;
//0x32
public class Transaction2Response implements SmbData{
boolean malformed = false;
byte wordCount;
short byteCount;
//if final Response
//WordCount is not 0x00
//ByteCount is not 0x0000
// add follow
//param
short totalParameterCount;
short totalDataCount;
short reserved1;
short parameterCount;
short parameterOffset;
short parameterDisplacement;
short dataCount;
short dataOffset;
short dataDisplacement;
byte setupCount;
byte Resreved2;
byte []setup; // new SetupCount;
TransData transaction2Data;
//datas
byte []pad1;
byte []trans2Parameter; // new parameterCount;
byte []pad2;
byte []trans2Data; //new DataCount;
public byte[] getTrans2Parameter() {
return trans2Parameter;
}
public void setTrans2Parameter(byte[] trans2Parameter) {
this.trans2Parameter = trans2Parameter;
}
public TransData getTransaction2Data() {
return transaction2Data;
}
public void setTransaction2Data(TransData transaction2Data) {
this.transaction2Data = transaction2Data;
}
public byte getWordCount() {
return wordCount;
}
public void setWordCount(byte wordCount) {
this.wordCount = wordCount;
}
public short getByteCount() {
return byteCount;
}
public void setByteCount(short byteCount) {
this.byteCount = byteCount;
}
public short getTotalParameterCount() {
return totalParameterCount;
}
public void setTotalParameterCount(short totalParameterCount) {
this.totalParameterCount = totalParameterCount;
}
public short getTotalDataCount() {
return totalDataCount;
}
public void setTotalDataCount(short totalDataCount) {
this.totalDataCount = totalDataCount;
}
public short getReserved1() {
return reserved1;
}
public void setReserved1(short reserved1) {
this.reserved1 = reserved1;
}
public short getParameterCount() {
return parameterCount;
}
public void setParameterCount(short parameterCount) {
this.parameterCount = parameterCount;
}
public short getParameterOffset() {
return parameterOffset;
}
public void setParameterOffset(short parameterOffset) {
this.parameterOffset = parameterOffset;
}
public short getParameterDisplacement() {
return parameterDisplacement;
}
public void setParameterDisplacement(short parameterDisplacement) {
this.parameterDisplacement = parameterDisplacement;
}
public short getDataCount() {
return dataCount;
}
public void setDataCount(short dataCount) {
this.dataCount = dataCount;
}
public short getDataOffset() {
return dataOffset;
}
public void setDataOffset(short dataOffset) {
this.dataOffset = dataOffset;
}
public short getDataDisplacement() {
return dataDisplacement;
}
public void setDataDisplacement(short dataDisplacement) {
this.dataDisplacement = dataDisplacement;
}
public byte getSetupCount() {
return setupCount;
}
public void setSetupCount(byte setupCount) {
this.setupCount = setupCount;
}
public byte getResreved2() {
return Resreved2;
}
public void setResreved2(byte resreved2) {
Resreved2 = resreved2;
}
public byte[] getSetup() {
return setup;
}
public void setSetup(byte[] setup) {
this.setup = setup;
}
public byte[] getPad1() {
return pad1;
}
public void setPad1(byte[] pad1) {
this.pad1 = pad1;
}
public byte[] getPad2() {
return pad2;
}
public void setPad2(byte[] pad2) {
this.pad2 = pad2;
}
public byte[] getTrans2Data() {
return trans2Data;
}
public void setTrans2Data(byte[] trans2Data) {
this.trans2Data = trans2Data;
}
@Override
public boolean isMalformed() {
// TODO Auto-generated method stub
return malformed;
}
@Override
public void setMalformed(boolean malformed) {
this.malformed = malformed;
}
@Override
public String toString(){
return String.format("First Level : Transaction 2 Response\n" +
"isMalformed = %s\n" +
"wordCount = 0x%s(it must 0x00)\n" +
"byteCount = 0x%s\n" +
"totalParameterCount = 0x%s , totalDataCount = 0x%s, reserved1 = 0x%s\n" +
"parameterCount = 0x%s , parameterOffset = 0x%s , parameterDisplacement = 0x%s\n" +
"dataCount = 0x%s, dataOffset = 0x%s , dataDisplacement = 0x%s\n" +
"setupCount = 0x%s , reserved2 = 0x%s" +
"transaction2Data = %s\n",
this.malformed,
Integer.toHexString(this.wordCount),
Integer.toHexString(this.byteCount),
Integer.toHexString(this.totalParameterCount) , Integer.toHexString(this.totalDataCount) , Integer.toHexString(this.reserved1),
Integer.toHexString(this.parameterCount) , Integer.toHexString(this.parameterOffset) , Integer.toHexString(this.parameterDisplacement),
Integer.toHexString(this.dataCount) , Integer.toHexString(this.dataOffset) , Integer.toHexString(this.dataDisplacement),
Integer.toHexString(this.setupCount) , Integer.toHexString(this.Resreved2),
this.transaction2Data);
}
}