| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Remove license headers
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Headers I used:
Oh, for reference, here are the headers I used while working on this:
- musl: https://git.musl-libc.org/cgit/musl/tree/include/regex.h?id=8327ae0cb23b799bc55a45e0d4bd95f5a2b1cdf1
- glibc: https://sourceware.org/git/?p=glibc.git;a=blob;f=posix/regex.h;h=87cce7f5cb8cc3b678467329b479bd511e250e61;hb=HEAD
- macOS: https://opensource.apple.com/source/Libc/Libc-997.90.3/include/regex.h.auto.html
- FreeBSD: https://github.com/freebsd/freebsd/blob/8103b0ddb041617b7cd161528f0ff93ff32970a2/include/regex.h
- NetBSD: https://github.com/NetBSD/src/blob/61c8f6fbb7e38b20e862d5cb3ed2203312963283/include/regex.h
|
|/
|
|
| |
Add strndup(), as specified by POSIX.1-2008.
|
|\
| |
| | |
Split up Solaris and illumos targets
|
| | |
|
|\ \
| | |
| | | |
Add definition of ucontext_t for aarch64-unknown-linux-gnu
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
corresponding defines in include/uapi/linux/mman.h to linux_like/linux/gnu/mod.rs and the equivalent for musl in linux_like/linux/musl/mod.rs
Solves #1700
Removes two defines from musl/b32/hexagon.rs that are now provided two mudules "up"
|
| |
| |
| |
| |
| | |
This does not add sys_siglist because the docs specify that the function
should be used instead, whenever possible.
|
|\ \
| | |
| | | |
Add Linux UDP constants
|
| | | |
|
|\ \ \
| |/ /
|/| | |
fix cfmakeraw() for illumos and Solaris
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change fixes two issues. First, the current cfmakeraw()
implementation in this crate appears to be making a stack copy of the
input "struct termios" before modifying it, rather than correctly
modifying the original through the pointer. Before this modification
the routine did not, thus, set the flags for raw mode.
Second, we address the default settings of the MIN and TIME terminal
options. On at least FreeBSD and Linux systems, the modern default
value for MIN appears to be 1; i.e., block and wait for at least one
input byte. On most Solaris and illumos systems, the MIN control
character slot overlaps with EOF, and thus has a default value of 4.
This breaks at least the examples in the "termion" crate, and probably
quite a lot of other software written first and foremost for Linux
systems. We need to force the MIN value to 1 while switching to raw
mode.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `fanotify` API[0] is a linux-specific API for notification and interception
of filesystem events. In some ways it is similar to `inotify`, but with
different advantages/tradeoffs. It is particularly well suited to full
filesystem/mount monitoring (vs per directory) and for allowing/denying access
to files (`inotify` lacks this capability).
The `fanotify` API has been updated several times since it was enabled in Linux
2.6.37. Presently I've only included support for the original `fanotify`
features, and the `FAN_MARK_FILESYSTEM` addition made in Linux 4.20. There are
subsequent updates in 5.0 and 5.1 not covered in this initial commit.
This commit adds the relevant constants and types from
`uapi/linux/fanotify.h`[1] and two new functions (`fanotify_init`[2] and
`fanotify_wrap`[3]) to `src/unix/linux_like/linux/mod.rs`. While I believe this
API is also present on Android I have presently limited my attention to Linux.
Although this commit focuses on Linux 4.20.x's `fanotify` API/constants I have
skipped adding constants for `FAN_ALL_CLASS_BITS`, `FAN_ALL_INIT_FLAGS`,
`FAN_ALL_MARK_FLAGS`, `FAN_ALL_EVENTS`, `FAN_ALL_PERM_EVENTS` and
`FAN_ALL_OUTGOING_EVENTS` even though they are present in this kernel version's
headers. These defines were deprecated[4] in later releases with instructions to
not use them in new programs or extend them with new values. It would be a shame
for new Rust programs to use deprecated #defines!
[0]: http://man7.org/linux/man-pages/man7/fanotify.7.html
[1]: https://github.com/torvalds/linux/blob/d54f4fba889b205e9cd8239182ca5d27d0ac3bc2/include/uapi/linux/fanotify.h
[2]: http://man7.org/linux/man-pages/man2/fanotify_init.2.html
[3]: http://man7.org/linux/man-pages/man2/fanotify_mark.2.html
[4]: https://github.com/torvalds/linux/commit/23c9deeb3285d34fd243abb3d6b9f07db60c3cf4#diff-4c9ca62be6bf38cc08f7ea9daf16e379
|
|\
| |
| | |
Clean up unnecessary link_name attributes
|
| | |
|
|/
|
|
|
|
| |
* Function futimes is not available in Haiku.
* Functions futimens and utimensat are.
* Cleanup some leftover cfg_attr attributes.
|
|\
| |
| | |
Add Lockf POSIX to UNIX targets
|
| |
| |
| |
| | |
Fix #1631
|
|\ \
| | |
| | | |
Add accept4() for NetBSD, Illumos and Solaris
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
References:
* NetBSD (became available with 8.0):
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/socket.h?annotate=1.129&only_with_tag=MAIN
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/sys/accept4.c?annotate=1.2&only_with_tag=MAIN
* Illumos:
https://illumos.org/man/3socket/accept
https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/sys/socket.h
https://github.com/illumos/illumos-gate/blob/master/usr/src/lib/libsocket/socket/weaks.c
* Solaris:
https://docs.oracle.com/cd/E88353_01/html/E37843/accept-3c.html
|
|/
|
|
|
|
|
|
|
| |
This is a Linux-only feature that was already present as a
syscall. Add it just to linux/gnu for the moment, as the musl version
bundled in the Rust's x86_64-unknown-linux-musl toolchain doesn't
include it yet.
Signed-off-by: Sergio Lopez <slp@redhat.com>
|
| |
|
| |
|
| |
|
|\
| |
| | |
Add reenterant shadow.h functions
|
| | |
|
|\ \
| | |
| | | |
Tweak `MAP_SYNC`
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
Add AT_EACCESS to Linux, Solaris, and Fuchsia.
Add AT_SYMLINK_FOLLOW, AT_REMOVEDIR, and _AT_TRIGGER to Solaris.
|
|\ \
| | |
| | | |
Unify mmap flags
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
add macOS mount flags
|
| |/
| |
| |
| | |
https://github.com/apple/darwin-xnu/blob/master/bsd/sys/mount.h#L288
|
|/ |
|
|\
| |
| | |
Add constants from linux/keyctl.h
|
| | |
|
|\ \
| | |
| | | |
Move linux/reboot.h constants into linux module
|
| |/ |
|
|/ |
|
|\
| |
| | |
Add `CLOCK_TAI` to linux_like/mod.rs
|