package org.krakenapps.pcap.decoder.smb.request; import org.krakenapps.pcap.decoder.smb.rr.FileAttributes; import org.krakenapps.pcap.decoder.smb.structure.SmbData; public class OpenANDXRequest implements SmbData{ boolean malformed = false; //param byte wordCount; byte andxCommand; byte andxReserved; short andxOffset; short flags; short accessMode; FileAttributes searchAttrs; FileAttributes fileAttrs; int creationTime; short openMode; int allocationSize; int timeout; byte []Reserved = new byte[4]; //data short byteCount; String fileName; 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 getFlags() { return flags; } public void setFlags(short flags) { this.flags = flags; } public short getAccessMode() { return accessMode; } public void setAccessMode(short accessMode) { this.accessMode = accessMode; } public FileAttributes getSearchAttrs() { return searchAttrs; } public void setSearchAttrs(FileAttributes searchAttrs) { this.searchAttrs = searchAttrs; } public FileAttributes getFileAttrs() { return fileAttrs; } public void setFileAttrs(FileAttributes fileAttrs) { this.fileAttrs = fileAttrs; } public int getCreationTime() { return creationTime; } public void setCreationTime(int creationTime) { this.creationTime = creationTime; } public short getOpenMode() { return openMode; } public void setOpenMode(short openMode) { this.openMode = openMode; } public int getAllocationSize() { return allocationSize; } public void setAllocationSize(int allocationSize) { this.allocationSize = allocationSize; } public int getTimeout() { return timeout; } public void setTimeout(int timeout) { this.timeout = timeout; } public byte[] getReserved() { return Reserved; } public void setReserved(byte[] reserved) { Reserved = reserved; } public short getByteCount() { return byteCount; } public void setByteCount(short byteCount) { this.byteCount = byteCount; } public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public boolean isFlagOpenQueryInformation() { if((flags & SMB_OPEN_QUERY_INFORMATION) == SMB_OPEN_QUERY_INFORMATION) return true; else return false; } public boolean isFlagOpenOplock() { if((flags & SMB_OPEN_OPLOCK) == SMB_OPEN_OPLOCK) return true; else return false; } public boolean isFlagOpenOpBatch() { if( (flags & SMB_OPEN_OPLOCK) == SMB_OPEN_OPLOCK) return true; else return false; } public boolean isFlagOpenExtendedResponse() { if( (flags & SMB_OPEN_EXTENDED_RESPONSE) == SMB_OPEN_EXTENDED_RESPONSE) return true; else return false; } public boolean isFlagResreved() { if( (flags & RESERVED) == RESERVED) return true; else return false; } @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 : OpenAndx Request\n"+ "isMalformed =%s\n"+ "wordCount = 0x%s\n" + "andxCommand = 0x%s , andxReserved = 0x%s , andxOffset = 0x%s\n" + "flags = 0x%s, accessMode = 0x%s , searchAttr = %s\n" + "fileattrs = %s , creationTime = 0x%s , openMode = 0x%s\n" + "allocationSize = 0x%s , timeOut = 0x%s , reserved = %s\n" + "byteCount = 0x%s\n" + "fileName = %s\n", this.malformed, Integer.toHexString(this.wordCount), Integer.toHexString(this.andxCommand), Integer.toHexString(this.andxReserved) , Integer.toHexString(this.andxOffset), Integer.toHexString(this.flags) , Integer.toHexString(this.accessMode) , this.searchAttrs, this.fileAttrs , Integer.toHexString(this.creationTime) , Integer.toHexString(this.openMode), Integer.toHexString(this.allocationSize) , Integer.toHexString(this.timeout), this.Reserved.toString(), Integer.toHexString(this.byteCount), this.fileName); } }