⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syswlanendmips.c

📁 vworks 下wlan的实现代码
💻 C
📖 第 1 页 / 共 3 页
字号:
*/UINT8 sysWlanIOInByte    (    UINT32 port    )    {    return ( *(volatile UINT8 *) port );    }/****************************************************************************** sysWlanIOOutByte - write an 8 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanIOOutByte    (    UINT32 port,    UINT8  data    )    {    * (volatile UINT8 *) port = data;    }/****************************************************************************** sysWlanIOInWord - read a 16 bit value from the specified device address ** RETURNS: 16 bit value from the specified device address.** NOMANUAL*/UINT16 sysWlanIOInWord    (    UINT32 port    )    {    UINT16 inData = * (volatile UINT16 *) port;    inData        = SWAP_ENDIAN_16(inData);    return (inData);    }/****************************************************************************** sysWlanIOOutWord - write a 16 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanIOOutWord    (    UINT32 port,    UINT16 data    )    {    UINT16 outData = SWAP_ENDIAN_16(data);    * (volatile UINT16 *) port = outData;    }/****************************************************************************** sysWlanIOInLong - read a 32 bit value form the specified device address  ** RETURNS: 32 bit value from the specified device address.** NOMANUAL*/UINT32 sysWlanIOInLong    (    UINT32 port    )    {    UINT32 inData = * (volatile UINT32 *) port;    inData        = SWAP_ENDIAN_32(inData);    return (inData);    }/****************************************************************************** sysWlanIOOutLong - write a 32 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanIOOutLong    (    UINT32 port,    UINT32 data    )    {    UINT32 outData = SWAP_ENDIAN_32(data);    * (volatile UINT32 *) port = outData;    }/****************************************************************************** sysWlanMemInByte - read an 8 bit value from specified device address ** RETURNS: 8 bit value form the specified device address** NOMANUAL*/UINT8 sysWlanMemInByte    (    UINT32 addr    )    {    return sysWlanIOInByte(addr);    }/****************************************************************************** sysWlanMemOutByte - write an 8 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanMemOutByte    (    UINT32 addr,    UINT8  data    )    {    (void) sysWlanIOOutByte(addr, data);    }/****************************************************************************** sysWlanMemInWord - read a 16 bit value from the specified device address ** RETURNS: 16 bit value from the specified device address.** NOMANUAL*/UINT16 sysWlanMemInWord    (    UINT32 addr    )    {    return sysWlanIOInWord(addr);    }/****************************************************************************** sysWlanMemOutWord - write a 16 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanMemOutWord    (    UINT32 addr,    UINT16 data    )    {    sysWlanIOOutWord(addr, data);    }/****************************************************************************** sysWlanMemInLong - read a 32 bit value form the specified device address  ** RETURNS: 32 bit value from the specified device address.** NOMANUAL*/UINT32 sysWlanMemInLong    (    UINT32 addr    )    {    return (sysWlanIOInLong(addr));    }/****************************************************************************** sysWlanMemOutLong - write a 32 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanMemOutLong    (    UINT32 addr,    UINT32 data    )    {    (void) sysWlanIOOutLong(addr, data);    }/****************************************************************************** sysWlanIOEndianInWord - read a 16 bit value to specified device address* without swapping byte order (routine included for completeness, on PENTIUM * this is not an issue).** RETURNS: N/A** NOMANUAL*/UINT16 sysWlanIOEndianInWord    (    UINT32 addr    )    {    UINT16 inData = * (volatile UINT16 *) addr;    return (inData);    }/****************************************************************************** sysWlanIOEndianOutWord - write a 16 bit value to specified device address* without swapping byte order (routine include for completeness, on PENTIUM* this is not an issue).** RETURNS: N/A** NOMANUAL*/void sysWlanIOEndianOutWord    (    UINT32 addr,    UINT16 data    )    {    * (volatile UINT16 *) addr = data;    }/****************************************************************************** sysWlanMemEndianInWord - read a 16 bit value from the specified device address * without swapping byte order (routine included for completeness, on PENITUM* this is not an issue).** RETURNS: 16 bit value from the specified device address.** NOMANUAL*/UINT16 sysWlanMemEndianInWord    (    UINT32 addr    )    {            return sysWlanIOEndianInWord(addr);    }/****************************************************************************** sysWlanMemEndianOutWord - write a 16 bit value to specified device address* without swapping byte order (routine included for completeness, on PENTIUM* this is not an issue).** RETURNS: N/A** NOMANUAL*/void sysWlanMemEndianOutWord    (    UINT32 addr,    UINT16 data    )    {    sysWlanIOEndianOutWord(addr, data);    }/***************************************************************************** sysWlanIntConnect - enable the system level interrupt** This routine enables the board level interrupt.** Be aware that using the intConnect() routine usually allows only one* ISR per interrupt, and may result in interrupt conflicts with other PCI* devices.  If the target has multiple PCI devices, it is usually more* appropriate to call pciIntConnect() instead, which supports the daisy* chaining of PCI interrupts.** RETURNS: N/A** NOMANUAL*/void sysWlanIntConnect    (    INT32    vector,      /* interrupt vector */     INT32    routine,     /* interrupt service routine */    INT32    parameter,   /* parameter used by the isr */    STATUS * result       /* result of api call */    )    {    *result = pciIntConnect ( INUM_TO_IVEC(vector),                               (VOIDFUNCPTR) routine,                               (INT32)       parameter);     }/****************************************************************************** sysWlanIntDisconnect - disable the system level interrupt** This routine disables the board level interrupt.** Be aware that using the intDisconnect() routine (if supported) may* inadvertently disable interrupts to multiple PCI devices.  If the target* has multiple PCI devices, it is usually more appropriate to call* pciIntDisconnect() instead, which supports the daisy chaining of PCI* interrupts.** RETURNS: N/A** NOMANUAL*/void sysWlanIntDisconnect    (    INT32    vector,      /* interrupt vector */     INT32    routine,     /* interrupt service routine */    INT32    parameter,   /* parameter used by the isr */    STATUS * result       /* result of api call */    )    {    *result = pciIntDisconnect ( INUM_TO_IVEC(vector),				 (VOIDFUNCPTR) routine );     }/****************************************************************************** sysWlanIntEnable - enable the board level interrupt** This routine enables the board level interrupt.** Be aware that using the intEnable() routine could have impact on other* devices which may be sharing the same interrupt.  In some cases it may be* better to enable interrupts directly on the device instead of using* intEnable().** RETURNS: N/A** NOMANUAL*/void sysWlanIntEnable    (    INT32    intLevel,  /* interrupt request level */    STATUS * result     /* result of API call */    )    {    *result = (sysIntEnablePIC(intLevel - INT_NUM_IRQ0));    }/****************************************************************************** sysWlanIntDisable - disable the board level interrupt** This routine disables the board level interrupt.** Be aware that using the intDisable() routine could have impact on other* devices which may be sharing the same interrupt.  In some cases it may be* better to disable interrupts directly on the device instead of using* intDisable().** RETURNS: N/A** NOMANUAL*/void sysWlanIntDisable    (    INT32    intLevel,  /* interrupt request level */    STATUS * result     /* result of API call */    )    {    *result = (sysIntDisablePIC(intLevel - INT_NUM_IRQ0));    }#ifdef INCLUDE_AIRONET_SHOWIMPORT STATUS  cisAironetShowInit (void);/****************************************************************************** sysWlanShowInit - Dummy routine used to get aironet show symbols into *                   image. ** RETURNS: ** NOMANUAL*/void sysWlanShowInit (void)    {    (void)  cisAironetShowInit ();    }#endif/****************************************************************************** wlanIoctl - generic routine to call a wlan card specific ioctl handler** RETURNS: OK or EINVAL**/int wlanIoctl    (        END_OBJ* pDrvCtrl,     /* Device handle for this card */    int cmd,               /* IOCTL command */    caddr_t data           /* Generic data pointer */    )    {    return (WLAN_IOCTL(pDrvCtrl, cmd, data));    }#endif /* INCLUDE_WLAN_END */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -