• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2023 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5//go:build freebsd && (amd64 || arm64 || riscv64)
6
7package unix
8
9import "syscall"
10
11func PosixFallocate(fd int, off int64, size int64) error {
12	// If successful, posix_fallocate() returns zero. It returns an error on failure, without
13	// setting errno. See https://man.freebsd.org/cgi/man.cgi?query=posix_fallocate&sektion=2&n=1
14	r1, _, _ := syscall.Syscall(posixFallocateTrap, uintptr(fd), uintptr(off), uintptr(size))
15	if r1 != 0 {
16		return syscall.Errno(r1)
17	}
18	return nil
19}
20