diff options
author | Petr Vorel <petr.vorel@gmail.com> | 2020-08-18 18:56:26 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2020-08-19 13:48:46 +0200 |
commit | 8bc41f131b8d70c84c300f14cd64abd448126b43 (patch) | |
tree | b4d9b893583b909469e23409ac42bceba1fd8399 /libc/sysdeps/linux | |
parent | 8b1f6b2e08ed3c15484c2ca0c3f0a45125c559c1 (diff) |
Add {name, open}_to_handle_at() implementation
copied from musl 1.2.1.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r-- | libc/sysdeps/linux/common/Makefile.in | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/name_to_handle_at.c | 36 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/open_by_handle_at.c | 34 |
3 files changed, 72 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in index f114a5bd1..9562de52c 100644 --- a/libc/sysdeps/linux/common/Makefile.in +++ b/libc/sysdeps/linux/common/Makefile.in @@ -32,6 +32,8 @@ CSRC-$(UCLIBC_LINUX_SPECIFIC) += \ iopl.c \ modify_ldt.c \ module.c \ + name_to_handle_at.c \ + open_by_handle_at.c \ personality.c \ pipe2.c \ ppoll.c \ diff --git a/libc/sysdeps/linux/common/name_to_handle_at.c b/libc/sysdeps/linux/common/name_to_handle_at.c new file mode 100644 index 000000000..20c67cbca --- /dev/null +++ b/libc/sysdeps/linux/common/name_to_handle_at.c @@ -0,0 +1,36 @@ +/* + * Copyright © 2005-2020 Rich Felker, et al. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Imported from musl C library + */ + +#include <sys/syscall.h> + +#ifdef __NR_open_by_handle_at +#include <fcntl.h> +int name_to_handle_at(int dirfd, const char *pathname, + struct file_handle *handle, int *mount_id, int flags) +{ + return INLINE_SYSCALL(name_to_handle_at, 5, dirfd, pathname, handle, + mount_id, flags); +} +#endif diff --git a/libc/sysdeps/linux/common/open_by_handle_at.c b/libc/sysdeps/linux/common/open_by_handle_at.c new file mode 100644 index 000000000..5e65648a6 --- /dev/null +++ b/libc/sysdeps/linux/common/open_by_handle_at.c @@ -0,0 +1,34 @@ +/* + * Copyright © 2005-2020 Rich Felker, et al. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Imported from musl C library + */ + +#include <sys/syscall.h> + +#ifdef __NR_open_by_handle_at +#include <fcntl.h> +int open_by_handle_at(int mount_fd, struct file_handle *handle, int flags) +{ + return INLINE_SYSCALL(open_by_handle_at, 3, mount_fd, handle, flags); +} +#endif |