1e41f4b71Sopenharmony_ci# OsAccount
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ci## Overview
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ciProvides APIs for managing system accounts.
7e41f4b71Sopenharmony_ci
8e41f4b71Sopenharmony_ci**Since**: 12
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci## Summary
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci### Files
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci| Name | Description |
17e41f4b71Sopenharmony_ci| -------- | -------- |
18e41f4b71Sopenharmony_ci| [os_account.h](os__account_8h.md) | Defines the APIs for accessing and managing system account information. |
19e41f4b71Sopenharmony_ci| [os_account_common.h](os__account__common_8h.md) | Defines common types used in **OsAccount** APIs.|
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci### Types
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ci| Name | Description |
25e41f4b71Sopenharmony_ci| -------- | -------- |
26e41f4b71Sopenharmony_ci| typedef enum [OsAccount_ErrCode](#osaccount_errcode-1) [OsAccount_ErrCode](#osaccount_errcode) | Defines an enum for error codes. |
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci### Enums
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci| Name | Description |
32e41f4b71Sopenharmony_ci| -------- | -------- |
33e41f4b71Sopenharmony_ci| [OsAccount_ErrCode](#osaccount_errcode-1) {<br>OS_ACCOUNT_ERR_OK = 0,<br>OS_ACCOUNT_ERR_INTERNAL_ERROR = 12300001,<br>OS_ACCOUNT_ERR_INVALID_PARAMETER = 12300002<br>} | Enumerates the error codes. |
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci### Functions
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci| Name | Description |
39e41f4b71Sopenharmony_ci| -------- | -------- |
40e41f4b71Sopenharmony_ci| [OsAccount_ErrCode](#osaccount_errcode) [OH_OsAccount_GetName](#oh_osaccount_getname) (char \*buffer, size_t buffer_size) | Obtains the name of the system account, to which the caller process belongs. |
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci## Type Description
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci### OsAccount_ErrCode
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci```
49e41f4b71Sopenharmony_citypedef enum OsAccount_ErrCode OsAccount_ErrCode
50e41f4b71Sopenharmony_ci```
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_ci**Description**
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ciDefines an enum for error codes.
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci**Since**: 12
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ci## Enum Description
60e41f4b71Sopenharmony_ci
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci### OsAccount_ErrCode
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ci```
65e41f4b71Sopenharmony_cienum OsAccount_ErrCode
66e41f4b71Sopenharmony_ci```
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ci**Description**
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ciEnumerates the error codes.
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci**Since**: 12
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci| Value | Description |
75e41f4b71Sopenharmony_ci| -------- | -------- |
76e41f4b71Sopenharmony_ci| OS_ACCOUNT_ERR_OK | Operation successful. |
77e41f4b71Sopenharmony_ci| OS_ACCOUNT_ERR_INTERNAL_ERROR | Internal error. |
78e41f4b71Sopenharmony_ci| OS_ACCOUNT_ERR_INVALID_PARAMETER | Invalid parameter. |
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci## Function Description
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci### OH_OsAccount_GetName()
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci```
87e41f4b71Sopenharmony_ciOsAccount_ErrCode OH_OsAccount_GetName (char *buffer, size_t buffer_size)
88e41f4b71Sopenharmony_ci```
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci**Description**
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ciObtains the name of the system account, to which the caller process belongs.
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Account.OsAccount
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci**Since**: 12
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ci**Parameters**
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ci| Name | Description |
101e41f4b71Sopenharmony_ci| -------- | -------- |
102e41f4b71Sopenharmony_ci| buffer | Pointer to the system account name, which including the name of the maximum length (**LOGIN_NAME_MAX**) and the end character ('\0'). |
103e41f4b71Sopenharmony_ci| buffer_size | Length of the system account name. |
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci**Returns**
106e41f4b71Sopenharmony_ci
107e41f4b71Sopenharmony_ciReturns **OS_ACCOUNT_ERR_OK** if the operation is successful.
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ciReturns **OS_ACCOUNT_ERR_INTERNAL_ERROR** if an internal error occurs. 
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_ciReturns **OS_ACCOUNT_ERR_INVALID_PARAMETER** if **buffer** is a null pointer or the name (excluding the end character ('\0')) is greater than or equal to **buffer_size**.