Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions libc-test/semver/linux-gnu.txt
Original file line number Diff line number Diff line change
Expand Up @@ -611,6 +611,9 @@ getentropy
getgrent_r
getloadavg
getmntent_r
getnetbyaddr_r
getnetbyname_r
getnetent_r
getpt
getpwent_r
getpwnam_r
Expand Down
6 changes: 6 additions & 0 deletions libc-test/semver/linux.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4073,6 +4073,7 @@ dup3
duplocale
endgrent
endmntent
endnetent
endpwent
endservent
endspent
Expand Down Expand Up @@ -4152,6 +4153,9 @@ getifaddrs
getline
getmntent
getnameinfo
getnetbyaddr
getnetbyname
getnetent
getopt_long
getpriority
getpwent
Expand Down Expand Up @@ -4281,6 +4285,7 @@ msgsnd
msqid_ds
name_t
name_to_handle_at
netent
newlocale
nice
nl_item
Expand Down Expand Up @@ -4471,6 +4476,7 @@ setgrent
setgroups
sethostname
setmntent
setnetent
setns
setpriority
setpwent
Expand Down
24 changes: 24 additions & 0 deletions src/unix/linux_like/linux/gnu/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1136,6 +1136,30 @@ extern "C" {
buflen: size_t,
result: *mut *mut crate::group,
) -> c_int;
pub fn getnetent_r(
result_buf: *mut crate::netent,
buf: *mut c_char,
buflen: size_t,
result: *mut *mut crate::netent,
h_errnop: *mut c_int,
) -> c_int;
pub fn getnetbyname_r(
name: *const c_char,
result_buf: *mut crate::netent,
buf: *mut c_char,
buflen: size_t,
result: *mut *mut crate::netent,
h_errnop: *mut c_int,
) -> c_int;
pub fn getnetbyaddr_r(
net: u32,
type_: c_int,
result_buf: *mut crate::netent,
buf: *mut c_char,
buflen: size_t,
result: *mut *mut crate::netent,
h_errnop: *mut c_int,
) -> c_int;

pub fn putpwent(p: *const crate::passwd, stream: *mut crate::FILE) -> c_int;
pub fn putgrent(grp: *const crate::group, stream: *mut crate::FILE) -> c_int;
Expand Down
13 changes: 13 additions & 0 deletions src/unix/linux_like/linux/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1128,6 +1128,14 @@ s! {
pub ifi_flags: c_uint,
pub ifi_change: c_uint,
}

// netdb.h
pub struct netent {
pub n_name: *mut c_char,
pub n_aliases: *mut *mut c_char,
pub n_addrtype: c_int,
pub n_net: u32,
}
}

cfg_if! {
Expand Down Expand Up @@ -4088,6 +4096,11 @@ extern "C" {
flags: c_int,
) -> c_int;
pub fn open_by_handle_at(mount_fd: c_int, handle: *mut file_handle, flags: c_int) -> c_int;
pub fn getnetbyname(name: *const c_char) -> *mut netent;
pub fn getnetbyaddr(net: u32, type_: c_int) -> *mut netent;
pub fn getnetent() -> *mut netent;
pub fn setnetent(stayopen: c_int);
pub fn endnetent();
}

// LFS64 extensions
Expand Down