summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-12-08Merge #777bors[bot]
777: Use the real pipe2(2) on most targets r=asomers a=asomers FreeBSD added pipe2(2) in version 10.0.
2017-12-07Use the real pipe2(2) on all BSD targets.Alan Somers
All supported non-Apple platforms now use the native syscall. Only ios and macos lack it. Deprecate pipe2 on those platforms, because it's impossible to guarantee atomicity with a userland implementation. It was added in: * DragonflyBSD 4.2 * FreeBSD 10.0 * NetBSD 6.0 * OpenBSD 5.7
2017-12-05Merge #696bors[bot]
696: Stop reexporting `Errno` variants r=Susurrus a=jonas-schievink Closes #664 (unsure if this is everything needed)
2017-12-04Stop reexporting `Errno` and its variantsJonas Schievink
cc #664 (unsure if this is everything needed)
2017-12-03Add support for getifaddrs. Closes: #650.Markus Wanner
2017-12-02Upgrade to Bitflags 1.0Bryant Mairs
The libc_bitflags! macro was replaced with a non-recursive one supporting only public structs. I could not figure out how to make the old macro work with the upgrade, so I reworked part of the bitflags! macro directly to suit our needs, much as the original recursive macro was made. There are no uses of this macro for non-public structs, so this is not a problem for internal code.
2017-12-01Fix UB in epoll_ctlBryant Mairs
When passing None as an argument to `epoll_ctl`, UB is elicited within the `Into<&EpollEvent>` impl because it passes a null pointer as a `&mut EpollEvent`. Instead we remove that implementation completely and handle this case directly within the `epoll_ctl` function. Thanks to Arnavion for helping to debug this.
2017-11-19unistd: add execveat() on Linux and AndroidLuca Bruno
This adds execveat() to `nix::unistd`. It uses the execveat(2) Linux kernel syscall, which is available since 3.19. This is a Linux-specific extension which is not covered by POSIX and does not have any userland libc wrapper. Ref: http://man7.org/linux/man-pages/man2/execveat.2.html
2017-11-19sys/socket: add UnixAddr abstract name getterLuca Bruno
This introduces an `as_abstract()` getter to `UnixAddr` in order to retrieve the name of an abstract unix socket. This also adds tests around abstract addresses and clarify docs, adding explicit semantics.
2017-11-16Use libc function declarations for errno gettersBryant Mairs
2017-11-16Remove bitrig #[cfgsBryant Mairs
Bitrig is in the process of re-merging with OpenBSD as is no longer actively developed. Additionally it was never tested, and probably was quite broken, for nix. So let's remove all references and not even pretend to support it.
2017-11-12unistd: Rework import of std::ptrJamie Hewland
2017-11-12unistd: groups: Disable functions on Apple platformsJamie Hewland
2017-11-12unistd: groups: Respond to minor PR feedback itemsJamie Hewland
2017-11-12unistd: Make getgrouplist and initgroups take &CStrJamie Hewland
Don't need to call as_c_str()
2017-11-12unistd: Add getgrouplist()Jamie Hewland
2017-11-12unistd: Add initgroups()Jamie Hewland
2017-11-12unistd: Add getgroups()Jamie Hewland
2017-11-12unistd: Add setgroups()Jamie Hewland
2017-11-12unistd: Remove trailing whitespaceJamie Hewland
2017-11-11Merge #568bors[bot]
568: Add process_vm_readv and process_vm_writev r=asomers a=geofft
2017-11-11Merge #787bors[bot]
787: Omit invalid waitpid flags on OpenBSD r=Susurrus a=worr OpenBSD doesn't have `WEXITED`, `WSTOPPED`, or `WNOWAIT`, so omit those from that platform.
2017-11-11Formatting with rustfmtWilliam Orr
2017-11-11Omit invalid waitpid flags on OpenBSDWilliam Orr
OpenBSD doesn't have `WEXITED`, `WSTOPPED`, or `WNOWAIT`, so omit those from that platform.
2017-11-11Merge #792bors[bot]
792: Use libc_enum! where possible r=Susurrus a=wginolas Some enums which use different names for values than libc still set the discriminators manually. closes #254
2017-11-11Alphabetize some target_os configurationsWolfgang Ginolas
2017-11-08Add process_vm_readv and process_vm_writevGeoffrey Thomas
2017-11-08Merge #771bors[bot]
771: ptrace: add PTRACE_O_EXITKILL option r=Susurrus a=bpowers It is a somewhat newer option -- it requires Linux 3.8. Is there a more precise way to specify that?
2017-11-07Merge #794bors[bot]
794: Migrate memfd constants to libc r=Susurrus a=Susurrus This will fail because rust-lang/libc#836 is not merged yet, but just getting it staged for when it is.
2017-11-05Migrate memfd constants to libcBryant Mairs
2017-11-05Use libc_enum! where possibleWolfgang Ginolas
Some enums which use different names for values than libc still set the discriminators manually. closes #254
2017-11-05Fix kevent for netbsd filter datatypeBryant Mairs
The datatype for kevent.filter is u32 on NetBSD and i16 on all other supported platforms. This was recently fixed in upstream libc, breaking this API, so this fixes it. This change also modernizes the code a bit to unify the EventFilter datatype across platforms and switch to the libc_enum! macro.
2017-11-05Sort target OSes alphabeticallyBryant Mairs
2017-10-30ptrace: add PTRACE_O_EXITKILL optionBobby Powers
It is a somewhat newer option -- it requires Linux 3.8.
2017-10-11added unistd::mkfifo #602Jakub Pastuszek
2017-10-11Merge #778bors[bot]
778: Replace most Linux man page links with Open Group man page links r=posborne a=asomers But leave in place Linux links for non-standard functions. Also, add brief docs for some functions that were lacking them.
2017-10-08Replace most Linux man page links with Open Group man page linksAlan Somers
But leave in place Linux links for non-standard functions. Also, add brief docs for some functions that were lacking them.
2017-10-07Add support for 'fallocate'Sanchayan Maity
2017-10-02Add more accessors for AioCbAlan Somers
2017-09-04Add support for SO_TIMESTAMPWesley Wolfe
2017-09-03Fixed error handling in `AioCb::{fsync,read,write}`Alan Somers
Previously, the `AioCb`'s `in_progress` field would erroneously be set to `true`, even if the syscall had an error Fixes #714
2017-09-03AioCb::Drop will now panic for in-progress AioCbAlan Somers
Printing a warning message to stderr isn't really appropriate, because there's no way to guarantee that stderr is even valid. Nor is aio_suspend necessarily an appropriate action to take.
2017-09-03Merge #746bors[bot]
746: Replace socket FFI with libc versions r=asomers a=Susurrus Getting this up there to get some CI run on it. Replacing the `msghdr`, `cmsghdr`, and other FFI function declarations will be a little more involved so I wanted to run this through first.
2017-09-01Merge #750bors[bot]
750: Migrate quota module to libc FFI types r=asomers a=Susurrus
2017-08-29Migrate quota module to libc FFI typesBryant Mairs
2017-08-30Merge #745bors[bot]
745: Use upstream libc definitions for fcntl FFI r=asomers a=Susurrus
2017-08-29Use upstream libc definitions for fcntl FFIBryant Mairs
2017-08-28Merge #749bors[bot]
749: Moved ptrace constants into enum types plus minor additions r=Susurrus a=xd009642 Reopening of #734 hence the branch name, changelog will be updated once the pr number of this new pull request is known.
2017-08-28Added detach functionxd009642
2017-08-28Moved ptrace constants into enum types added minor functionality.xd009642
Used the libc_enum! macro to create enums for the ptrace event, request, and libc_bitflags for options constants defined in libc. Also, replicated functionality to move from c_int to PtraceEvent enum in PR #728 as it appears to be abandoned. Added utility function for detaching from tracee. Updated names and removed ptrace::ptrace namespace