1 /* 2 // Copyright (c) 2018 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 #include <cstdint> 19 20 namespace ipmi 21 { 22 23 /** 24 * @enum IPMI commands for user command NETFN:APP. 25 */ 26 enum ipmi_netfn_user_cmds 27 { 28 IPMI_CMD_SET_USER_ACCESS = 0x43, 29 IPMI_CMD_GET_USER_ACCESS = 0x44, 30 IPMI_CMD_SET_USER_NAME = 0x45, 31 IPMI_CMD_GET_USER_NAME = 0x46, 32 IPMI_CMD_SET_USER_PASSWORD = 0x47, 33 }; 34 35 /** 36 * @enum IPMI set password return codes (refer spec sec 22.30) 37 */ 38 enum ipmi_set_password_return_codes : uint8_t 39 { 40 ipmiCCPasswdFailMismatch = 0x80, 41 ipmiCCPasswdFailWrongSize = 0x81, 42 }; 43 44 static constexpr uint8_t userIdEnabledViaSetPassword = 0x1; 45 static constexpr uint8_t userIdDisabledViaSetPassword = 0x2; 46 47 void registerUserIpmiFunctions(); 48 } // namespace ipmi 49