// Code generated by modernc.org/undup from the per-target sqlite_*.go files; DO NOT EDIT.

//go:build (darwin && amd64) || (darwin && arm64) || (freebsd && 386) || (freebsd && amd64) || (freebsd && arm) || (freebsd && arm64) || (linux && 386) || (linux && amd64) || (linux && arm) || (linux && arm64) || (linux && loong64) || (linux && ppc64le) || (linux && riscv64) || (linux && s390x) || (openbsd && amd64) || (openbsd && arm64)

package sqlite3

import (
	"unsafe"

	"modernc.org/libc"
)

const FD_SETSIZE = 1024

const FP_NORMAL = 4

// C documentation
//
//	/*
//	** On some systems, calls to fchown() will trigger a message in a security
//	** log if they come from non-root processes.  So avoid calling fchown() if
//	** we are not running as root.
//	*/
func _robustFchown(tls *libc.TLS, fd int32, uid Tuid_t, gid Tgid_t) (r int32) {
	var v1 int32
	_ = v1
	if (*(*func(*libc.TLS) Tuid_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(21)].FpCurrent})))(tls) != 0 {
		v1 = 0
	} else {
		v1 = (*(*func(*libc.TLS, int32, Tuid_t, Tgid_t) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(20)].FpCurrent})))(tls, fd, uid, gid)
	}
	return v1
}

type caddr_t = Tcaddr_t

type fsblkcnt_t = Tfsblkcnt_t

type fsfilcnt_t = Tfsfilcnt_t

type gid_t = Tgid_t

type register_t = Tregister_t

type uid_t = Tuid_t
