unix: add SEEK_* constants on Darwin, FreeBSD, Linux The Go "os" package already provides bindings for SEEK_CUR, SEEK_SET and SEEK_END. Most operating systems also support SEEK_HOLE and SEEK_DATA, which you can use to skip sparse regions in a file. Let's add bindings, so we can also do this from within Go. Change-Id: If9243b05a8f563b4bce2452aa4bff145d9442cc2 GitHub-Last-Rev: ac8aed2d4aaddc4a28aab657d027f67ba6717e19 GitHub-Pull-Request: golang/sys#112 Reviewed-on: https://go-review.googlesource.com/c/sys/+/328170 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
diff --git a/unix/mkerrors.sh b/unix/mkerrors.sh index 3f670fa..6e6afca 100755 --- a/unix/mkerrors.sh +++ b/unix/mkerrors.sh
@@ -563,6 +563,7 @@ $2 ~ /^KEYCTL_/ || $2 ~ /^PERF_/ || $2 ~ /^SECCOMP_MODE_/ || + $2 ~ /^SEEK_/ || $2 ~ /^SPLICE_/ || $2 ~ /^SYNC_FILE_RANGE_/ || $2 !~ /^AUDIT_RECORD_MAGIC/ &&
diff --git a/unix/zerrors_darwin_amd64.go b/unix/zerrors_darwin_amd64.go index 991996b..5bb48ef 100644 --- a/unix/zerrors_darwin_amd64.go +++ b/unix/zerrors_darwin_amd64.go
@@ -1262,6 +1262,11 @@ SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIMESTAMP_MONOTONIC = 0x4 + SEEK_CUR = 0x1 + SEEK_DATA = 0x4 + SEEK_END = 0x2 + SEEK_HOLE = 0x3 + SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1
diff --git a/unix/zerrors_darwin_arm64.go b/unix/zerrors_darwin_arm64.go index e644eaf..11e5709 100644 --- a/unix/zerrors_darwin_arm64.go +++ b/unix/zerrors_darwin_arm64.go
@@ -1262,6 +1262,11 @@ SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIMESTAMP_MONOTONIC = 0x4 + SEEK_CUR = 0x1 + SEEK_DATA = 0x4 + SEEK_END = 0x2 + SEEK_HOLE = 0x3 + SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1
diff --git a/unix/zerrors_freebsd_386.go b/unix/zerrors_freebsd_386.go index 9c7c5e1..4409001 100644 --- a/unix/zerrors_freebsd_386.go +++ b/unix/zerrors_freebsd_386.go
@@ -1297,6 +1297,11 @@ SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 + SEEK_CUR = 0x1 + SEEK_DATA = 0x3 + SEEK_END = 0x2 + SEEK_HOLE = 0x4 + SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1
diff --git a/unix/zerrors_freebsd_amd64.go b/unix/zerrors_freebsd_amd64.go index b265abb..64520d3 100644 --- a/unix/zerrors_freebsd_amd64.go +++ b/unix/zerrors_freebsd_amd64.go
@@ -1298,6 +1298,11 @@ SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 + SEEK_CUR = 0x1 + SEEK_DATA = 0x3 + SEEK_END = 0x2 + SEEK_HOLE = 0x4 + SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1
diff --git a/unix/zerrors_freebsd_arm.go b/unix/zerrors_freebsd_arm.go index 3df99f2..99e9a0e 100644 --- a/unix/zerrors_freebsd_arm.go +++ b/unix/zerrors_freebsd_arm.go
@@ -1276,6 +1276,11 @@ SCM_CREDS = 0x3 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 + SEEK_CUR = 0x1 + SEEK_DATA = 0x3 + SEEK_END = 0x2 + SEEK_HOLE = 0x4 + SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1
diff --git a/unix/zerrors_freebsd_arm64.go b/unix/zerrors_freebsd_arm64.go index 218d399..4c83771 100644 --- a/unix/zerrors_freebsd_arm64.go +++ b/unix/zerrors_freebsd_arm64.go
@@ -1298,6 +1298,11 @@ SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 SCM_TIME_INFO = 0x7 + SEEK_CUR = 0x1 + SEEK_DATA = 0x3 + SEEK_END = 0x2 + SEEK_HOLE = 0x4 + SEEK_SET = 0x0 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1
diff --git a/unix/zerrors_linux.go b/unix/zerrors_linux.go index c3fa224..52f5bbc 100644 --- a/unix/zerrors_linux.go +++ b/unix/zerrors_linux.go
@@ -2284,6 +2284,12 @@ SECCOMP_MODE_FILTER = 0x2 SECCOMP_MODE_STRICT = 0x1 SECURITYFS_MAGIC = 0x73636673 + SEEK_CUR = 0x1 + SEEK_DATA = 0x3 + SEEK_END = 0x2 + SEEK_HOLE = 0x4 + SEEK_MAX = 0x4 + SEEK_SET = 0x0 SELINUX_MAGIC = 0xf97cff8c SHUT_RD = 0x0 SHUT_RDWR = 0x2