|
nsz |
6a2161 |
#include <utmpx.h>
|
|
nsz |
6a2161 |
#define T(t) (t*)0;
|
|
nsz |
6a2161 |
#define F(t,n) {t *y = &x.;;}
|
|
nsz |
6a2161 |
#define C(n) switch(n){case n:;}
|
|
nsz |
6a2161 |
static void f()
|
|
nsz |
6a2161 |
{
|
|
nsz |
6a2161 |
T(pid_t)
|
|
nsz |
6a2161 |
T(struct timeval)
|
|
nsz |
6a2161 |
{
|
|
nsz |
6a2161 |
struct utmpx x;
|
|
nsz |
6a2161 |
F(char,ut_user[0])
|
|
nsz |
6a2161 |
F(char,ut_id[0])
|
|
nsz |
6a2161 |
F(char,ut_line[0])
|
|
nsz |
6a2161 |
F(pid_t, ut_pid)
|
|
nsz |
6a2161 |
F(short, ut_type)
|
|
nsz |
6a2161 |
F(struct timeval,ut_tv)
|
|
nsz |
6a2161 |
}
|
|
nsz |
6a2161 |
C(EMPTY)
|
|
nsz |
6a2161 |
C(BOOT_TIME)
|
|
nsz |
6a2161 |
C(OLD_TIME)
|
|
nsz |
6a2161 |
C(NEW_TIME)
|
|
nsz |
6a2161 |
C(USER_PROCESS)
|
|
nsz |
6a2161 |
C(INIT_PROCESS)
|
|
nsz |
6a2161 |
C(LOGIN_PROCESS)
|
|
nsz |
6a2161 |
C(DEAD_PROCESS)
|
|
nsz |
0ef264 |
{void(*p)(void) = endutxent;}
|
|
nsz |
0ef264 |
{struct utmpx*(*p)(void) = getutxent;}
|
|
nsz |
0ef264 |
{struct utmpx*(*p)(const struct utmpx*) = getutxid;}
|
|
nsz |
0ef264 |
{struct utmpx*(*p)(const struct utmpx*) = getutxline;}
|
|
nsz |
0ef264 |
{struct utmpx*(*p)(const struct utmpx*) = pututxline;}
|
|
nsz |
0ef264 |
{void(*p)(void) = setutxent;}
|
|
nsz |
6a2161 |
}
|