14654d99fSRichard Marian Thomaiyar /* 24654d99fSRichard Marian Thomaiyar // Copyright (c) 2018 Intel Corporation 34654d99fSRichard Marian Thomaiyar // 44654d99fSRichard Marian Thomaiyar // Licensed under the Apache License, Version 2.0 (the "License"); 54654d99fSRichard Marian Thomaiyar // you may not use this file except in compliance with the License. 64654d99fSRichard Marian Thomaiyar // You may obtain a copy of the License at 74654d99fSRichard Marian Thomaiyar // 84654d99fSRichard Marian Thomaiyar // http://www.apache.org/licenses/LICENSE-2.0 94654d99fSRichard Marian Thomaiyar // 104654d99fSRichard Marian Thomaiyar // Unless required by applicable law or agreed to in writing, software 114654d99fSRichard Marian Thomaiyar // distributed under the License is distributed on an "AS IS" BASIS, 124654d99fSRichard Marian Thomaiyar // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134654d99fSRichard Marian Thomaiyar // See the License for the specific language governing permissions and 144654d99fSRichard Marian Thomaiyar // limitations under the License. 154654d99fSRichard Marian Thomaiyar */ 164654d99fSRichard Marian Thomaiyar #pragma once 174654d99fSRichard Marian Thomaiyar #include <host-ipmid/ipmid-api.h> 184654d99fSRichard Marian Thomaiyar 194654d99fSRichard Marian Thomaiyar #include <string> 204654d99fSRichard Marian Thomaiyar 214654d99fSRichard Marian Thomaiyar namespace ipmi 224654d99fSRichard Marian Thomaiyar { 234654d99fSRichard Marian Thomaiyar /** @brief The ipmi get user password layer call 244654d99fSRichard Marian Thomaiyar * 254654d99fSRichard Marian Thomaiyar * @param[in] userName 264654d99fSRichard Marian Thomaiyar * 274654d99fSRichard Marian Thomaiyar * @return password or empty string 284654d99fSRichard Marian Thomaiyar */ 294654d99fSRichard Marian Thomaiyar std::string ipmiUserGetPassword(const std::string& userName); 304654d99fSRichard Marian Thomaiyar 31b29b5ab3SAppaRao Puli /** @brief The IPMI call to clear password entry associated with specified 32b29b5ab3SAppaRao Puli * username 33b29b5ab3SAppaRao Puli * 34b29b5ab3SAppaRao Puli * @param[in] userName 35b29b5ab3SAppaRao Puli * 36b29b5ab3SAppaRao Puli * @return 0 on success, non-zero otherwise. 37b29b5ab3SAppaRao Puli */ 38*42bed64dSRichard Marian Thomaiyar ipmi_ret_t ipmiClearUserEntryPassword(const std::string& userName); 39*42bed64dSRichard Marian Thomaiyar 40*42bed64dSRichard Marian Thomaiyar /** @brief The IPMI call to reuse password entry for the renamed user 41*42bed64dSRichard Marian Thomaiyar * to another one 42*42bed64dSRichard Marian Thomaiyar * 43*42bed64dSRichard Marian Thomaiyar * @param[in] userName 44*42bed64dSRichard Marian Thomaiyar * @param[in] newUserName 45*42bed64dSRichard Marian Thomaiyar * 46*42bed64dSRichard Marian Thomaiyar * @return 0 on success, non-zero otherwise. 47*42bed64dSRichard Marian Thomaiyar */ 48*42bed64dSRichard Marian Thomaiyar ipmi_ret_t ipmiRenameUserEntryPassword(const std::string& userName, 49*42bed64dSRichard Marian Thomaiyar const std::string& newUserName); 50b29b5ab3SAppaRao Puli 514654d99fSRichard Marian Thomaiyar // TODO: Define required user layer API Call's which user layer shared library 524654d99fSRichard Marian Thomaiyar // must implement. 534654d99fSRichard Marian Thomaiyar } // namespace ipmi 54