func newDecoder(in io.Reader, order binary.ByteOrder, fds []int) *decoder {
	dec := new(decoder)
	dec.in = in
	dec.order = order
	dec.fds = fds
	return dec
}
newDecoder returns a new decoder that reads values from in. The input is
expected to be in the given byte order.
package dbus
import (
	"encoding/binary"
	"io"
	"reflect"
)
type decoder struct {
	in    io.Reader
	order binary.ByteOrder
	pos   int
	fds   []int
}