#ifdef UTMP_COMPAT
#define UTMP_COMPAT_UTMP0 0x01
#define UTMP_COMPAT_UTMP1 0x02
#define UTMP_COMPAT_WTMP 0x04
#define UTMP_COMPAT_LASTLOG 0x08
#endif
#define LASTLOG_FACILITY "com.apple.system.lastlog"
#define UTMPX_FACILITY "com.apple.system.utmpx"
extern int utfile_system;
#ifdef __LP64__
#define __need_struct_timeval32
#include <_structs.h>
#ifdef UTMP_COMPAT
struct lastlog32 {
__int32_t ll_time;
char ll_line[UT_LINESIZE];
char ll_host[UT_HOSTSIZE];
};
struct utmp32 {
char ut_line[UT_LINESIZE];
char ut_name[UT_NAMESIZE];
char ut_host[UT_HOSTSIZE];
__int32_t ut_time;
};
#endif
struct utmpx32 {
char ut_user[_UTX_USERSIZE];
char ut_id[_UTX_IDSIZE];
char ut_line[_UTX_LINESIZE];
pid_t ut_pid;
short ut_type;
struct timeval32 ut_tv;
char ut_host[_UTX_HOSTSIZE];
__uint32_t ut_pad[16];
};
#endif
struct utmpx *_pututxline(const struct utmpx *);
#ifdef __LP64__
void _utmpx32_64(const struct utmpx32 *, struct utmpx *);
void _utmpx64_32(const struct utmpx *, struct utmpx32 *);
#endif
void _utmpx_asl(const struct utmpx *);
const struct utmpx *_utmpx_working_copy(const struct utmpx *, struct utmpx *, int);
#ifdef UTMP_COMPAT
#ifdef __LP64__
void _getutmp32(const struct utmpx *, struct utmp32 *);
int _utmp_compat(const struct utmpx *, struct utmp32 *);
void _write_lastlog(const struct utmp32 *, const struct utmpx *);
void _write_utmp(const struct utmp32 *, int);
#else
int _utmp_compat(const struct utmpx *, struct utmp *);
void _write_lastlog(const struct utmp *, const struct utmpx *);
void _write_utmp(const struct utmp *, int);
#endif
void _write_utmp_compat(const struct utmpx *);
#ifdef __LP64__
void _write_wtmp(const struct utmp32 *);
#else
void _write_wtmp(const struct utmp *);
#endif
#endif