From 03481551dd2df49f3b25195a7302ca2980079f38 Mon Sep 17 00:00:00 2001
From: Kevin Kuehler <keur@ocf.berkeley.edu>
Date: Thu, 4 Apr 2019 19:45:57 -0700
Subject: [PATCH] add login_tty api from libutil

---
 libc-test/build.rs              | 2 +-
 src/unix/bsd/apple/mod.rs       | 1 +
 src/unix/bsd/freebsdlike/mod.rs | 1 +
 src/unix/bsd/netbsdlike/mod.rs  | 1 +
 src/unix/notbsd/mod.rs          | 1 +
 5 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/libc-test/build.rs b/libc-test/build.rs
index 3d8ddce4..ed40ddc3 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -124,7 +124,6 @@ fn do_ctest() {
         }
         cfg.header("arpa/inet.h");
         cfg.header("xlocale.h");
-        cfg.header("utmp.h");
         cfg.header("ifaddrs.h");
         if i686 || x86_64 {
             cfg.header("sys/reg.h");
@@ -208,6 +207,7 @@ fn do_ctest() {
         cfg.header("sys/personality.h");
         cfg.header("sys/swap.h");
         cfg.header("pty.h");
+        cfg.header("utmp.h");
         if !uclibc {
             cfg.header("sys/sysinfo.h");
         }
diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs
index 3c0877b2..9483e90b 100644
--- a/src/unix/bsd/apple/mod.rs
+++ b/src/unix/bsd/apple/mod.rs
@@ -3168,6 +3168,7 @@ extern {
                    name: *mut ::c_char,
                    termp: *mut termios,
                    winp: *mut ::winsize) -> ::pid_t;
+    pub fn login_tty(fd: ::c_int) -> ::c_int;
     pub fn duplocale(base: ::locale_t) -> ::locale_t;
     pub fn freelocale(loc: ::locale_t) -> ::c_int;
     pub fn localeconv_l(loc: ::locale_t) -> *mut lconv;
diff --git a/src/unix/bsd/freebsdlike/mod.rs b/src/unix/bsd/freebsdlike/mod.rs
index 32dbb769..7a82a45e 100644
--- a/src/unix/bsd/freebsdlike/mod.rs
+++ b/src/unix/bsd/freebsdlike/mod.rs
@@ -1299,6 +1299,7 @@ extern {
                    name: *mut ::c_char,
                    termp: *mut termios,
                    winp: *mut ::winsize) -> ::pid_t;
+    pub fn login_tty(fd: ::c_int) -> ::c_int;
 }
 
 cfg_if! {
diff --git a/src/unix/bsd/netbsdlike/mod.rs b/src/unix/bsd/netbsdlike/mod.rs
index 3ef2e09e..c75e6de0 100644
--- a/src/unix/bsd/netbsdlike/mod.rs
+++ b/src/unix/bsd/netbsdlike/mod.rs
@@ -643,6 +643,7 @@ extern {
                    name: *mut ::c_char,
                    termp: *mut termios,
                    winp: *mut ::winsize) -> ::pid_t;
+    pub fn login_tty(fd: ::c_int) -> ::c_int;
     pub fn getpriority(which: ::c_int, who: ::id_t) -> ::c_int;
     pub fn setpriority(which: ::c_int, who: ::id_t, prio: ::c_int) -> ::c_int;
 
diff --git a/src/unix/notbsd/mod.rs b/src/unix/notbsd/mod.rs
index 2af39130..00d5b78c 100644
--- a/src/unix/notbsd/mod.rs
+++ b/src/unix/notbsd/mod.rs
@@ -1383,6 +1383,7 @@ extern {
                 name: *mut ::c_char,
                 termp: *const termios,
                 winp: *const ::winsize) -> ::c_int;
+    pub fn login_tty(fd: ::c_int) -> ::c_int;
     pub fn execvpe(file: *const ::c_char, argv: *const *const ::c_char,
                    envp: *const *const ::c_char) -> ::c_int;
     pub fn fexecve(fd: ::c_int, argv: *const *const ::c_char,
-- 
GitLab