1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef OS_ACCOUNT_H
17 #define OS_ACCOUNT_H
18 
19 /**
20  * @addtogroup OsAccount
21  * @{
22  *
23  * @brief Provide the definition of the C interface for the native OsAccount.
24  * @since 12
25  */
26 /**
27  * @file os_account.h
28  *
29  * @brief Declares the APIs for accessing and managing the OS account information.
30  * @library libos_account_ndk.so
31  * @kit BasicServicesKit
32  * @syscap SystemCapability.Account.OsAccount
33  * @since 12
34  */
35 
36 #include <stddef.h>
37 #include "os_account_common.h"
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
43 /**
44  * @brief Gets the name of the OS account to which the caller process belongs.
45  *
46  * @param buffer The name character array which should have space for the name and the terminating character ('\0').
47  * @param buffer_size The size of the name character array.
48  * @return {@link OS_ACCOUNT_ERR_OK} Indicates successful;<br>
49  *         {@link OS_ACCOUNT_ERR_INTERNAL_ERROR} Indicates the internal error.<br>
50  *         {@link OS_ACCOUNT_ERR_INVALID_PARAMETER} Indicates the <i>buffer</i> is NULL pointer or the size of the name,
51  *         including the terminating character ('\0'), is larger than <i>buffer_size</i>;
52  * @syscap SystemCapability.Account.OsAccount
53  * @since 12
54  */
55 OsAccount_ErrCode OH_OsAccount_GetName(char *buffer, size_t buffer_size);
56 
57 #ifdef __cplusplus
58 }
59 #endif
60 
61 /** @} */
62 
63 #endif // OS_ACCOUNT_H
64