package syd
import "C"
import (
"encoding/json"
"os"
"syscall"
"unsafe"
)
type LockState uint8
const (
LockOff LockState = iota
LockExec
LockDrop
LockRead
LockOn
)
type Action uint8
const (
ActionAllow Action = iota
ActionWarn
ActionFilter
ActionDeny
ActionPanic
ActionStop
ActionAbort
ActionKill
ActionExit
)
type Sandbox struct {
Id string `json:"id"`
Flags []string `json:"flags"`
State string `json:"state"`
Lock string `json:"lock"`
Cpid int `json:"cpid"`
DefaultFs string `json:"default_fs"`
DefaultWalk string `json:"default_walk"`
DefaultList string `json:"default_list"`
DefaultStat string `json:"default_stat"`
DefaultRead string `json:"default_read"`
DefaultWrite string `json:"default_write"`
DefaultExec string `json:"default_exec"`
DefaultIoctl string `json:"default_ioctl"`
DefaultCreate string `json:"default_create"`
DefaultDelete string `json:"default_delete"`
DefaultRename string `json:"default_rename"`
DefaultReadlink string `json:"default_readlink"`
DefaultSymlink string `json:"default_symlink"`
DefaultTruncate string `json:"default_truncate"`
DefaultChdir string `json:"default_chdir"`
DefaultReaddir string `json:"default_readdir"`
DefaultMkdir string `json:"default_mkdir"`
DefaultRmdir string `json:"default_rmdir"`
DefaultChown string `json:"default_chown"`
DefaultChgrp string `json:"default_chgrp"`
DefaultChmod string `json:"default_chmod"`
DefaultChattr string `json:"default_chattr"`
DefaultChroot string `json:"default_chroot"`
DefaultNotify string `json:"default_notify"`
DefaultUtime string `json:"default_utime"`
DefaultMkbdev string `json:"default_mkbdev"`
DefaultMkcdev string `json:"default_mkcdev"`
DefaultMkfifo string `json:"default_mkfifo"`
DefaultMktemp string `json:"default_mktemp"`
DefaultNetBind string `json:"default_net_bind"`
DefaultNetConnect string `json:"default_net_connect"`
DefaultNetSendFd string `json:"default_net_send_fd"`
DefaultBlock string `json:"default_block"`
DefaultMem string `json:"default_mem"`
DefaultPid string `json:"default_pid"`
DefaultForce string `json:"default_force"`
DefaultSegvGuard string `json:"default_segvguard"`
DefaultTPE string `json:"default_tpe"`
MemMax int64 `json:"mem_max"`
MemVmMax int64 `json:"mem_vm_max"`
PidMax int `json:"pid_max"`
CidrRules []CidrRule `json:"cidr_rules"`
GlobRules []GlobRule `json:"glob_rules"`
ForceRules []ForceRule `json:"force_rules"`
SegvGuardExpiry uint64 `json:"segvguard_expiry"`
SegvGuardSuspension uint64 `json:"segvguard_suspension"`
SegvGuardMaxCrashes uint8 `json:"segvguard_maxcrashes"`
}
type FilterRule struct {
Pat string `json:"pat"`
}
type CidrRule struct {
Act string `json:"act"`
Cap string `json:"cap"`
Pat Pattern `json:"pat"`
}
type GlobRule struct {
Act string `json:"act"`
Cap string `json:"cap"`
Pat string `json:"pat"`
}
type ForceRule struct {
Act string `json:"act"`
Alg string `json:"alg"`
Sum string `json:"sum"`
Pat string `json:"pat"`
}
type Pattern struct {
Addr string `json:"addr"`
Port interface{} `json:"port"` }
func Info() (*Sandbox, error) {
data, err := os.ReadFile("/dev/syd")
if err != nil {
return nil, err }
var state Sandbox
if err = json.Unmarshal(data, &state); err != nil {
return nil, syscall.EINVAL }
return &state, nil
}
func Check() error {
result := C.syd_check()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func Api() (int, error) {
result := C.syd_api()
if result < 0 {
return -1, syscall.Errno(-result)
}
return int(result), nil
}
func Panic() error {
result := C.syd_panic()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func Reset() error {
result := C.syd_reset()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func Load(fd int) error {
result := C.syd_load(C.int(fd))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func Lock(state LockState) error {
result := C.syd_lock(C.lock_state_t(state))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func Exec(file string, argv []string) error {
cFile := C.CString(file)
defer C.free(unsafe.Pointer(cFile))
cArgv := make([]*C.char, len(argv)+1)
for i, arg := range argv {
cArgv[i] = C.CString(arg)
defer C.free(unsafe.Pointer(cArgv[i]))
}
cArgv[len(argv)] = nil
result := C.syd_exec(cFile, &cArgv[0])
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnableFs() error {
result := C.syd_enable_fs()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableFs() error {
result := C.syd_disable_fs()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledFs() bool {
result := C.syd_enabled_fs()
return bool(result)
}
func EnableWalk() error {
result := C.syd_enable_walk()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableWalk() error {
result := C.syd_disable_walk()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledWalk() bool {
result := C.syd_enabled_walk()
return bool(result)
}
func EnableList() error {
result := C.syd_enable_list()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableList() error {
result := C.syd_disable_list()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledList() bool {
result := C.syd_enabled_list()
return bool(result)
}
func EnableStat() error {
result := C.syd_enable_stat()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableStat() error {
result := C.syd_disable_stat()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledStat() bool {
result := C.syd_enabled_stat()
return bool(result)
}
func EnableRead() error {
result := C.syd_enable_read()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableRead() error {
result := C.syd_disable_read()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledRead() bool {
result := C.syd_enabled_read()
return bool(result)
}
func EnableWrite() error {
result := C.syd_enable_write()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableWrite() error {
result := C.syd_disable_write()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledWrite() bool {
result := C.syd_enabled_write()
return bool(result)
}
func EnableExec() error {
result := C.syd_enable_exec()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableExec() error {
result := C.syd_disable_exec()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledExec() bool {
result := C.syd_enabled_exec()
return bool(result)
}
func EnableIoctl() error {
result := C.syd_enable_ioctl()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableIoctl() error {
result := C.syd_disable_ioctl()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledIoctl() bool {
result := C.syd_enabled_ioctl()
return bool(result)
}
func EnableCreate() error {
result := C.syd_enable_create()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableCreate() error {
result := C.syd_disable_create()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledCreate() bool {
result := C.syd_enabled_create()
return bool(result)
}
func EnableDelete() error {
result := C.syd_enable_delete()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableDelete() error {
result := C.syd_disable_delete()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledDelete() bool {
result := C.syd_enabled_delete()
return bool(result)
}
func EnableRename() error {
result := C.syd_enable_rename()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableRename() error {
result := C.syd_disable_rename()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledRename() bool {
result := C.syd_enabled_rename()
return bool(result)
}
func EnableReadlink() error {
result := C.syd_enable_readlink()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableReadlink() error {
result := C.syd_disable_readlink()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledReadlink() bool {
result := C.syd_enabled_readlink()
return bool(result)
}
func EnableSymlink() error {
result := C.syd_enable_symlink()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableSymlink() error {
result := C.syd_disable_symlink()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledSymlink() bool {
result := C.syd_enabled_symlink()
return bool(result)
}
func EnableTruncate() error {
result := C.syd_enable_truncate()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableTruncate() error {
result := C.syd_disable_truncate()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledTruncate() bool {
result := C.syd_enabled_truncate()
return bool(result)
}
func EnableChdir() error {
result := C.syd_enable_chdir()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableChdir() error {
result := C.syd_disable_chdir()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledChdir() bool {
result := C.syd_enabled_chdir()
return bool(result)
}
func EnableReaddir() error {
result := C.syd_enable_readdir()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableReaddir() error {
result := C.syd_disable_readdir()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledReaddir() bool {
result := C.syd_enabled_readdir()
return bool(result)
}
func EnableMkdir() error {
result := C.syd_enable_mkdir()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableMkdir() error {
result := C.syd_disable_mkdir()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledMkdir() bool {
result := C.syd_enabled_mkdir()
return bool(result)
}
func EnableRmdir() error {
result := C.syd_enable_rmdir()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableRmdir() error {
result := C.syd_disable_rmdir()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledRmdir() bool {
result := C.syd_enabled_rmdir()
return bool(result)
}
func EnableChown() error {
result := C.syd_enable_chown()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableChown() error {
result := C.syd_disable_chown()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledChown() bool {
result := C.syd_enabled_chown()
return bool(result)
}
func EnableChgrp() error {
result := C.syd_enable_chgrp()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableChgrp() error {
result := C.syd_disable_chgrp()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledChgrp() bool {
result := C.syd_enabled_chgrp()
return bool(result)
}
func EnableChmod() error {
result := C.syd_enable_chmod()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableChmod() error {
result := C.syd_disable_chmod()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledChmod() bool {
result := C.syd_enabled_chmod()
return bool(result)
}
func EnableChattr() error {
result := C.syd_enable_chattr()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableChattr() error {
result := C.syd_disable_chattr()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledChattr() bool {
result := C.syd_enabled_chattr()
return bool(result)
}
func EnableChroot() error {
result := C.syd_enable_chroot()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableChroot() error {
result := C.syd_disable_chroot()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledChroot() bool {
result := C.syd_enabled_chroot()
return bool(result)
}
func EnableNotify() error {
result := C.syd_enable_notify()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableNotify() error {
result := C.syd_disable_notify()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledNotify() bool {
result := C.syd_enabled_notify()
return bool(result)
}
func EnableUtime() error {
result := C.syd_enable_utime()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableUtime() error {
result := C.syd_disable_utime()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledUtime() bool {
result := C.syd_enabled_utime()
return bool(result)
}
func EnableMkbdev() error {
result := C.syd_enable_mkbdev()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableMkbdev() error {
result := C.syd_disable_mkbdev()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledMkbdev() bool {
result := C.syd_enabled_mkbdev()
return bool(result)
}
func EnableMkcdev() error {
result := C.syd_enable_mkcdev()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableMkcdev() error {
result := C.syd_disable_mkcdev()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledMkcdev() bool {
result := C.syd_enabled_mkcdev()
return bool(result)
}
func EnableMkfifo() error {
result := C.syd_enable_mkfifo()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableMkfifo() error {
result := C.syd_disable_mkfifo()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledMkfifo() bool {
result := C.syd_enabled_mkfifo()
return bool(result)
}
func EnableMktemp() error {
result := C.syd_enable_mktemp()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableMktemp() error {
result := C.syd_disable_mktemp()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledMktemp() bool {
result := C.syd_enabled_mktemp()
return bool(result)
}
func EnableNet() error {
result := C.syd_enable_net()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableNet() error {
result := C.syd_disable_net()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledNet() bool {
result := C.syd_enabled_net()
return bool(result)
}
func EnabledLock() bool {
result := C.syd_enabled_lock()
return bool(result)
}
func EnabledCrypt() bool {
result := C.syd_enabled_crypt()
return bool(result)
}
func EnabledProxy() bool {
result := C.syd_enabled_proxy()
return bool(result)
}
func DisableMem() error {
result := C.syd_disable_mem()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledMem() bool {
result := C.syd_enabled_mem()
return bool(result)
}
func EnablePid() error {
result := C.syd_enable_pid()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisablePid() error {
result := C.syd_disable_pid()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledPid() bool {
result := C.syd_enabled_pid()
return bool(result)
}
func DisableForce() error {
result := C.syd_disable_force()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledForce() bool {
result := C.syd_enabled_force()
return bool(result)
}
func EnableTPE() error {
result := C.syd_enable_tpe()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DisableTPE() error {
result := C.syd_disable_tpe()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func EnabledTPE() bool {
result := C.syd_enabled_tpe()
return bool(result)
}
func DefaultFs(action Action) error {
result := C.syd_default_fs(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultWalk(action Action) error {
result := C.syd_default_walk(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultList(action Action) error {
result := C.syd_default_list(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultStat(action Action) error {
result := C.syd_default_stat(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultRead(action Action) error {
result := C.syd_default_read(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultWrite(action Action) error {
result := C.syd_default_write(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultExec(action Action) error {
result := C.syd_default_exec(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultIoctl(action Action) error {
result := C.syd_default_ioctl(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultCreate(action Action) error {
result := C.syd_default_create(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultDelete(action Action) error {
result := C.syd_default_delete(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultRename(action Action) error {
result := C.syd_default_rename(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultReadlink(action Action) error {
result := C.syd_default_readlink(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultSymlink(action Action) error {
result := C.syd_default_symlink(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultTruncate(action Action) error {
result := C.syd_default_truncate(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultChdir(action Action) error {
result := C.syd_default_chdir(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultReaddir(action Action) error {
result := C.syd_default_readdir(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultMkdir(action Action) error {
result := C.syd_default_mkdir(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultRmdir(action Action) error {
result := C.syd_default_rmdir(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultChown(action Action) error {
result := C.syd_default_chown(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultChgrp(action Action) error {
result := C.syd_default_chgrp(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultChmod(action Action) error {
result := C.syd_default_chmod(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultChattr(action Action) error {
result := C.syd_default_chattr(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultChroot(action Action) error {
result := C.syd_default_chroot(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultNotify(action Action) error {
result := C.syd_default_notify(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultUtime(action Action) error {
result := C.syd_default_utime(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultMkbdev(action Action) error {
result := C.syd_default_mkbdev(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultMkcdev(action Action) error {
result := C.syd_default_mkcdev(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultMkfifo(action Action) error {
result := C.syd_default_mkfifo(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultMktemp(action Action) error {
result := C.syd_default_mktemp(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultNet(action Action) error {
result := C.syd_default_net(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultBlock(action Action) error {
result := C.syd_default_block(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultMem(action Action) error {
result := C.syd_default_mem(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultPid(action Action) error {
result := C.syd_default_pid(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultForce(action Action) error {
result := C.syd_default_force(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultSegvGuard(action Action) error {
result := C.syd_default_segvguard(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DefaultTPE(action Action) error {
result := C.syd_default_tpe(C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func IoctlDeny(request uint64) error {
result := C.syd_ioctl_deny(C.uint64_t(request))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func FsAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_fs_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func FsDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_fs_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func FsRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_fs_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func WalkAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_walk_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func WalkDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_walk_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func WalkRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_walk_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ListAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_list_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ListDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_list_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ListRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_list_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func StatAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_stat_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func StatDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_stat_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func StatRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_stat_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ReadAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_read_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ReadDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_read_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ReadRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_read_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func WriteAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_write_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func WriteDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_write_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func WriteRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_write_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ExecAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_exec_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ExecDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_exec_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ExecRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_exec_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func CreateAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_create_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func CreateDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_create_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func CreateRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_create_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DeleteAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_delete_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DeleteDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_delete_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func DeleteRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_delete_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func RenameAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_rename_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func RenameDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_rename_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func RenameRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_rename_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ReadlinkAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_readlink_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ReadlinkDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_readlink_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ReadlinkRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_readlink_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func SymlinkAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_symlink_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func SymlinkDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_symlink_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func SymlinkRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_symlink_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func TruncateAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_truncate_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func TruncateDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_truncate_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func TruncateRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_truncate_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChdirAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chdir_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChdirDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chdir_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChdirRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chdir_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ReaddirAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_readdir_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ReaddirDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_readdir_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ReaddirRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_readdir_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkdirAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkdir_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkdirDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkdir_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkdirRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkdir_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func RmdirAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_rmdir_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func RmdirDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_rmdir_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func RmdirRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_rmdir_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChownAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chown_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChownDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chown_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChownRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chown_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChgrpAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chgrp_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChgrpDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chgrp_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChgrpRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chgrp_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChmodAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chmod_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChmodDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chmod_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChmodRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chmod_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChattrAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chattr_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChattrDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chattr_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChattrRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chattr_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChrootAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chroot_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChrootDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chroot_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ChrootRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_chroot_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NotifyAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_notify_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NotifyDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_notify_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NotifyRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_notify_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func UtimeAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_utime_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func UtimeDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_utime_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func UtimeRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_utime_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkbdevAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkbdev_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkbdevDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkbdev_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkbdevRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkbdev_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkcdevAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkcdev_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkcdevDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkcdev_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkcdevRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkcdev_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkfifoAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkfifo_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkfifoDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkfifo_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MkfifoRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mkfifo_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MktempAdd(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mktemp_add(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MktempDel(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mktemp_del(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MktempRem(action Action, glob string) error {
cGlob := C.CString(glob)
defer C.free(unsafe.Pointer(cGlob))
result := C.syd_mktemp_rem(C.action_t(action), cGlob)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetBindAdd(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_bind_add(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetBindDel(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_bind_del(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetBindRem(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_bind_rem(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetConnectAdd(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_connect_add(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetConnectDel(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_connect_del(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetConnectRem(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_connect_rem(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetSendFdAdd(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_sendfd_add(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetSendFdDel(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_sendfd_del(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetSendFdRem(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_sendfd_rem(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetLinkAdd(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_link_add(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetLinkDel(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_link_del(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func NetLinkRem(action Action, addr string) error {
cAddr := C.CString(addr)
defer C.free(unsafe.Pointer(cAddr))
result := C.syd_net_link_rem(C.action_t(action), cAddr)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ForceAdd(path string, alg string, hash string, action Action) error {
cPath := C.CString(path)
defer C.free(unsafe.Pointer(cPath))
cAlg := C.CString(alg)
defer C.free(unsafe.Pointer(cAlg))
cHash := C.CString(hash)
defer C.free(unsafe.Pointer(cHash))
result := C.syd_force_add(cPath, cAlg, cHash, C.action_t(action))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ForceDel(path string) error {
cPath := C.CString(path)
defer C.free(unsafe.Pointer(cPath))
result := C.syd_force_del(cPath)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func ForceClr() error {
result := C.syd_force_clr()
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MemMax(size string) error {
cSize := C.CString(size)
defer C.free(unsafe.Pointer(cSize))
result := C.syd_mem_max(cSize)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func MemVmMax(size string) error {
cSize := C.CString(size)
defer C.free(unsafe.Pointer(cSize))
result := C.syd_mem_vm_max(cSize)
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func PidMax(size int) error {
if size < 0 {
return syscall.EINVAL
}
result := C.syd_pid_max(C.size_t(size))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func SegvGuardExpiry(timeout uint64) error {
result := C.syd_segvguard_expiry(C.uint64_t(timeout))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func SegvGuardSuspension(timeout uint64) error {
result := C.syd_segvguard_suspension(C.uint64_t(timeout))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}
func SegvGuardMaxCrashes(timeout uint8) error {
result := C.syd_segvguard_maxcrashes(C.uint8_t(timeout))
if result != 0 {
return syscall.Errno(-result)
}
return nil
}