summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/utmp.h21
-rw-r--r--src/stub/utmpx.c8
2 files changed, 23 insertions, 6 deletions
diff --git a/include/utmp.h b/include/utmp.h
index f60ff883..ff3e45e1 100644
--- a/include/utmp.h
+++ b/include/utmp.h
@@ -1,6 +1,10 @@
#ifndef _UTMP_H
#define _UTMP_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include <utmpx.h>
#define ut_time ut_tv.tv_sec
@@ -9,15 +13,20 @@
#define e_termination __e_termination
#define e_exit __e_exit
#define utmp utmpx
-#define endutent endutxent
-#define getutent getutxent
-#define setutent setutxent
-#define getutid getutxid
-#define getutline getutxline
-#define pututline pututxline
#define utmpname(x) (-1)
+void endutent(void);
+struct utmp *getutent(void);
+struct utmp *getutid(const struct utmp *);
+struct utmp *getutline(const struct utmp *);
+struct utmp *pututline(const struct utmp *);
+void setutent(void);
+
#define _PATH_UTMP "/dev/null"
#define _PATH_WTMP "/dev/null"
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/stub/utmpx.c b/src/stub/utmpx.c
index 32003969..42190ec2 100644
--- a/src/stub/utmpx.c
+++ b/src/stub/utmpx.c
@@ -1,5 +1,6 @@
#include <utmpx.h>
#include <stddef.h>
+#include "libc.h"
void endutxent(void)
{
@@ -28,3 +29,10 @@ struct utmpx *pututxline(const struct utmpx *ut)
{
return NULL;
}
+
+weak_alias(endutxent, endutent);
+weak_alias(setutxent, setutent);
+weak_alias(getutxent, getutent);
+weak_alias(getutxid, getutid);
+weak_alias(getutxline, getutline);
+weak_alias(pututxline, pututline);