summaryrefslogtreecommitdiff
path: root/sysdeps/gnu/utmpbits.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/gnu/utmpbits.h')
-rw-r--r--sysdeps/gnu/utmpbits.h34
1 files changed, 31 insertions, 3 deletions
diff --git a/sysdeps/gnu/utmpbits.h b/sysdeps/gnu/utmpbits.h
index 37e4fb9acc..5bb230b243 100644
--- a/sysdeps/gnu/utmpbits.h
+++ b/sysdeps/gnu/utmpbits.h
@@ -52,6 +52,31 @@ struct lastlog
char ll_host[UT_HOSTSIZE];
};
+
+/* Which program created the record. */
+enum utlogin
+{
+ unknown,
+ X,
+ local,
+ rlogin,
+ telnet,
+ rsh,
+ ftp,
+ screen,
+ splitvt,
+ xterm
+ /* More could be added here. */
+};
+
+
+struct exit_status
+{
+ short int e_termination; /* Process termination status. */
+ short int e_exit; /* Process exit status. */
+};
+
+
struct utmp
{
short int ut_type; /* Type of login. */
@@ -61,11 +86,14 @@ struct utmp
char ut_user[UT_NAMESIZE]; /* Username (not NUL terminated). */
#define ut_name ut_user /* Compatible field name for same. */
char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
- int ut_exit; /* Process termination/exit status. */
+ struct exit_status ut_exit; /* The exit status of a process marked
+ as DEAD_PROCESS. */
long ut_session; /* Session ID, used for windowing. */
struct timeval ut_tv; /* Time entry was made. */
- int32_t ut_addr; /* Internet address of remote host. */
- char pad[32]; /* Reserved for future use. */
+ int32_t ut_addr[4]; /* Internet address of remote host. */
+ enum utlogin ut_login; /* To store information about source. */
+ short int ut_syslen; /* Significant length of ut_host. */
+ char pad[14]; /* Reserved for future use. */
};
#define ut_time ut_tv.tv_sec /* Backwards compatibility. */