1 package org.metricshub.ipmi.core.coding.payload.sol; 2 3 /*- 4 * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲ 5 * IPMI Java Client 6 * ჻჻჻჻჻჻ 7 * Copyright 2023 Verax Systems, MetricsHub 8 * ჻჻჻჻჻჻ 9 * This program is free software: you can redistribute it and/or modify 10 * it under the terms of the GNU Lesser General Public License as 11 * published by the Free Software Foundation, either version 3 of the 12 * License, or (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Lesser Public License for more details. 18 * 19 * You should have received a copy of the GNU General Lesser Public 20 * License along with this program. If not, see 21 * <http://www.gnu.org/licenses/lgpl-3.0.html>. 22 * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱ 23 */ 24 25 /** 26 * Enumeration of all possible operations, that Remote Console can invoke on BMC during SOL communication. 27 */ 28 public enum SolOperation { 29 /** 30 * Assert RI (may not be supported on all implementations) - Goal is to allow this to be used for generating a WOR. 31 */ 32 RingWOR(5), 33 34 /** 35 * Generate BREAK (300 ms, nominal) 36 */ 37 Break(4), 38 39 /** 40 * Deassert CTS (clear to send) to the baseboard serial controller. 41 * (This is the default state when SOL is deactivated.) 42 */ 43 CTS(3), 44 45 /** 46 * When test mode inactive, deassert DCD/DSR to baseboard serial controller. 47 * For test mode active, deassert just DCD to baseboard serial controller. 48 */ 49 DCD_DSR(2), 50 51 /** 52 * When test mode inactive, drop (flush) data from remote console to BMC [not including data carried in this packet, if any]. 53 * For test mode active, deassert DSR to baseboard serial controller. 54 */ 55 FlushInbound(1), 56 57 /** 58 * When test mode inactive, flush Outbound Character Data (flush data from BMC to remote console). 59 * When test mode active, won't have any effect. 60 */ 61 FlushOutbound(0); 62 63 /** 64 * ID of the operation (number of bit in operation field byte). 65 */ 66 private final int operationNumber; 67 68 SolOperation(int operationNumber) { 69 this.operationNumber = operationNumber; 70 } 71 72 public int getOperationNumber() { 73 return operationNumber; 74 } 75 }