/* * Copyright 2020 Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. */ #ifndef _UTMPX_H_ #define _UTMPX_H_ #include #include struct utmpx { short ut_type; /* type of entry */ struct timeval ut_tv; /* modification time */ char ut_id[8]; /* entry identifier */ pid_t ut_pid; /* process ID */ char ut_user[32]; /* user login name */ char ut_line[16]; /* device name */ char ut_host[128]; /* remote hostname */ char __ut_reserved[64]; }; #define EMPTY 0 /* No valid user accounting information. */ #define BOOT_TIME 1 /* Identifies time of system boot. */ #define OLD_TIME 2 /* Identifies time when system clock changed. */ #define NEW_TIME 3 /* Identifies time after system clock changed. */ #define USER_PROCESS 4 /* Identifies a process. */ #define INIT_PROCESS 5 /* Identifies a process spawned by the init process. */ #define LOGIN_PROCESS 6 /* Identifies the session leader of a logged-in user. */ #define DEAD_PROCESS 7 /* Identifies a session leader who has exited. */ #ifdef __cplusplus extern "C" { #endif void endutxent(void); struct utmpx* getutxent(void); struct utmpx* getutxid(const struct utmpx *); struct utmpx* getutxline(const struct utmpx *); struct utmpx* pututxline(const struct utmpx *); void setutxent(void); #ifdef __cplusplus } #endif #endif /* _UTMPX_H_ */