您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GET_PAD_FROM_NET_DEV函数代码示例

51自学网 2021-06-01 20:51:37
  C++
这篇教程C++ GET_PAD_FROM_NET_DEV函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GET_PAD_FROM_NET_DEV函数的典型用法代码示例。如果您正苦于以下问题:C++ GET_PAD_FROM_NET_DEV函数的具体用法?C++ GET_PAD_FROM_NET_DEV怎么用?C++ GET_PAD_FROM_NET_DEV使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GET_PAD_FROM_NET_DEV函数的22个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: rt28xx_ioctl

INT rt28xx_ioctl(	IN	PNET_DEV	net_dev, 	IN	OUT	struct ifreq	*rq, 	IN	INT					cmd){	RTMP_ADAPTER	*pAd = NULL;	INT				ret = 0;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		if (pAd == NULL)	{		/* if 1st open fail, pAd will be free;		   So the net_dev->priv will be NULL in 2rd open */		return -ENETDOWN;	}#ifdef CONFIG_STA_SUPPORT	IF_DEV_CONFIG_OPMODE_ON_STA(pAd)	{		ret = rt28xx_sta_ioctl(net_dev, rq, cmd);	}#endif // CONFIG_STA_SUPPORT //	return ret;}
开发者ID:jhbsz,项目名称:ralink_2860xx,代码行数:27,


示例2: GET_PAD_FROM_NET_DEV

// This function will be called when query /procstruct iw_statistics *rt28xx_get_wireless_stats(    IN struct net_device *net_dev){	PRTMP_ADAPTER pAd = NULL;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		DBGPRINT(RT_DEBUG_TRACE, ("rt28xx_get_wireless_stats --->/n"));		pAd->iw_stats.status = 0; // Status - device dependent for now	// link quality	pAd->iw_stats.qual.qual = ((pAd->Mlme.ChannelQuality * 12)/10 + 10);	if(pAd->iw_stats.qual.qual > 100)		pAd->iw_stats.qual.qual = 100;#ifdef CONFIG_STA_SUPPORT	if (pAd->OpMode == OPMODE_STA)		pAd->iw_stats.qual.level = RTMPMaxRssi(pAd, pAd->StaCfg.RssiSample.LastRssi0, pAd->StaCfg.RssiSample.LastRssi1, pAd->StaCfg.RssiSample.LastRssi2);#endif // CONFIG_STA_SUPPORT //	pAd->iw_stats.qual.noise = pAd->BbpWriteLatch[66]; // noise level (dBm)		pAd->iw_stats.qual.noise += 256 - 143;	pAd->iw_stats.qual.updated = 1;     // Flags to know if updated#ifdef IW_QUAL_DBM	pAd->iw_stats.qual.updated |= IW_QUAL_DBM;	// Level + Noise are dBm#endif // IW_QUAL_DBM //	pAd->iw_stats.discard.nwid = 0;     // Rx : Wrong nwid/essid	pAd->iw_stats.miss.beacon = 0;      // Missed beacons/superframe		DBGPRINT(RT_DEBUG_TRACE, ("<--- rt28xx_get_wireless_stats/n"));	return &pAd->iw_stats;}
开发者ID:esironal,项目名称:mywdtvlive,代码行数:36,


示例3: RtmpOSIRQRelease

int RtmpOSIRQRelease(IN PNET_DEV pNetDev){	struct net_device *net_dev = pNetDev;	PRTMP_ADAPTER pAd = NULL;	GET_PAD_FROM_NET_DEV(pAd, net_dev);			ASSERT(pAd);	#ifdef RTMP_PCI_SUPPORT	if (pAd->infType == RTMP_DEV_INF_PCI || pAd->infType == RTMP_DEV_INF_PCIE)	{ 		POS_COOKIE pObj = (POS_COOKIE)(pAd->OS_Cookie);#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)		synchronize_irq(pObj->pci_dev->irq);#endif		free_irq(pObj->pci_dev->irq, (net_dev));		RTMP_MSI_DISABLE(pAd);	}#endif // RTMP_PCI_SUPPORT //#ifdef RTMP_RBUS_SUPPORT	if (pAd->infType == RTMP_DEV_INF_RBUS)	{#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)		synchronize_irq(net_dev->irq);#endif		free_irq(net_dev->irq, (net_dev));	}#endif // RTMP_RBUS_SUPPORT //	return 0;}
开发者ID:qwerty1023,项目名称:wive-rtnl-firmware,代码行数:33,


示例4: RtmpOSIRQRequest

/*******************************************************************************	Device IRQ related functions.	 *******************************************************************************/int RtmpOSIRQRequest(IN PNET_DEV pNetDev){#if defined(RTMP_PCI_SUPPORT) || defined(RTMP_RBUS_SUPPORT)	struct net_device *net_dev = pNetDev;#endif	PRTMP_ADAPTER pAd = NULL;	int retval = 0;		GET_PAD_FROM_NET_DEV(pAd, pNetDev);			ASSERT(pAd);	#ifdef RTMP_PCI_SUPPORT	if (pAd->infType == RTMP_DEV_INF_PCI || pAd->infType == RTMP_DEV_INF_PCIE)	{		POS_COOKIE _pObj = (POS_COOKIE)(pAd->OS_Cookie);		RTMP_MSI_ENABLE(pAd);			retval = request_irq(_pObj->pci_dev->irq,  rt2860_interrupt, SA_SHIRQ, (net_dev)->name, (net_dev));		if (retval != 0) 			printk("RT2860: request_irq  ERROR(%d)/n", retval);	}#endif // RTMP_PCI_SUPPORT //	return retval; 	}
开发者ID:jhbsz,项目名称:ralink_2860xx,代码行数:33,


示例5: rt2860_suspend

static int rt2860_suspend(	struct pci_dev *pci_dev,	pm_message_t state){	struct net_device *net_dev = pci_get_drvdata(pci_dev);	PRTMP_ADAPTER pAd = (PRTMP_ADAPTER)NULL;	INT32 retval = 0;	DBGPRINT(RT_DEBUG_TRACE, ("===> rt2860_suspend()/n"));	if (net_dev == NULL)	{		DBGPRINT(RT_DEBUG_ERROR, ("net_dev == NULL!/n"));	}	else	{		GET_PAD_FROM_NET_DEV(pAd, net_dev);		/* we can not use IFF_UP because ra0 down but ra1 up */		/* and 1 suspend/resume function for 1 module, not for each interface */		/* so Linux will call suspend/resume function once */		if (VIRTUAL_IF_NUM(pAd) > 0)		{			// avoid users do suspend after interface is down			// stop interface			netif_carrier_off(net_dev);			netif_stop_queue(net_dev);			// mark device as removed from system and therefore no longer available			netif_device_detach(net_dev);			// mark halt flag			RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS);			RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF);			// take down the device			rt28xx_close((PNET_DEV)net_dev);			RT_MOD_DEC_USE_COUNT();		}	}#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,10)	// reference to http://vovo2000.com/type-lab/linux/kernel-api/linux-kernel-api.html	// enable device to generate PME# when suspended	// pci_choose_state(): Choose the power state of a PCI device to be suspended	retval = pci_enable_wake(pci_dev, pci_choose_state(pci_dev, state), 1);	// save the PCI configuration space of a device before suspending	pci_save_state(pci_dev);	// disable PCI device after use 	pci_disable_device(pci_dev);	retval = pci_set_power_state(pci_dev, pci_choose_state(pci_dev, state));#endif	DBGPRINT(RT_DEBUG_TRACE, ("<=== rt2860_suspend()/n"));	return retval;}
开发者ID:jaskcon,项目名称:rt3090,代码行数:60,


示例6: MlmeHalt

/*========================================================================Routine Description:    Open raxx interface.Arguments:	*net_dev			the raxx interface pointerReturn Value:    0					Open OK	otherwise			Open FailNote:	1. if open fail, kernel will not call the close function.	2. Free memory for		(1) Mlme Memory Handler:		MlmeHalt()		(2) TX & RX:					RTMPFreeTxRxRingMemory()		(3) BA Reordering: 				ba_reordering_resource_release()========================================================================*/int MainVirtualIF_open(IN struct net_device *net_dev){    RTMP_ADAPTER *pAd = NULL;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		// Sanity check for pAd	if (pAd == NULL)		return 0; // close ok#ifdef CONFIG_AP_SUPPORT	pAd->ApCfg.MBSSID[MAIN_MBSSID].bBcnSntReq = TRUE;#endif // CONFIG_AP_SUPPORT //	if (VIRTUAL_IF_UP(pAd) != 0)		return -1;	// increase MODULE use count	RT_MOD_INC_USE_COUNT();	netif_start_queue(net_dev);	netif_carrier_on(net_dev);	netif_wake_queue(net_dev);	return 0;}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:45,


示例7: rt28xx_packet_xmit

/*========================================================================Routine Description:    The entry point for Linux kernel sent packet to our driver.Arguments:    sk_buff *skb		the pointer refer to a sk_buffer.Return Value:    0					Note:	This function is the entry point of Tx Path for Os delivery packet to 	our driver. You only can put OS-depened & STA/AP common handle procedures 	in here.========================================================================*/int rt28xx_packet_xmit(struct sk_buff *skb){	struct net_device *net_dev = skb->dev;	PRTMP_ADAPTER pAd = NULL;	int status = 0;	PNDIS_PACKET pPacket = (PNDIS_PACKET) skb;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		/* RT2870STA does this in RTMPSendPackets() */#ifdef RALINK_ATE	if (ATE_ON(pAd))	{		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_RESOURCES);		return 0;	}#endif // RALINK_ATE //        // EapolStart size is 18	if (skb->len < 14)	{		//printk("bad packet size: %d/n", pkt->len);		hex_dump("bad packet", skb->data, skb->len);		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE);		goto done;	}#if !defined(CONFIG_RA_NAT_NONE)	// ASUS EXT        /* add tx hook point*/        if(ra_sw_nat_hook_tx!= NULL)        {            unsigned long flags;            ra_sw_nat_hook_tx(pPacket);        }#endif	RTMP_SET_PACKET_5VT(pPacket, 0);//	MiniportMMRequest(pAd, pkt->data, pkt->len);#ifdef CONFIG_5VT_ENHANCE    if (*(int*)(skb->cb) == BRIDGE_TAG) {		RTMP_SET_PACKET_5VT(pPacket, 1);    }#endif#ifdef CONFIG_AP_SUPPORT	IF_DEV_CONFIG_OPMODE_ON_AP(pAd)		APSendPackets((NDIS_HANDLE)pAd, (PPNDIS_PACKET) &pPacket, 1);#endif // CONFIG_AP_SUPPORT //	status = 0;done:			   	return status;}
开发者ID:zyubin,项目名称:asus-rt-n56u-firmware,代码行数:75,


示例8: rt2860_remove_one

static VOID __devexit rt2860_remove_one(    IN  struct pci_dev  *pci_dev){	PNET_DEV	net_dev = pci_get_drvdata(pci_dev);	RTMP_ADAPTER	*pAd = NULL;	ULONG			csr_addr = net_dev->base_addr; // pAd->CSRBaseAddress;		GET_PAD_FROM_NET_DEV(pAd, net_dev);	    DBGPRINT(RT_DEBUG_TRACE, ("===> rt2860_remove_one/n"));	if (pAd != NULL)	{		// Unregister/Free all allocated net_device.		RtmpPhyNetDevExit(pAd, net_dev);		// Unmap CSR base address		iounmap((char *)(csr_addr));				// release memory region		release_mem_region(pci_resource_start(pci_dev, 0), pci_resource_len(pci_dev, 0));#ifdef RT_CFG80211_SUPPORT		CFG80211_UnRegister(pAd, net_dev);#endif // RT_CFG80211_SUPPORT //#ifdef CREDENTIAL_STORE	NdisFreeSpinLock(&pAd->StaCtIf.Lock);#endif /* CREDENTIAL_STORE */		// Free RTMP_ADAPTER related structures.		RtmpRaDevCtrlExit(pAd);			}	else	{		// Unregister network device		RtmpOSNetDevDetach(net_dev);		// Unmap CSR base address		iounmap((char *)(net_dev->base_addr));		// release memory region		release_mem_region(pci_resource_start(pci_dev, 0), pci_resource_len(pci_dev, 0));	}	// Free the root net_device	RtmpOSNetDevFree(net_dev);#ifdef VENDOR_FEATURE4_SUPPORT{	extern ULONG OS_NumOfMemAlloc, OS_NumOfMemFree;	DBGPRINT(RT_DEBUG_TRACE, ("OS_NumOfMemAlloc = %ld, OS_NumOfMemFree = %ld/n",			OS_NumOfMemAlloc, OS_NumOfMemFree));}#endif // VENDOR_FEATURE4_SUPPORT //}
开发者ID:jaskcon,项目名称:rt3090,代码行数:57,


示例9: GET_PAD_FROM_NET_DEV

// This function will be called when query /procstruct iw_statistics *rt28xx_get_wireless_stats(    IN struct net_device *net_dev){	PRTMP_ADAPTER pAd = NULL;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		DBGPRINT(RT_DEBUG_TRACE, ("rt28xx_get_wireless_stats --->/n"));	//check if the interface is down	if(!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_INTERRUPT_IN_USE))		return NULL;			pAd->iw_stats.status = 0; // Status - device dependent for now	// link quality#ifdef CONFIG_STA_SUPPORT	if (pAd->OpMode == OPMODE_STA)		pAd->iw_stats.qual.qual = ((pAd->Mlme.ChannelQuality * 12)/10 + 10);#endif // CONFIG_STA_SUPPORT //	if(pAd->iw_stats.qual.qual > 100)		pAd->iw_stats.qual.qual = 100;#ifdef CONFIG_STA_SUPPORT	if (pAd->OpMode == OPMODE_STA)	{		pAd->iw_stats.qual.level =			RTMPMaxRssi(pAd, pAd->StaCfg.RssiSample.AvgRssi0,							pAd->StaCfg.RssiSample.AvgRssi1,							pAd->StaCfg.RssiSample.AvgRssi2);	}#endif // CONFIG_STA_SUPPORT //#ifdef CONFIG_STA_SUPPORT	pAd->iw_stats.qual.noise = RTMPMaxRssi(pAd, pAd->StaCfg.RssiSample.AvgRssi0,							pAd->StaCfg.RssiSample.AvgRssi1,							pAd->StaCfg.RssiSample.AvgRssi2) - 							RTMPMinSnr(pAd, pAd->StaCfg.RssiSample.AvgSnr0, 							pAd->StaCfg.RssiSample.AvgSnr1);#endif // CONFIG_STA_SUPPORT //	pAd->iw_stats.qual.updated = 1;     // Flags to know if updated#ifdef IW_QUAL_DBM	pAd->iw_stats.qual.updated |= IW_QUAL_DBM;	// Level + Noise are dBm#endif // IW_QUAL_DBM //	pAd->iw_stats.discard.nwid = 0;     // Rx : Wrong nwid/essid	pAd->iw_stats.miss.beacon = 0;      // Missed beacons/superframe		DBGPRINT(RT_DEBUG_TRACE, ("<--- rt28xx_get_wireless_stats/n"));	return &pAd->iw_stats;}
开发者ID:jhbsz,项目名称:ralink_2860xx,代码行数:55,


示例10: RtmpOSIRQRelease

int RtmpOSIRQRelease(IN PNET_DEV pNetDev){	struct net_device *net_dev = pNetDev;	PRTMP_ADAPTER pAd = NULL;	GET_PAD_FROM_NET_DEV(pAd, net_dev);			ASSERT(pAd);		return 0;}
开发者ID:vanhoefm,项目名称:rt2870linux,代码行数:13,


示例11: rt2860_remove_one

static VOID __devexit rt2860_remove_one(    IN  struct pci_dev  *pci_dev){	PNET_DEV	net_dev = pci_get_drvdata(pci_dev);	RTMP_ADAPTER	*pAd = NULL;	ULONG			csr_addr = net_dev->base_addr; // pAd->CSRBaseAddress;		GET_PAD_FROM_NET_DEV(pAd, net_dev);	    DBGPRINT(RT_DEBUG_TRACE, ("===> rt2860_remove_one/n"));	if (pAd != NULL)	{		// Unregister/Free all allocated net_device.		RtmpPhyNetDevExit(pAd, net_dev);		// Unmap CSR base address		iounmap((char *)(csr_addr));				// release memory region		release_mem_region(pci_resource_start(pci_dev, 0), pci_resource_len(pci_dev, 0));#ifdef RT_CFG80211_SUPPORT		CFG80211_UnRegister(pAd, net_dev);#endif // RT_CFG80211_SUPPORT //		// Free RTMP_ADAPTER related structures.		RtmpRaDevCtrlExit(pAd);			}	else	{		// Unregister network device		RtmpOSNetDevDetach(net_dev);		// Unmap CSR base address		iounmap((char *)(net_dev->base_addr));		// release memory region		release_mem_region(pci_resource_start(pci_dev, 0), pci_resource_len(pci_dev, 0));	}	// Free the root net_device	RtmpOSNetDevFree(net_dev);	}
开发者ID:mrtos,项目名称:Logitech-Revue,代码行数:46,


示例12: rt2860_remove_one

static VOID __devexit rt2860_remove_one(struct pci_dev *pci_dev){	PNET_DEV net_dev = pci_get_drvdata(pci_dev);	VOID *pAd = NULL;	ULONG csr_addr = net_dev->base_addr;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		DBGPRINT(RT_DEBUG_TRACE, ("===> rt2860_remove_one/n"));	if (pAd != NULL)	{		/* Unregister/Free all allocated net_device. */		RtmpPhyNetDevExit(pAd, net_dev);		#ifdef RT_CFG80211_SUPPORT		RTMP_DRIVER_80211_UNREGISTER(pAd, net_dev);#endif /* RT_CFG80211_SUPPORT */		/* Free RTMP_ADAPTER related structures. */		RtmpRaDevCtrlExit(pAd);		/* Unmap CSR base address */		iounmap((char *)(csr_addr));				/* release memory region */		release_mem_region(pci_resource_start(pci_dev, 0), pci_resource_len(pci_dev, 0));	}	else	{		/* Unregister network device */		RtmpOSNetDevDetach(net_dev);		/* Unmap CSR base address */		iounmap((char *)(net_dev->base_addr));		/* release memory region */		release_mem_region(pci_resource_start(pci_dev, 0), pci_resource_len(pci_dev, 0));	}	/* Free the root net_device */	RtmpOSNetDevFree(net_dev);	wl_proc_exit();}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:46,


示例13: RtmpOSIRQRequest

/*******************************************************************************	Device IRQ related functions.	 *******************************************************************************/int RtmpOSIRQRequest(IN PNET_DEV pNetDev){	struct net_device *net_dev = NULL;	PRTMP_ADAPTER pAd = NULL;	int retval = 0;	net_dev = pNetDev;			GET_PAD_FROM_NET_DEV(pAd, pNetDev);			ASSERT(pAd);		return retval; 	}
开发者ID:vanhoefm,项目名称:rt2870linux,代码行数:22,


示例14: rt_pci_remove

static VOID DEVEXIT rt_pci_remove(struct pci_dev *pci_dev){	PNET_DEV net_dev = pci_get_drvdata(pci_dev);	VOID *pAd = NULL;	ULONG csr_addr = net_dev->base_addr;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		MTWF_LOG(DBG_CAT_ALL, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("===> %s()/n", __FUNCTION__));	if (pAd != NULL)	{		/* Unregister/Free all allocated net_device. */		RtmpPhyNetDevExit(pAd, net_dev);#ifdef RT_CFG80211_SUPPORT		RTMP_DRIVER_80211_UNREGISTER(pAd, net_dev);#endif /* RT_CFG80211_SUPPORT */		/* Free RTMP_ADAPTER related structures. */		RtmpRaDevCtrlExit(pAd);				/* Unmap CSR base address */		iounmap((char *)(csr_addr));				/* release memory region */		release_mem_region(pci_resource_start(pci_dev, 0), pci_resource_len(pci_dev, 0));	}	else	{		/* Unregister network device */		RtmpOSNetDevDetach(net_dev);		/* Unmap CSR base address */		iounmap((char *)(net_dev->base_addr));		/* release memory region */		release_mem_region(pci_resource_start(pci_dev, 0), pci_resource_len(pci_dev, 0));	}	/* Free the root net_device */	RtmpOSNetDevFree(net_dev);}
开发者ID:AnyoeDove,项目名称:mtk-sources,代码行数:44,


示例15: rt28xx_send_packets

/*========================================================================Routine Description:    Send a packet to WLAN.Arguments:    skb_p           points to our adapter    dev_p           which WLAN network interfaceReturn Value:    0: transmit successfully    otherwise: transmit failNote:========================================================================*/static int rt28xx_send_packets(	IN struct sk_buff 		*skb_p, 	IN struct net_device 	*net_dev){	RTMP_ADAPTER *pAd = NULL;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		if (!(net_dev->flags & IFF_UP))	{		RELEASE_NDIS_PACKET(pAd, (PNDIS_PACKET)skb_p, NDIS_STATUS_FAILURE);		return 0;	}	NdisZeroMemory((PUCHAR)&skb_p->cb[CB_OFF], 15);	RTMP_SET_PACKET_NET_DEVICE_MBSSID(skb_p, MAIN_MBSSID);	return rt28xx_packet_xmit(skb_p);}
开发者ID:esironal,项目名称:mywdtvlive,代码行数:35,


示例16: rt2860_interrupt

rt2860_interrupt(int irq, void *dev_instance, struct pt_regs *regs)#endif{	struct net_device *net_dev = (struct net_device *) dev_instance;	VOID *pAd = NULL;/*	INT_SOURCE_CSR_STRUC	IntSource; *//*	POS_COOKIE pObj; */#ifdef MULTI_CORE_SUPPORT	unsigned long flags=0;#endif // MULTI_CORE_SUPPORT //			GET_PAD_FROM_NET_DEV(pAd, net_dev);	RTMPHandleInterrupt(pAd);#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)	return  IRQ_HANDLED;#endif}
开发者ID:Sleuthhound,项目名称:RT28XX-RT539X-Linux-driver,代码行数:20,


示例17: rt28xx_send_packets

/*========================================================================Routine Description:    Send a packet to WLAN.Arguments:    skb_p           points to our adapter    dev_p           which WLAN network interfaceReturn Value:    0: transmit successfully    otherwise: transmit failNote:========================================================================*/static int rt28xx_send_packets(	IN struct sk_buff 		*skb_p, 	IN struct net_device 	*net_dev){	RTMP_ADAPTER *pAd = NULL;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		if (!(RTMP_OS_NETDEV_STATE_RUNNING(net_dev)))	{		RELEASE_NDIS_PACKET(pAd, (PNDIS_PACKET)skb_p, NDIS_STATUS_FAILURE);		return 0;	}	NdisZeroMemory((PUCHAR)&skb_p->cb[CB_OFF], 15);	RTMP_SET_PACKET_NET_DEVICE_MBSSID(skb_p, MAIN_MBSSID);	MEM_DBG_PKT_ALLOC_INC(pAd);	return rt28xx_packet_xmit(skb_p);}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:37,


示例18: MlmeHalt

/*========================================================================Routine Description:    Close raxx interface.Arguments:	*net_dev			the raxx interface pointerReturn Value:    0					Open OK	otherwise			Open FailNote:	1. if open fail, kernel will not call the close function.	2. Free memory for		(1) Mlme Memory Handler:		MlmeHalt()		(2) TX & RX:					RTMPFreeTxRxRingMemory()		(3) BA Reordering: 				ba_reordering_resource_release()========================================================================*/int MainVirtualIF_close(IN struct net_device *net_dev){    RTMP_ADAPTER *pAd = NULL;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		// Sanity check for pAd	if (pAd == NULL)		return 0; // close ok	netif_carrier_off(pAd->net_dev);	netif_stop_queue(pAd->net_dev);	VIRTUAL_IF_DOWN(pAd);	RT_MOD_DEC_USE_COUNT();	return 0; // close ok}
开发者ID:esironal,项目名称:mywdtvlive,代码行数:41,


示例19: rt2860_remove_one

static void __devexit rt2860_remove_one(IN struct pci_dev *pci_dev){	struct net_device *net_dev = pci_get_drvdata(pci_dev);	struct rt_rtmp_adapter *pAd = NULL;	unsigned long csr_addr = net_dev->base_addr;	/* pAd->CSRBaseAddress; */	GET_PAD_FROM_NET_DEV(pAd, net_dev);	DBGPRINT(RT_DEBUG_TRACE, ("===> rt2860_remove_one/n"));	if (pAd != NULL) {		/* Unregister/Free all allocated net_device. */		RtmpPhyNetDevExit(pAd, net_dev);		/* Unmap CSR base address */		iounmap((char *)(csr_addr));		/* release memory region */		release_mem_region(pci_resource_start(pci_dev, 0),				   pci_resource_len(pci_dev, 0));		/* Free struct rt_rtmp_adapter related structures. */		RtmpRaDevCtrlExit(pAd);	} else {		/* Unregister network device */		RtmpOSNetDevDetach(net_dev);		/* Unmap CSR base address */		iounmap((char *)(net_dev->base_addr));		/* release memory region */		release_mem_region(pci_resource_start(pci_dev, 0),				   pci_resource_len(pci_dev, 0));	}	/* Free the root net_device */	RtmpOSNetDevFree(net_dev);}
开发者ID:A2109devs,项目名称:lenovo_a2109a_kernel,代码行数:40,


示例20: MlmeHalt

/*========================================================================Routine Description:    Open raxx interface.Arguments:	*net_dev			the raxx interface pointerReturn Value:    0					Open OK	otherwise			Open FailNote:	1. if open fail, kernel will not call the close function.	2. Free memory for		(1) Mlme Memory Handler:		MlmeHalt()		(2) TX & RX:					RTMPFreeTxRxRingMemory()		(3) BA Reordering: 				ba_reordering_resource_release()========================================================================*/int MainVirtualIF_open(IN struct net_device *net_dev){    RTMP_ADAPTER *pAd = NULL;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		// Sanity check for pAd	if (pAd == NULL)		return 0; // close ok	if (VIRTUAL_IF_UP(pAd) != 0)		return -1;	// increase MODULE use count	RT_MOD_INC_USE_COUNT();	netif_start_queue(net_dev);	netif_carrier_on(net_dev);	netif_wake_queue(net_dev);	return 0;}
开发者ID:jhbsz,项目名称:ralink_2860xx,代码行数:42,


示例21: GET_PAD_FROM_NET_DEV

// This function will be called when query /procstruct iw_statistics *rt28xx_get_wireless_stats(    IN struct net_device *net_dev){	PRTMP_ADAPTER pAd = NULL;#ifdef CONFIG_AP_SUPPORT 	PMAC_TABLE_ENTRY pMacEntry = NULL;#endif // CONFIG_AP_SUPPORT //	GET_PAD_FROM_NET_DEV(pAd, net_dev);	#ifdef CONFIG_AP_SUPPORT	if (pAd->OpMode == OPMODE_AP)	{#ifdef APCLI_SUPPORT		if (RT_DEV_PRIV_FLAGS_GET(net_dev) == INT_APCLI)		{			INT ApCliIdx = ApCliIfLookUp(pAd, (PUCHAR)net_dev->dev_addr);			if ((ApCliIdx >= 0) && VALID_WCID(pAd->ApCfg.ApCliTab[ApCliIdx].MacTabWCID))				pMacEntry = &pAd->MacTab.Content[pAd->ApCfg.ApCliTab[ApCliIdx].MacTabWCID];		}		else#endif // APCLI_SUPPORT //		{			/*				only AP client support wireless stats function.				return NULL pointer for all other cases.			*/			pMacEntry = &pAd->MacTab.Content[0];		}	}#endif // CONFIG_AP_SUPPORT //	DBGPRINT(RT_DEBUG_TRACE, ("rt28xx_get_wireless_stats --->/n"));	//check if the interface is down	if(!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_INTERRUPT_IN_USE))		return NULL;			pAd->iw_stats.status = 0; // Status - device dependent for now	// link quality#ifdef CONFIG_AP_SUPPORT	if (pAd->OpMode == OPMODE_AP)	{		if (pMacEntry != NULL)			pAd->iw_stats.qual.qual = ((pMacEntry->ChannelQuality * 12)/10 + 10);	}#endif // CONFIG_AP_SUPPORT //	if(pAd->iw_stats.qual.qual > 100)		pAd->iw_stats.qual.qual = 100;#ifdef CONFIG_AP_SUPPORT	if (pAd->OpMode == OPMODE_AP)	{		if (pMacEntry != NULL)			pAd->iw_stats.qual.level =				RTMPMaxRssi(pAd, pMacEntry->RssiSample.AvgRssi0,								pMacEntry->RssiSample.AvgRssi1,								pMacEntry->RssiSample.AvgRssi2);	}#endif // CONFIG_AP_SUPPORT //#ifdef CONFIG_AP_SUPPORT	pAd->iw_stats.qual.noise = RTMPMaxRssi(pAd, pAd->ApCfg.RssiSample.AvgRssi0,                                                        pAd->ApCfg.RssiSample.AvgRssi1,                                                        pAd->ApCfg.RssiSample.AvgRssi2) -                                                        RTMPMinSnr(pAd, pAd->ApCfg.RssiSample.AvgSnr0,                                                        pAd->ApCfg.RssiSample.AvgSnr1);#endif // CONFIG_AP_SUPPORT //	pAd->iw_stats.qual.updated = 1;     // Flags to know if updated#ifdef IW_QUAL_DBM	pAd->iw_stats.qual.updated |= IW_QUAL_DBM;	// Level + Noise are dBm#endif // IW_QUAL_DBM //	pAd->iw_stats.discard.nwid = 0;     // Rx : Wrong nwid/essid	pAd->iw_stats.miss.beacon = 0;      // Missed beacons/superframe		DBGPRINT(RT_DEBUG_TRACE, ("<--- rt28xx_get_wireless_stats/n"));	return &pAd->iw_stats;}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:83,


示例22: rt28xx_open

/*========================================================================Routine Description:    Open raxx interface.Arguments:	*net_dev			the raxx interface pointerReturn Value:    0					Open OK	otherwise			Open FailNote:========================================================================*/int rt28xx_open(IN PNET_DEV dev){				 	struct net_device * net_dev = (struct net_device *)dev;	PRTMP_ADAPTER pAd = NULL;	int retval = 0; 	//POS_COOKIE pObj;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		// Sanity check for pAd	if (pAd == NULL)	{		/* if 1st open fail, pAd will be free;		   So the net_dev->priv will be NULL in 2rd open */		return -1;	}#ifdef CONFIG_APSTA_MIXED_SUPPORT	if (pAd->OpMode == OPMODE_AP)	{		CW_MAX_IN_BITS = 6;	}	else if (pAd->OpMode == OPMODE_STA)	{		CW_MAX_IN_BITS = 10;	}#endif // CONFIG_APSTA_MIXED_SUPPORT //#if WIRELESS_EXT >= 12	if (RT_DEV_PRIV_FLAGS_GET(net_dev) == INT_MAIN) 	{#ifdef CONFIG_APSTA_MIXED_SUPPORT		if (pAd->OpMode == OPMODE_AP)			net_dev->wireless_handlers = (struct iw_handler_def *) &rt28xx_ap_iw_handler_def;#endif // CONFIG_APSTA_MIXED_SUPPORT //	}#endif // WIRELESS_EXT >= 12 //	// Request interrupt service routine for PCI device	// register the interrupt routine with the os	/*		AP Channel auto-selection will be run in rt28xx_init(),		so we must reqister IRQ hander here.	*/	RtmpOSIRQRequest(net_dev);	// Init IRQ parameters stored in pAd	RTMP_IRQ_INIT(pAd);		// Chip & other init	if (rt28xx_init(pAd, mac, hostname) == FALSE)		goto err;#ifdef LINUX#ifdef RT_CFG80211_SUPPORT	RT_CFG80211_REINIT(pAd);	RT_CFG80211_CRDA_REG_RULE_APPLY(pAd);#endif // RT_CFG80211_SUPPORT //#endif // LINUX //	// Enable Interrupt	RTMP_IRQ_ENABLE(pAd);	// Now Enable RxTx	RTMPEnableRxTx(pAd);	RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_START_UP);	{	UINT32 reg = 0;	RTMP_IO_READ32(pAd, 0x1300, &reg);  // clear garbage interrupts	if (reg);	DBGPRINT(RT_DEBUG_TRACE, ("0x1300 = %08x/n", reg));	}	{//	u32 reg;//	UINT8  byte;//	u16 tmp;//	RTMP_IO_READ32(pAd, XIFS_TIME_CFG, &reg);//	tmp = 0x0805;//	reg  = (reg & 0xffff0000) | tmp;//	RTMP_IO_WRITE32(pAd, XIFS_TIME_CFG, reg);//.........这里部分代码省略.........
开发者ID:jing-git,项目名称:rt-n56u,代码行数:101,



注:本文中的GET_PAD_FROM_NET_DEV函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GET_PARAM函数代码示例
C++ GET_OVERLAY_PRIV函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。