diff --git a/include/utmp.h b/include/utmp.h index f60ff883e27d8f67050c42e7b2afe1ce5919013b..ff3e45e155f9e12070c2dcf18eac98d5427b5d53 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 #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 32003969e4ea030532b03ac9b46eaafee8e33ad9..42190ec2e7fa6c5f0fe92ff93b4126f352977928 100644 --- a/src/stub/utmpx.c +++ b/src/stub/utmpx.c @@ -1,5 +1,6 @@ #include #include +#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);