blob: 48ee4c6133c3f8f5085e2c56c79a0af9d7b0ee8f [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;
Rajashekar Gade Reddye7023922019-07-10 16:54:55 +000031static constexpr uint8_t defaultSessionHandle = 0xFF;
Suryakanth Sekar1a4beed2019-06-12 20:44:10 +053032static constexpr uint8_t maxNetworkInstanceSupported = 4;
Rajashekar Gade Reddye7023922019-07-10 16:54:55 +000033static constexpr uint8_t ccInvalidSessionId = 0x87;
34static constexpr uint8_t ccInvalidSessionHandle = 0x88;
Suryakanth Sekar1a4beed2019-06-12 20:44:10 +053035
36// MSB BIT 7 BIT 6 assigned for netipmid instance in session handle.
37static constexpr uint8_t multiIntfaceSessionHandleMask = 0x3F;
38
39// MSB BIT 31-BIT30 assigned for netipmid instance in session ID
40static constexpr uint32_t multiIntfaceSessionIDMask = 0x3FFFFFFF;
41
42enum class State : uint8_t
43{
44 inactive, // Session is not in use
45 setupInProgress, // Session Setup Sequence is progressing
46 active, // Session is active
47 tearDownInProgress, // When Closing Session
48};
49
50} // namespace session