dev->get_wireless_stats = orinoco_get_wireless_stats; 
struct net_device *alloc_orinocodev(int sizeof_card,				    int (*hard_reset)(struct orinoco_private *)){	struct net_device *dev;	struct orinoco_private *priv;	dev = alloc_etherdev(sizeof(struct orinoco_private) + sizeof_card);	if (! dev)		return NULL;	priv = netdev_priv(dev);	priv->ndev = dev;	if (sizeof_card)		priv->card = (void *)((unsigned long)priv				      + sizeof(struct orinoco_private));	else		priv->card = NULL;	/* Setup / override net_device fields */	dev->init = orinoco_init;	dev->hard_start_xmit = orinoco_xmit;	dev->tx_timeout = orinoco_tx_timeout;	dev->watchdog_timeo = HZ; /* 1 second timeout */	dev->get_stats = orinoco_get_stats;	dev->ethtool_ops = &orinoco_ethtool_ops;	dev->get_wireless_stats = orinoco_get_wireless_stats;	dev->wireless_handlers = (struct iw_handler_def *)&orinoco_handler_def;	dev->change_mtu = orinoco_change_mtu;	dev->set_multicast_list = orinoco_set_multicast_list;	/* we use the default eth_mac_addr for setting the MAC addr */	/* Set up default callbacks */	dev->open = orinoco_open;	dev->stop = orinoco_stop;	priv->hard_reset = hard_reset;	spin_lock_init(&priv->lock);	priv->open = 0;	priv->hw_unavailable = 1; /* orinoco_init() must clear this				   * before anything else touches the				   * hardware */	INIT_WORK(&priv->reset_work, (void (*)(void *))orinoco_reset, dev);	INIT_WORK(&priv->join_work, (void (*)(void *))orinoco_join_ap, dev);	INIT_WORK(&priv->wevent_work, (void (*)(void *))orinoco_send_wevents, dev);	netif_carrier_off(dev);	priv->last_linkstatus = 0xffff;	return dev;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/343c686c04eec556645f251f7d6c9b3d7335dae0/orinoco.c/clean/drivers/net/wireless/orinoco.c