//go:build !fake package amtrpc /* #cgo CFLAGS: -I./src #cgo LDFLAGS: -L./lib -lrpc -Wl,-rpath=./lib #include <stdlib.h> #include "librpc.h" */ import "C" //nolint:typecheck import "unsafe" type AMTRPC struct{} func (A AMTRPC) CheckAccess() int { return int(C.rpcCheckAccess()) } func (A AMTRPC) Exec(command string) (string, int) { ccmd := C.CString(command) cresponse := C.CString("") cstatus := C.rpcExec(ccmd, &cresponse) C.free(unsafe.Pointer(ccmd)) C.free(unsafe.Pointer(cresponse)) return C.GoString(cresponse), int(cstatus) }