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; }