summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/utmp.h3
-rw-r--r--include/utmpx.h14
2 files changed, 12 insertions, 5 deletions
diff --git a/include/utmp.h b/include/utmp.h
index b357ac8c..e9ba23e2 100644
--- a/include/utmp.h
+++ b/include/utmp.h
@@ -10,6 +10,7 @@ extern "C" {
#define ACCOUNTING 9
#define UT_NAMESIZE 32
#define UT_HOSTSIZE 256
+#define UT_LINESIZE 32
struct lastlog {
time_t ll_time;
@@ -22,6 +23,8 @@ struct lastlog {
#define ut_addr ut_addr_v6[0]
#define utmp utmpx
#define utmpname(x) (-1)
+#define e_exit __e_exit
+#define e_termination __e_termination
void endutent(void);
struct utmp *getutent(void);
diff --git a/include/utmpx.h b/include/utmpx.h
index fd5f515a..f0c3b013 100644
--- a/include/utmpx.h
+++ b/include/utmpx.h
@@ -5,6 +5,8 @@
extern "C" {
#endif
+#include <features.h>
+
#define __NEED_pid_t
#define __NEED_time_t
#define __NEED_suseconds_t
@@ -12,19 +14,17 @@ extern "C" {
#include <bits/alltypes.h>
-#define UT_LINESIZE 32
-
struct utmpx
{
short ut_type;
pid_t ut_pid;
- char ut_line[UT_LINESIZE];
+ char ut_line[32];
char ut_id[4];
char ut_user[32];
char ut_host[256];
struct {
- short e_termination;
- short e_exit;
+ short __e_termination;
+ short __e_exit;
} ut_exit;
long ut_session;
struct timeval ut_tv;
@@ -39,7 +39,11 @@ 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 *);
+#endif
#define EMPTY 0
#define RUN_LVL 1