code: func Family(name string) (int, error) {
  	s, err := newSocket()
  	if err != nil {
  		return -1, err
  	}
  	defer s.free()
  
  	if errno := C.genl_connect(s.nls); errno != 0 {
  		return -1, &Error{errno, "failed to connect to netlink"}
  	}
  	defer C.nl_close((*C.struct_nl_sock)(s.nls))
  
  	cn := C.CString(name)
  	defer C.free(unsafe.Pointer(cn))
  	family := C.genl_ctrl_resolve(s.nls, cn)
  	if family < 0 {
  		return -1, errors.New("failed to resolve family name")
  	}
  	return int(family), nil
  }
docs: // Family returns the family identifier for the specified family name.