Line data Source code
1 0 : /* 2 : * Copyright (c) 2023 Meta 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : #ifndef ZEPHYR_INCLUDE_POSIX_SYS_UTSNAME_H_ 7 : #define ZEPHYR_INCLUDE_POSIX_SYS_UTSNAME_H_ 8 : 9 : #include <zephyr/sys/util_macro.h> 10 : 11 : #ifdef __cplusplus 12 : extern "C" { 13 : #endif 14 : 15 : /* These are for compatibility / practicality */ 16 : #define _UTSNAME_NODENAME_LENGTH \ 17 : COND_CODE_1(CONFIG_POSIX_SINGLE_PROCESS, (CONFIG_POSIX_UNAME_VERSION_LEN), (0)) 18 : #define _UTSNAME_VERSION_LENGTH \ 19 : COND_CODE_1(CONFIG_POSIX_SINGLE_PROCESS, (CONFIG_POSIX_UNAME_VERSION_LEN), (0)) 20 : 21 0 : struct utsname { 22 0 : char sysname[sizeof("Zephyr")]; 23 0 : char nodename[_UTSNAME_NODENAME_LENGTH + 1]; 24 0 : char release[sizeof("99.99.99-rc1")]; 25 0 : char version[_UTSNAME_VERSION_LENGTH + 1]; 26 0 : char machine[sizeof(CONFIG_ARCH)]; 27 : }; 28 : 29 0 : int uname(struct utsname *name); 30 : 31 : #ifdef __cplusplus 32 : } 33 : #endif 34 : 35 : #endif /* ZEPHYR_INCLUDE_POSIX_SYS_UTSNAME_H_ */