2017-04-17 10:33:09 +05:30

22 lines
362 B
Go

package rtlink
import (
"github.com/hkwi/nlgo"
"syscall"
)
type RtSock nlgo.NlSock
func Open() (*RtSock, error) {
sk := nlgo.NlSocketAlloc()
if err := nlgo.NlConnect(sk, syscall.NETLINK_ROUTE); err != nil {
nlgo.NlSocketFree(sk)
return nil, err
}
return (*RtSock)(sk), nil
}
func (sock *RtSock) Close() {
nlgo.NlSocketFree((*nlgo.NlSock)(sock))
}