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 
31*b29b5ab3SAppaRao Puli /** @brief The IPMI call to clear password entry associated with specified
32*b29b5ab3SAppaRao Puli  * username
33*b29b5ab3SAppaRao Puli  *
34*b29b5ab3SAppaRao Puli  *  @param[in] userName
35*b29b5ab3SAppaRao Puli  *
36*b29b5ab3SAppaRao Puli  *  @return 0 on success, non-zero otherwise.
37*b29b5ab3SAppaRao Puli  */
38*b29b5ab3SAppaRao Puli ipmi_ret_t ipmiUserClearPassword(const std::string& userName);
39*b29b5ab3SAppaRao Puli 
404654d99fSRichard Marian Thomaiyar // TODO: Define required user layer API Call's which user layer shared library
414654d99fSRichard Marian Thomaiyar // must implement.
424654d99fSRichard Marian Thomaiyar } // namespace ipmi
43