summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-01-18Add POSIX function raise()Philipp Matthias Schaefer
2016-01-18Publish SockFlags from nix::sys::signal.Philipp Matthias Schaefer
This brings them in alignment with other things republished from the OS specific nix::sys::signal::signal.
2016-01-18Fix name of MNT_DETACH flagKamal Marhubi
2016-01-18setnsarcnmx
2016-01-15add aarch64 supportBrian Martin
2016-01-13Add safe wrappers for getuid, geteuid, getgid, getegidKamal Marhubi
Fixes #213
2015-12-22Fix build on Linux & Rust nightlyCarl Lerche
2015-12-22Fix broken tests on nightlyCarl Lerche
2015-12-22add NSIG constantPhilipp Matthias Schaefer
glibc defines this constant as "the total number of signals defined. Since the signal numbers are allocated consecutively, NSIG is also one greater than the largest defined signal number."
2015-12-22Implement support for getsockopt of peer credentials using the Linux ↵Magnus Hoff
specific SO_PEERCRED
2015-12-04socket(): add protocol argument (breaking change)Alexander Polakov
2015-12-03add function for handling PTRACE_SETOPTIONS nicelyDavid Roundy
2015-12-03add an implementation of setpgidDavid Roundy
2015-12-03support more flags to waitpid and wait on linuxDavid Roundy
2015-12-03NetBSD tweaks for kqueue supportZachary Tong
2015-12-03Statvfs improvementsBrandon W Maister
* Implement `Default` * Add documentation * Add some convenience wrappers
2015-11-20netbsd supportJeremy Fitzhardinge
2015-11-03Use `libc::PATH_MAX` in `NixPath::with_nix_path`.Utkarsh Kukreti
2015-10-28Fix handling of sockaddr_un lengthsGeoffrey Thomas
The returned length of AF_UNIX sockaddrs is significant, and generally does not match the length of the entire structure. For filesystem sockets, this is ignorable because the path is also NUL-terminated, but for unbound sockets (e.g., a socketpair) or abstract-namespace sockets (a Linux extension where the address is an arbitrary bytestring), we need to keep track of the length. Fixes #177. Also add a UnixAddr::new_abstract function and some better handling of abstract-namespace socket addresses to fix #169.
2015-10-27Improve Error interoperability with stdJeremy Fitzhardinge
- Add From implementaion for io::Error, so nix::Error can be turned into a std::io::Error. - Add From from Errno - a little more idiomatic than from_errno these days - Implement std::error::Error for nix::Error
2015-10-27Add support for fsync, fdatasyncJeremy Fitzhardinge
2015-10-27Fix some commentsJeremy Fitzhardinge
2015-10-20Move a few bindings behind featuresCarl Lerche
2015-10-16Fix memory issue with exec family of fnsCarl Lerche
2015-10-07Add sys::select::FdSet::clear.Utkarsh Kukreti
2015-10-06Add support for sendmsg(2), recvmsg(2), and cmsg(3)Geoffrey Thomas
The best specification for control message layout appears to be [RFC 2292, section 4](https://tools.ietf.org/html/rfc2292#section-4), despite this not being a wire protocol. These definitions have also been checked against glibc 2.19 <bits/socket.h> and Linux 4.0 <linux/socket.h>, and tested on Debian 8.1 and FreeBSD 10.2 x86_64. The API differs a bit from the cmsg(3) API for type-safety reasons (and also because the cmsg(3) API is terrible). See test/sys/test_socket.rs for an example. Only supports SCM_RIGHTS at the moment. Fixes #88.
2015-09-28statfs() & fstatfs()Alexander Polakov
2015-09-28sys/event: add kevent_ts to better expose kevent timeoutLuca Barbieri
This allows to specify no timeout and allows to specify any timespec timeout.
2015-09-28added convenience functions for setting O_NONBLOCK on message queuesMarkus Jais
2015-09-28quotactl() API for linuxAlexander Polakov
2015-09-28Revert "Add support for sendmsg(2), recvmsg(2), and cmsg(4)"Carl Lerche
This reverts commit 046af7d1ba82506f9bc48e62ac0584361025fc02.
2015-09-28Add sys::select::FdSet and sys::select::select.Utkarsh Kukreti
2015-09-24Add support for sendmsg(2), recvmsg(2), and cmsg(4)Geoffrey Thomas
The best specification for control message layout appears to be [RFC 2292, section 4](https://tools.ietf.org/html/rfc2292#section-4), despite this not being a wire protocol. These definitions have also been checked against glibc 2.19 <bits/socket.h> and Linux 4.0 <linux/socket.h>, and tested on Debian 8.1 and FreeBSD 10.2 x86_64. The API differs a bit from the cmsg(4) API for type-safety reasons (and also because the cmsg(4) API is terrible). See test/sys/test_socket.rs for an example. Only supports SCM_RIGHTS at the moment. Fixes #88.
2015-09-15ioctl: only run ioctl doctest under linuxPaul Osborne
2015-09-15ioctl: correct documentation and add example ioctl! codePaul Osborne
2015-09-15ioctl: make ioctl functions publicPaul Osborne
Consumers of the API may control visibility by means of a module. The following is a useful pattern that may be used by implementors (here for a couple of i2cdev ioctl definitions): mod ioctl { ioctl!(bad set_i2c_slave_address with super::I2C_SLAVE); ioctl!(bad i2c_smbus with super::I2C_SMBUS); } This resolves #184.
2015-09-15ioctl: clean up source file for ioctlsPaul Osborne
Readability was unecessarily impaired via a myriad of attributes to hide constants from the documentation. If these attributes are exposed publically, including them in the documentation makes sense.
2015-09-10Add signalfd supportAlex Gulyás
2015-09-09Add/Fix support for DragonFly BSDMichael Neumann
2015-09-03added support and tests for mq_setattrMarkus Jais
2015-09-03Fix test failures on FreeBSDGeoffrey Thomas
2015-09-03Make tests compile on FreeBSDGeoffrey Thomas
Add <sys/types.h>, which GNU is generally lenient about requiring, and drop the spurious errno "ETYPE" which is nowhere to be seen in the source tree (or in Apple's <errno.h>, either).
2015-09-03Fix the struct packing of EpollEventAlex Gulyás
2015-08-25Add memfd functionalityDavid Henningsson
2015-08-22Fix signature of linux `clone` functionPaul Colomiets
In fact function returns pid of new process (or tid of new thread)
2015-08-21Merge remote-tracking branch 'posborne/ioctl-rework'Carl Lerche
2015-08-17renamed test methods for mqueue and added mq_unlinkMarkus Jais
2015-08-15Add flock(2) supportAndy Grover
2015-08-14ioctl: fix bugs with op generation for writesPaul Osborne
These had ior! rather than iow! previously. ior! is obviously not correct for write operations.
2015-08-14ioctl: do not make macro generated functions publicPaul Osborne
if code incorporating these macros wants to publicly export the functions they may do so by doing the following: pub ioctl!(...); Since the functions are unsafe, in many cases exposing the functions publicly will not be desirable.