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
40extern "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 */
55OsAccount_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