summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-07-03 10:52:55 +0200
committerLudovic Courtès <ludo@gnu.org>2018-07-03 17:50:04 +0200
commit25c7ff6a3ecbaa1e93b38d35c8cbff40b7f4edb8 (patch)
tree77aee44c3d14d98dfac93f504e6041f6dfbf5c83 /guix
parenta5b34d9d24cababcaa9d5e93813ccb3196e11a95 (diff)
syscalls: Define AT_SYMLINK_NOFOLLOW et al.
* guix/build/syscalls.scm (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR) (AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, AT_EMPTY_PATH): New variables. * tests/syscalls.scm ("utime with AT_SYMLINK_NOFOLLOW"): New test.
Diffstat (limited to 'guix')
-rw-r--r--guix/build/syscalls.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index 25726b885e..74cb675fcf 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -46,6 +46,14 @@
MNT_DETACH
MNT_EXPIRE
UMOUNT_NOFOLLOW
+
+ AT_FDCWD
+ AT_SYMLINK_NOFOLLOW
+ AT_REMOVEDIR
+ AT_SYMLINK_FOLLOW
+ AT_NO_AUTOMOUNT
+ AT_EMPTY_PATH
+
restart-on-EINTR
mount-points
swapon
@@ -667,6 +675,15 @@ mounted at FILE."
(* (file-system-block-size fs)
(file-system-blocks-available fs))))
+;; Flags for the *at command, notably the 'utime' procedure of libguile.
+;; From <fcntl.h>.
+(define AT_FDCWD -100)
+(define AT_SYMLINK_NOFOLLOW #x100)
+(define AT_REMOVEDIR #x200)
+(define AT_SYMLINK_FOLLOW #x400)
+(define AT_NO_AUTOMOUNT #x800)
+(define AT_EMPTY_PATH #x1000)
+
;;;
;;; Containers.