// Copyright (C) 2022 Marius Schellenberger

//go:build openbsd
// +build openbsd

package godrop

import (
	"errors"
	"golang.org/x/sys/unix"
)

// Unveil is a wrapper for x/sys/unix Unveil.
//
// See https://go.googlesource.com/sys/+/master/unix/openbsd_unveil.go for usage.
func Unveil(path, flags string) (err error) {
	err = unix.Unveil(path, flags)
	if err != nil {
		err = errors.New("unveil: " + err.Error())
	}
	return
}

// UnveilBlock is a wrapper for x/sys/unix UnveilBlock.
//
// See https://go.googlesource.com/sys/+/master/unix/openbsd_unveil.go for usage.
func UnveilBlock() (err error) {
	err = unix.UnveilBlock()
	if err != nil {
		err = errors.New("unveil: " + err.Error())
	}
	return
}
