58 lines
1.2 KiB
C
58 lines
1.2 KiB
C
/* sys/utmp.h
|
|
|
|
This software is a copyrighted work licensed under the terms of the
|
|
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
|
details. */
|
|
|
|
#ifndef UTMP_H
|
|
#define UTMP_H
|
|
|
|
#include <cygwin/utmp.h>
|
|
|
|
#define UTMP_FILE _PATH_UTMP
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef ut_name
|
|
#define ut_name ut_user
|
|
#endif
|
|
|
|
#if __GNUC__ >= 8
|
|
#define ATTRIBUTE_NONSTRING __attribute__ ((nonstring))
|
|
#else
|
|
#define ATTRIBUTE_NONSTRING
|
|
#endif
|
|
|
|
struct utmp
|
|
{
|
|
short ut_type;
|
|
pid_t ut_pid;
|
|
char ut_line[UT_LINESIZE] ATTRIBUTE_NONSTRING;
|
|
char ut_id[UT_IDLEN];
|
|
time_t ut_time;
|
|
char ut_user[UT_NAMESIZE] ATTRIBUTE_NONSTRING;
|
|
char ut_host[UT_HOSTSIZE] ATTRIBUTE_NONSTRING;
|
|
long ut_addr;
|
|
};
|
|
|
|
extern struct utmp *getutent (void);
|
|
extern struct utmp *getutid (const struct utmp *);
|
|
extern struct utmp *getutline (const struct utmp *);
|
|
extern struct utmp *pututline (const struct utmp *);
|
|
extern void endutent (void);
|
|
extern void setutent (void);
|
|
extern int utmpname (const char *);
|
|
|
|
void login (const struct utmp *);
|
|
int logout (const char *);
|
|
int login_tty (int);
|
|
void updwtmp (const char *, const struct utmp *);
|
|
void logwtmp (const char *, const char *, const char *);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* UTMP_H */
|