package org.krakenapps.pcap.decoder.smb.request;
import org.krakenapps.pcap.decoder.smb.structure.SmbData;
// 0x2F
public class WriteANDXRequest implements SmbData{
boolean malformed = false;
//param
byte wordCount;
byte andxCommand;
byte andxReserved;
short andxOffset;
short fid;
int offset;
int timeout;
short writeMode;
short remaining;
short reserved; // when use in extension message , this field is used to datalengthHigh
short dataLength;
short dataOffset;
int offsetHigh;
//data
short byteCount;
byte pad;
byte []Data; // new DataLength
public byte getWordCount() {
return wordCount;
}
public void setWordCount(byte wordCount) {
this.wordCount = wordCount;
}
public byte getAndxCommand() {
return andxCommand;
}
public void setAndxCommand(byte andxCommand) {
this.andxCommand = andxCommand;
}
public byte getAndxReserved() {
return andxReserved;
}
public void setAndxReserved(byte andxReserved) {
this.andxReserved = andxReserved;
}
public short getAndxOffset() {
return andxOffset;
}
public void setAndxOffset(short andxOffset) {
this.andxOffset = andxOffset;
}
public short getFid() {
return fid;
}
public void setFid(short fid) {
this.fid = fid;
}
public int getOffset() {
return offset;
}
public void setOffset(int offset) {
this.offset = offset;
}
public int getTimeout() {
return timeout;
}
public void setTimeout(int timeout) {
this.timeout = timeout;
}
public short getWriteMode() {
return writeMode;
}
public void setWriteMode(short writeMode) {
this.writeMode = writeMode;
}
public short getRemaining() {
return remaining;
}
public void setRemaining(short remaining) {
this.remaining = remaining;
}
public short getReserved() {
return reserved;
}
public void setReserved(short reserved) {
this.reserved = reserved;
}
public short getDataLength() {
return dataLength;
}
public void setDataLength(short dataLength) {
this.dataLength = dataLength;
}
public short getDataOffset() {
return dataOffset;
}
public void setDataOffset(short dataOffset) {
this.dataOffset = dataOffset;
}
public int getOffsetHigh() {
return offsetHigh;
}
public void setOffsetHigh(int offsetHigh) {
this.offsetHigh = offsetHigh;
}
public short getByteCount() {
return byteCount;
}
public void setByteCount(short byteCount) {
this.byteCount = byteCount;
}
public byte getPad() {
return pad;
}
public void setPad(byte pad) {
this.pad = pad;
}
public byte[] getData() {
return Data;
}
public void setData(byte[] data) {
Data = data;
}
@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 : Write Andx Request\n" +
"isMalformed = %s\n" +
"wordcount = 0x%s\n" +
"andxCommand = 0x%s , andxReserved = 0x%s , andxOffset = 0xs\n" +
"fid = 0x%s , offset = 0x%s , timeOut = 0x%s\n" +
"writeMode = 0x%s , remaining = 0x%s , reserved = 0x%s\n" +
"dataLength = 0x%s , dataOffset = 0x%s , offsetHigh = 0x%s\n" +
"byteCount = 0x%s\n",
this.malformed,
Integer.toHexString(this.wordCount),
Integer.toHexString(this.andxCommand), Integer.toHexString(this.andxReserved) , Integer.toHexString(this.andxOffset),
Integer.toHexString(this.fid), Integer.toHexString(this.offset) , Integer.toHexString(this.timeout),
Integer.toHexString(this.writeMode) , Integer.toHexString(this.remaining) , Integer.toHexString(this.reserved),
Integer.toHexString(this.dataLength) , Integer.toHexString(this.dataOffset) , Integer.toHexString(this.offsetHigh),
Integer.toHexString(this.byteCount));
}
}