12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /*
- * internal helper for utmp and utmpx handling
- *
- * Copyright (C) 2015 by Bernhard Reutner-Fischer
- *
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
- */
- #ifndef __INTERNAL_UTMP_H
- #define __INTERNAL_UTMP_H
- #include <utmpx.h>
- #include <utmp.h>
- /* Note: _PATH_UTMPX == _PATH_UTMP */
- #if (defined __UCLIBC_HAS_UTMPX__ && defined __UCLIBC_HAS_UTMP__) \
- || !defined __UCLIBC_HAS_UTMP__
- /* implement the X and alias the non-X */
- # define __set_unlocked __setutxent_unlocked
- # define set setutxent
- # define __get_unlocked __getutxent_unlocked
- # define get getutxent
- # define end endutxent
- # define __getid_unlocked __getutxid_unlocked
- # define getid getutxid
- # define getline getutxline
- # define putline pututxline
- # define name utmpxname
- # define updw updwtmpx
- # define UT utmpx
- # ifndef __DEFAULT_PATH_UTMP
- # define __DEFAULT_PATH_UTMP _PATH_UTMPX
- # endif
- # if defined __UCLIBC_HAS_UTMP__
- # define other(n,a) strong_alias_untyped(n,a)
- # else
- # define other(n,a) /* nothing */
- # endif
- #elif defined __UCLIBC_HAS_UTMP__
- # define __set_unlocked __setutent_unlocked
- # define set setutent
- # define __get_unlocked __getutent_unlocked
- # define get getutent
- # define end endutent
- # define __getid_unlocked __getutid_unlocked
- # define getid getutid
- # define getline getutline
- # define putline pututline
- # define name utmpname
- # define updw updwtmp
- # define UT utmp
- # ifndef __DEFAULT_PATH_UTMP
- # define __DEFAULT_PATH_UTMP _PATH_UTMP
- # endif
- # define other(n,a) /* nothing */
- #else
- #error You are supposed to either have UTMP or UTMPX or both here
- #endif
- /* not used in libc_hidden_proto(setutxent) */
- /* not used in libc_hidden_proto(endutxent) */
- /* not used in libc_hidden_proto(getutxent) */
- /* not used in libc_hidden_proto(getutxid) */
- /* not used in libc_hidden_proto(getutxline) */
- /* not used in libc_hidden_proto(pututxline) */
- /* not used in libc_hidden_proto(utmpxname) */
- /* not used in libc_hidden_proto(updwtmpx) */
- /* not used in libc_hidden_proto(setutent) */
- /* not used in libc_hidden_proto(endutent) */
- /* not used in libc_hidden_proto(getutent) */
- /* not used in libc_hidden_proto(getutid) */
- /* not used in libc_hidden_proto(getutline) */
- /* not used in libc_hidden_proto(pututline) */
- /* not used in libc_hidden_proto(utmpname) */
- /* not used in libc_hidden_proto(updwtmp) */
- #ifdef IS_IN_libutil
- # if (defined __UCLIBC_HAS_UTMPX__ && defined __UCLIBC_HAS_UTMP__) \
- || !defined __UCLIBC_HAS_UTMP__
- /* monkey-patch to use the POSIX interface */
- # define setutent setutxent
- # define getutline getutxline
- # define pututline pututxline
- # define endutent endutxent
- # define updwtmp updwtmpx
- # endif
- #endif /* IS_IN_libutil */
- #endif /* __INTERNAL_UTMP_H */
|