package org.krakenapps.pcap.decoder.smb.rr;
import java.util.HashMap;
import java.util.Map;
public enum SmbCommand {
SMB_COM_CREATE_DIRECTORY(0x00),
SMB_COM_DELETE_DIRECTORY(0x01),
SMB_COM_OPEN(0x02),
SMB_COM_CREATE(0x03),
SMB_COM_CLOSE(0x04),
SMB_COM_FLUSH(0x05),
SMB_COM_DELETE(0x06),
SMB_COM_RENAME(0x07),
SMB_COM_QUERY_INFORMATION(0x08),
SMB_COM_SET_INFORMATION(0x09),
SMB_COM_READ(0x0A),
SMB_COM_WRITE(0x0B),
SMB_COM_LOCK_BYTE_RANGE(0x0C),
SMB_COM_UNLOCK_BYTE_RANGE(0x0D),
SMB_COM_CREATE_TEMPORARY(0x0E),
SMB_COM_CREATE_NEW(0x0F),
SMB_COM_CHECK_DIRECTORY(0x10),
SMB_COM_PROCESS_EXIT(0x11),
SMB_COM_SEEK(0x12),
SMB_COM_LOCK_AND_READ(0x13),
SMB_COM_WRITE_AND_UNLOCK(0x14),
SMB_COM_READ_RAW(0x1A),
SMB_COM_READ_MPX(0X1B),
SMB_COM_READ_MPX_SECONDARY(0x1C),
SMB_COM_WRITE_RAW(0x1D),
SMB_COM_WRITE_MPX(0x1E),
SMB_COM_WRITE_MPX_SECONDARY(0x1F),
SMB_COM_WRITE_COMPLETE(0x20),
SMB_COM_QUERY_SERVER(0x21),
SMB_COM_SET_INFORMATION2(0x22),
SMB_COM_QUERY_INFORMATION2(0x23),
SMB_COM_LOCKING_ANDX(0x24),
SMB_COM_TRANSACTION(0x25),
SMB_COM_TRANSACTION_SECONDARY(0x26),
SMB_COM_IOCTL(0x27),
SMB_COM_IOCTL_SECONDARY(0x28),
SMB_COM_COPY(0x29),
SMB_COM_MOVE(0x2A),
SMB_COM_ECHO(0x2B),
SMB_COM_WRITE_AND_CLOSE(0x2C),
SMB_COM_OPEN_ANDX(0x2D),
SMB_COM_READ_ANDX(0x2E),
SMB_COM_WRITE_ANDX(0x2F),
SMB_COM_NEW_FILE_SIZE(0x30),
SMB_COM_CLOSE_AND_TREE_DISC(0x31),
SMB_COM_TRANSACTION2(0x32),
SMB_COM_TRANSACTION2_SECONDARY(0x33),
SMB_COM_FIND_CLOSE2(0x34),
SMB_COM_FIND_NOTIFY_CLOSE(0x35),
SMB_COM_TREE_CONNECT(0x70),
SMB_COM_TREE_DISCONNECT(0x71),
SMB_COM_NEGOTIATE(0x72),
SMB_COM_SESSION_SETUP_ANDX(0x73),
SMB_COM_LOGOFF_ANDX(0x74),
SMB_COM_TREE_CONNECT_ANDX(0x75),
SMB_COM_SECURITY_PACKAGE_ANDX(0x7E),
SMB_COM_QUERY_INFORMATION_DISK(0x80),
SMB_COM_SEARCH(0x81),
SMB_COM_FIND(0x82),
SMB_COM_FIND_UNIQUE(0x83),
SMB_COM_FIND_CLOSE(0x84),
SMB_COM_NT_TRANSACT(0xA0),
SMB_COM_NT_TRANSACT_SECONDARY(0xA1),
SMB_COM_NT_CREATE_ANDX(0xA2),
SMB_COM_NT_CANCEL(0xA4),
SMB_COM_NT_RENAME(0xA5),
SMB_COM_OPEN_PRINT_FILE(0xC0),
SMB_COM_WRITE_PRINT_FILE(0xC1),
SMB_COM_CLOSE_PRINT_FILE(0xC2),
SMB_COM_GET_PRINT_QUEUE(0xC3),
SMB_COM_READ_BULK(0xD8),
SMB_COM_WRITE_BULK(0xD9),
SMB_COM_WIRTE_BULK_DATA(0xDA),
SMB_COM_INVALID(0xFE),
SMB_COM_NO_ANDX_COMMAND(0xFF);
private static Map<Integer, SmbCommand> codeMap = new HashMap<Integer, SmbCommand>();
static {
for (SmbCommand code : SmbCommand.values()) {
codeMap.put(code.getCode(), code);
}
}
SmbCommand(int code) {
this.code = code;
}
public int getCode() {
return code;
}
public static SmbCommand parse(int code) {
return codeMap.get(code);
}
private int code;
}