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 #pragma once 17 #include <host-ipmid/ipmid-api.h> 18 19 #include <string> 20 21 namespace ipmi 22 { 23 /** @brief The ipmi get user password layer call 24 * 25 * @param[in] userName 26 * 27 * @return password or empty string 28 */ 29 std::string ipmiUserGetPassword(const std::string& userName); 30 31 /** @brief The IPMI call to clear password entry associated with specified 32 * username 33 * 34 * @param[in] userName 35 * 36 * @return 0 on success, non-zero otherwise. 37 */ 38 ipmi_ret_t ipmiClearUserEntryPassword(const std::string& userName); 39 40 /** @brief The IPMI call to reuse password entry for the renamed user 41 * to another one 42 * 43 * @param[in] userName 44 * @param[in] newUserName 45 * 46 * @return 0 on success, non-zero otherwise. 47 */ 48 ipmi_ret_t ipmiRenameUserEntryPassword(const std::string& userName, 49 const std::string& newUserName); 50 51 // TODO: Define required user layer API Call's which user layer shared library 52 // must implement. 53 } // namespace ipmi 54