package org.krakenapps.pcap.decoder.smb.trans2req;
import org.krakenapps.pcap.decoder.smb.TransData;
import org.krakenapps.pcap.decoder.smb.TransStruct;
import org.krakenapps.pcap.decoder.smb.structure.SmbGeaList;
public class FindNext2Request implements TransData {
short subcommand;
short sid;
short searchCount;
short informationLevel;
int resumekey; // diffrent from SmbResumeKey
short flags;
String fileName;
SmbGeaList getExtendedAttributesList;
// this is data
TransStruct struct;
public TransStruct getStruct() {
return struct;
}
public void setStruct(TransStruct struct) {
this.struct = struct;
}
public SmbGeaList getGetExtendedAttributesList() {
return getExtendedAttributesList;
}
public void setGetExtendedAttributesList(
SmbGeaList getExtendedAttributesList) {
this.getExtendedAttributesList = getExtendedAttributesList;
}
public short getSubcommand() {
return subcommand;
}
public void setSubcommand(short subcommand) {
this.subcommand = subcommand;
}
public short getSid() {
return sid;
}
public void setSid(short sid) {
this.sid = sid;
}
public short getSearchCount() {
return searchCount;
}
public void setSearchCount(short searchCount) {
this.searchCount = searchCount;
}
public short getInformationLevel() {
return informationLevel;
}
public void setInformationLevel(short informationLevel) {
this.informationLevel = informationLevel;
}
public int getResumekey() {
return resumekey;
}
public void setResumekey(int resumekey) {
this.resumekey = resumekey;
}
public short getFlags() {
return flags;
}
public void setFlags(short flags) {
this.flags = flags;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public boolean isFindCloseAfterRequest() {
return (this.flags & SMB_FIND_CLOSE_AFTER_REQUEST) == SMB_FIND_CLOSE_AFTER_REQUEST;
}
public boolean isFindCloseAtEos() {
return (this.flags & SMB_FIND_CLOSE_AT_EOS) == SMB_FIND_CLOSE_AT_EOS;
}
public boolean isFindReturnResumeKeys() {
return (this.flags & SMB_FIND_RETURN_RESUME_KEYS) == SMB_FIND_RETURN_RESUME_KEYS;
}
public boolean isFindContinueFromLast() {
return (this.flags & SMB_FIND_CONTINUE_FROM_LAST) == SMB_FIND_CONTINUE_FROM_LAST;
}
public boolean isFindWithBackupIntent() {
return (this.flags & SMB_FIND_WITH_BACKUP_INTENT) == SMB_FIND_WITH_BACKUP_INTENT;
}
@Override
public String toString(){
return String.format("Trans2 Second Level : Find Next2 Request\n" +
"subCommand = 0x%s\n" +
"sid = 0x%s, searchCount = 0x%s, informationLevel = 0x%s\n" +
"resumeKey = 0x%s, flags = 0x%s\n" +
"fileName = %s\n" +
"getExtendedAttributesList = 0x%s\n",
Integer.toHexString(this.subcommand),
Integer.toHexString(this.sid), Integer.toHexString(this.searchCount) , Integer.toHexString(this.informationLevel),
Integer.toHexString(this.resumekey) , Integer.toHexString(this.flags),
this.fileName,
this.getExtendedAttributesList);
}
}