On Tue, Mar 17, 2020 at 09:20:13PM +0000, Richard W.M. Jones wrote:
+ | Fd _ -> "int/*XXX*/"
snip.
+ | RFd -> "int/*XXX*/"
snip.
+ | RFd -> "0/*XXX*/"
snip.
+ | RFd -> Some "-1/*XXX*/"
snip.
For passing file descriptors in or out of Go APIs you'll want to use
the os.File object.
To pass it from Go to C use a param 'file os.File' and call
'C.int(file.Fd())'
to get the POSIX file descriptor to pass to C. libvirt-go OpenGraphics API
gives an illustration of this.
For the reverse direction from C to Go use
os.NewFile(uintptr(fd), "name")
where 'name' is any sensibiel identifying short name. libvirt-go
OpenGraphicsFD gives an illustration of this direction.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|