From 06e86bde8886aca3e1cd8cbc948cff7a103f97ab Mon Sep 17 00:00:00 2001 From: "Joe Richey joerichey@google.com" Date: Mon, 17 Apr 2017 12:45:30 -0700 Subject: vendor: adding in golang.org/x/sys/unix package This commit adds in the golang.org/x/sys/unix package. This package provides a low-level interface to unix syscalls. We will uses this package instead of the built-in "syscall" package because the syscall package is locked down (https://golang.org/pkg/syscall) and is not exposing any new kernel functionality. In fact, this is actually a patched version of the x/sys/unix package pending review (first part: https://go-review.googlesource.com/c/37943). The version included in this commit exposes all of the filesystem encryption kernel interfaces to Go code. Change-Id: Ic5f9c98b858ccb00db97502c9a60e9249aa8ba38 --- vendor/golang.org/x/sys/unix/flock.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 vendor/golang.org/x/sys/unix/flock.go (limited to 'vendor/golang.org/x/sys/unix/flock.go') diff --git a/vendor/golang.org/x/sys/unix/flock.go b/vendor/golang.org/x/sys/unix/flock.go new file mode 100644 index 0000000..ce67a59 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/flock.go @@ -0,0 +1,24 @@ +// +build linux darwin freebsd openbsd netbsd dragonfly + +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd + +package unix + +import "unsafe" + +// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux +// systems by flock_linux_32bit.go to be SYS_FCNTL64. +var fcntl64Syscall uintptr = SYS_FCNTL + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk))) + if errno == 0 { + return nil + } + return errno +} -- cgit v1.3