func New() (*Socket, error) {
	fd, err := unix.Socket(unix.AF_CAN, unix.SOCK_RAW, unix.CAN_RAW)
	if err != nil {
		return nil, err
	}
	return &Socket{dev: device{fd}}, nil
}
New returns a new CAN bus socket.
package canbus
import (
	"encoding/binary"
	"errors"
	"io"
	"net"
	"unsafe"
	"golang.org/x/sys/unix"
)
var (
	errDataTooBig = errors.New("canbus: data too big")
)