summaryrefslogtreecommitdiff
path: root/src/unistd.rs
AgeCommit message (Collapse)Author
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-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-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-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-10-11added unistd::mkfifo #602Jakub Pastuszek
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-08-27Remove syscall module.Bryant Mairs
This module merely contained FFI declarations, and only enough to implement memfd_create() and pivot_root() wrapper functions in nix. Since these declarations are redundant with equivalent FFI declarations in libc, we'll remove them here. In the future, any syscall-related wrapper function will be implemented directly and utilize libc for FFI declarations as we cannot generically expose a type-safe `syscall()` because of its variadic argument list.
2017-08-18unistd: add fexecve()Luca Bruno
This adds fexecve() to `nix::unistd`. It is available in libc since 0.2.29. Ref: http://pubs.opengroup.org/onlinepubs/9699919799/functions/fexecve.html
2017-08-14Added documentation to Whence.Nicolás Caracci
Changed SeekData and SeekHole hardcoded values to libc ones and added availability only to linux freebsd and dragonflybsd. Removed impl Whence and assigned the libc values directly in the enum definition.
2017-08-08Add FreeBSD, OpenBSD support for setresuid/setresgidWesley Moore
2017-07-22Document invariants of fork and fix testsJonas Schievink
Some tests were invoking non-async-signal-safe functions from the child process after a `fork`. Since they might be invoked in parallel, this could lead to problems.
2017-07-18Remove broken execvpe implementationBryant Mairs
It was broken when enabled, and currently the libc definition is only available for windows. This will be re-added when a new libc is released that supports it across all available platforms
2017-07-16Merge #677bors[bot]
677: PtyMaster::drop should panic on EBADF r=asomers Fixes #659
2017-07-15PtyMaster::drop should panic on EBADFAlan Somers
Also, document the double-close risk with unistd::close Fixes #659
2017-07-15Merge #630bors[bot]
630: Add wrappers for sysconf(3), pathconf(2), and fpathconf(2) r=asomers
2017-07-15Add sysconf(3), pathconf(2), and fpathconf(2)Alan Somers
2017-07-02Newtypes for uid_t, gid_t and pid_t.Martin Habovštiak
2017-04-21remove test warningsking6cong
2017-01-19unistd: add fchdir(2)Luca Bruno
This introduces a wrapper for fchdir(2), allowing a process to change directory based on an open file descriptor. The underlying function is available in libc crate since 0.2.20.
2017-01-15sethostname: convert to taking OsStr refPaul Osborne
Baed on discussions on the related PR, sethostname now takes an `S: AsRef<OsStr>` in order to allow for a greater range of inputs that allow for a more fluid interface. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2017-01-15unistd: document and change implementation of gethostnamePaul Osborne
Previously gethostname just mutated a buffer. We now provide a slightly more usable (but still allocation free) API that ensures that the returned buffer is NUL-terminated. We give back a `&CStr` instead of requiring that the user do all of the conversions from `&[u8]` when we know we are dealing with a `&CStr`. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2017-01-15unistd: add docs for gethostname and tweak APIPaul Osborne
Although the underlying C API does take a pointer to a set of characters, it is a requirement of almost every operating system that these bytes not contain a premature NUL character or other special characters. In other words, you want a `&str`. Changing this to make the API make a bit more sense. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-12-12Added getpgrpzethra
2016-11-23Fixed typo in tcsetpgrpzethra
2016-11-13Avoid TempDir::into_path(), because it doesn't cleanup on DropAlan Somers
2016-11-08Added .map(drop) as requestedzethra
2016-11-08Merge remote-tracking branch 'upstream/master'zethra
2016-11-08Added documention to tcgetpgrp and tcsetpgrpzethra
2016-11-01unistd: doc updates based on review commentsPaul Osborne
These make the language consistent in the 3rd person, fix a few minor mistakes, and remove some superflous prose. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-10-29unistd: add module-level doc comment that makes sensePaul Osborne
The previous one was entirely too generic. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-10-29unistd: add documentation for the daemon functionPaul Osborne
Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-10-29unistd: add docs for exec* functionsPaul Osborne
Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-10-30Auto merge of #449 - posborne:documentation-improvements, r=kamalmarhubiHomu
Documentation improvements This series of commits starts to fill in documentation that was not previously present for various calls, mostly in unistd for this pass. r? @kamalmarhubi
2016-10-28remove extra line in the commitkiddkai
2016-10-28add getpgidkiddkai
2016-10-27unistd: add docs for chownPaul Osborne
Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-10-27unistd: add docs for chdirPaul Osborne
Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-10-27unistd: document the dup, dup2, and dup3 callsPaul Osborne
Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-10-27unistd: add documentation for gettidPaul Osborne
Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-10-27unistd: add setsid implementationPaul Osborne
This is a logical companion to setpgid, so adding an implementation. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-10-27unistd: add documentation for setpgidPaul Osborne
Signed-off-by: Paul Osborne <osbpau@gmail.com>
2016-10-27unistd: add docs for getpid/getppidPaul Osborne
Signed-off-by: Paul Osborne <osbpau@gmail.com>