blob: 9fce256a3cd8094a5c08751cf94852f46eebd423 [file] [log] [blame]
Suryakanth Sekar1a4beed2019-06-12 20:44:10 +05301/*
2 * Copyright © 2019 Intel Corporation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 */
17#pragma once
18
19namespace session
20{
21
22static constexpr auto sessionManagerRootPath =
23 "/xyz/openbmc_project/ipmi/session";
24static constexpr auto sessionIntf = "xyz.openbmc_project.Ipmi.SessionInfo";
25static constexpr uint8_t ipmi20VerSession = 0x01;
26static constexpr size_t maxSessionCountPerChannel = 15;
27static constexpr size_t sessionZero = 0;
28static constexpr size_t maxSessionlessCount = 1;
29static constexpr uint8_t invalidSessionID = 0;
30static constexpr uint8_t invalidSessionHandle = 0;
31static constexpr uint8_t maxNetworkInstanceSupported = 4;
32
33// MSB BIT 7 BIT 6 assigned for netipmid instance in session handle.
34static constexpr uint8_t multiIntfaceSessionHandleMask = 0x3F;
35
36// MSB BIT 31-BIT30 assigned for netipmid instance in session ID
37static constexpr uint32_t multiIntfaceSessionIDMask = 0x3FFFFFFF;
38
39enum class State : uint8_t
40{
41 inactive, // Session is not in use
42 setupInProgress, // Session Setup Sequence is progressing
43 active, // Session is active
44 tearDownInProgress, // When Closing Session
45};
46
47} // namespace session