newlib-cygwin/winsup/cygwin/include/sys/utmp.h

58 lines
1.2 KiB
C
Raw Normal View History

/* 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
2005-05-02 11:50:11 +08:00
struct utmp
{
2005-05-02 11:50:11 +08:00
short ut_type;
pid_t ut_pid;
char ut_line[UT_LINESIZE] ATTRIBUTE_NONSTRING;
char ut_id[UT_IDLEN];
2005-05-02 11:50:11 +08:00
time_t ut_time;
char ut_user[UT_NAMESIZE] ATTRIBUTE_NONSTRING;
char ut_host[UT_HOSTSIZE] ATTRIBUTE_NONSTRING;
2005-05-02 11:50:11 +08:00
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 */