github.com/go-asm/go@v1.21.1-0.20240213172139-40c5ead50c48/syscall/unix/fallocate_freebsd_64bit.go (about)

     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  
     7  package unix
     8  
     9  import "syscall"
    10  
    11  func 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  }