View Javadoc
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  }