#pragma once

#ifdef __cplusplus
extern "C" {
#endif

#include <features.h>

#define __NEED_pid_t
#define __NEED_time_t
#define __NEED_suseconds_t
#define __NEED_struct_timeval

#include <bits/alltypes.h>

struct utmpx {
    short ut_type;
    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;
    long ut_session;
    struct timeval ut_tv;
    unsigned ut_addr_v6[4];
    char __unused[20];
};

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);

#if defined(_BSD_SOURCE) | defined(_GNU_SOURCE)
#define e_exit __e_exit
#define e_termination __e_termination
void updwtmpx(const char*, const struct utmpx*);
int utmpxname(const char*);
#endif

#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 __cplusplus
}
#endif
