From bd5969fc876a10b18613302db7087ef3c40f18e1 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 7 Mar 2024 17:28:00 -0500 Subject: lib: Add mlibc Signed-off-by: Ian Moffett --- lib/mlibc/options/linux/include/utmpx.h | 68 +++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 lib/mlibc/options/linux/include/utmpx.h (limited to 'lib/mlibc/options/linux/include/utmpx.h') diff --git a/lib/mlibc/options/linux/include/utmpx.h b/lib/mlibc/options/linux/include/utmpx.h new file mode 100644 index 0000000..32629dd --- /dev/null +++ b/lib/mlibc/options/linux/include/utmpx.h @@ -0,0 +1,68 @@ + +#ifndef _UTMPX_H +#define _UTMPX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +// Struct definition taken from musl +struct utmpx { + short ut_type; + short __ut_pad1; + pid_t ut_pid; + char ut_line[32]; + char ut_id[4]; + char ut_user[32]; + char ut_host[256]; + struct { + short __e_termination; + short __e_exit; + } ut_exit; + int ut_session, __ut_pad2; + struct timeval ut_tv; + unsigned ut_addr_v6[4]; + char __unused[20]; +}; + +#define e_exit __e_exit +#define e_termination __e_termination + +#ifndef __MLIBC_ABI_ONLY + +void updwtmpx(const char *, const struct utmpx *); +int utmpxname(const char *); +struct utmpx *pututxline(const struct utmpx *); +struct utmpx *getutxent(void); +struct utmpx *getutxid(const struct utmpx *id); +void setutxent(void); +void endutxent(void); + +#endif /* !__MLIBC_ABI_ONLY */ + +#define EMPTY 0 +#define RUN_LVL 1 +#define BOOT_TIME 2 +#define NEW_TIME 3 +#define OLD_TIME 4 +#define INIT_PROCESS 5 +#define LOGIN_PROCESS 6 +#define USER_PROCESS 7 +#define DEAD_PROCESS 8 + +#ifdef _GNU_SOURCE +#define ACCOUNTING 9 +#endif + +#define __UT_HOSTSIZE 256 +#define __UT_NAMESIZE 32 +#define __UT_LINESIZE 32 + +#ifdef __cplusplus +} +#endif + +#endif // _UTMPX_H -- cgit v1.2.3