mirror of
https://github.com/rwinkhart/sys.git
synced 2026-08-28 04:46:44 -04:00
unix: export Ifreq and add IoctlIfreq function
This CL expands upon CL 340369 by exporting the Ifreq type along with methods for setting and getting data to/from the ifreq union in a type-safe way. ifreqData remains unexported as we can keep adding helpers similar to the IoctlGetEthtoolDrvinfo to expose those operations in a less error-prone way. A test is also added to verify interface index data using IoctlIfreq against the modern rtnetlink API used by the standard library. Change-Id: Ic6980cbcd3792cc341cd614061cce32fa1f851e7 Reviewed-on: https://go-review.googlesource.com/c/sys/+/340370 Trust: Matt Layher <mdlayher@gmail.com> Run-TryBot: Matt Layher <mdlayher@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
@@ -14,14 +14,6 @@ import (
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
func Test_ifreqSize(t *testing.T) {
|
||||
// Ensure ifreq (generated) and ifreqData (hand-written due to
|
||||
// unsafe.Pointer field) are identical in size.
|
||||
if want, got := unsafe.Sizeof(ifreq{}), unsafe.Sizeof(ifreqData{}); want != got {
|
||||
t.Fatalf("unexpected ifreq size: got: %d, want: %d", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func makeProto(proto int) *int {
|
||||
return &proto
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user