summaryrefslogtreecommitdiff
path: root/libc/include/utmp.h
diff options
context:
space:
mode:
authorJustin DeMartino <jjdemartino@google.com>2020-09-21 13:23:58 -0700
committerJustin DeMartino <jjdemartino@google.com>2020-09-21 13:23:58 -0700
commit7e4fe6a28b718ab97c08811566238af2893ca65b (patch)
tree5413a5ec890b5a1ac4fbbe4548b5014e41a2591b /libc/include/utmp.h
parentdcdcb3fa15004669823a3a118189d9d72ff30852 (diff)
parentab08b955a34423d53b28a6210e7530e67241af4a (diff)
Merge SP1A.200921.001
Change-Id: Id2ab019914bb555dadf52c46b8403c0d5fb3c20a
Diffstat (limited to 'libc/include/utmp.h')
-rw-r--r--libc/include/utmp.h80
1 files changed, 52 insertions, 28 deletions
diff --git a/libc/include/utmp.h b/libc/include/utmp.h
index 6a5251153..cb72ce235 100644
--- a/libc/include/utmp.h
+++ b/libc/include/utmp.h
@@ -25,8 +25,13 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
-#ifndef _UTMP_H_
-#define _UTMP_H_
+
+#pragma once
+
+/**
+ * @file utmp.h
+ * @brief POSIX login records.
+ */
#include <sys/cdefs.h>
#include <sys/types.h>
@@ -57,52 +62,71 @@
#define DEAD_PROCESS 8
#define ACCOUNTING 9
-struct lastlog
-{
- time_t ll_time;
- char ll_line[UT_LINESIZE];
- char ll_host[UT_HOSTSIZE];
+struct lastlog {
+ time_t ll_time;
+ char ll_line[UT_LINESIZE];
+ char ll_host[UT_HOSTSIZE];
};
-struct exit_status
-{
- short int e_termination;
- short int e_exit;
+struct exit_status {
+ short int e_termination;
+ short int e_exit;
};
+struct utmp {
+ short int ut_type;
+ pid_t ut_pid;
+ char ut_line[UT_LINESIZE];
+ char ut_id[4];
+ char ut_user[UT_NAMESIZE];
+ char ut_host[UT_HOSTSIZE];
-struct utmp
-{
- short int ut_type;
- pid_t ut_pid;
- char ut_line[UT_LINESIZE];
- char ut_id[4];
- char ut_user[UT_NAMESIZE];
- char ut_host[UT_HOSTSIZE];
-
- struct exit_status ut_exit;
+ struct exit_status ut_exit;
- long int ut_session;
- struct timeval ut_tv;
+ long int ut_session;
+ struct timeval ut_tv;
- int32_t ut_addr_v6[4];
- char unsed[20];
+ int32_t ut_addr_v6[4];
+ char unused[20];
};
-
#define ut_name ut_user
#define ut_time ut_tv.tv_sec
#define ut_addr ut_addr_v6[0]
__BEGIN_DECLS
+/**
+ * Does nothing.
+ */
int utmpname(const char* __path);
+/**
+ * Does nothing.
+ */
void setutent(void);
+/**
+ * Does nothing.
+ */
struct utmp* getutent(void);
+/**
+ * Does nothing.
+ */
+struct utmp* pututline(const struct utmp* __entry);
+/**
+ * Does nothing.
+ */
void endutent(void);
+/**
+ * [login_tty(3)](https://www.man7.org/linux/man-pages/man3/login_tty.3.html)
+ * prepares for login on the given file descriptor.
+ *
+ * See also forkpty() which combines openpty(), fork(), and login_tty().
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ *
+ * Available since API level 23.
+ */
int login_tty(int __fd) __INTRODUCED_IN(23);
__END_DECLS
-
-#endif /* _UTMP_H_ */