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

📄 usbmacros.h

📁 有关ARM开发板上的IXP400网络驱动程序的源码以。
💻 H
📖 第 1 页 / 共 2 页
字号:
/** sanity check for event masks */#define CHECK_EVENT_MASK(device, eventMask)                       \    if ((eventMask & ~(USB_BUS_EVENTS | USB_DEVICE_EVENTS)) != 0) \    {                                                             \        RETURN_INVALID_PARMS(device);                             \    }/** sanity check for endpoint queue size */#define CHECK_ENDPOINT_QUEUE(epData)                \    if (epData->queue.len == MAX_QUEUE_SIZE)        \    {                                               \        RETURN_SEND_QUEUE_FULL(epData->device);     \    }/** sanity check for endpoint IN capability */#define CHECK_ENDPOINT_IN_CAPABILITY(epData, device) \    if ((epData->direction & USB_IN) == 0)           \    {                                                \        RETURN_NO_IN_CAPABILITY(device);             \    } #define IX_USB_LOG_DEVICE IX_OSAL_LOG_DEV_STDOUT#ifdef __HWEMU__/* enable all debugging */#define IX_HWEMU_TRACE(format, a, b, c, d, e, f)                  \        (ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,                      \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#define IX_USB_TRACE (format, a, b, c, d, e, f)                   \        (ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,                      \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#define IX_USB_VERBOSE2_TRACE(format, a, b, c, d, e, f)           \        (ixOsalLog (IX_OSAL_LOG_LVL_DEBUG1,                       \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#define IX_USB_VERBOSE3_TRACE(format, a, b, c, d, e, f)           \        (ixOsalLog (IX_OSAL_LOG_LVL_DEBUG2,                       \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#define IX_USB_VERBOSE4_TRACE(format, a, b, c, d, e, f)           \        (ixOsalLog (IX_OSAL_LOG_LVL_DEBUG3,                       \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#define IX_USB_VERBOSE_MEM_TRACE(format, a, b, c, d, e, f)        \        (ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,                      \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#define IX_USB_VERBOSE_INIT_TRACE(format, a, b, c, d, e, f)       \        (ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,                      \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#define IX_USB_VERBOSE_WARN_TRACE(format, a, b, c, d, e, f)       \        (ixOsalLog (IX_OSAL_LOG_LVL_WARNING,                      \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#else#ifndef NDEBUG#undef IX_USB_HAS_TRACE_MACRO#undef IX_USB_HAS_VERBOSE_INIT_TRACE_MACRO#undef IX_USB_HAS_VERBOSE_WARN_TRACE_MACRO#undef IX_USB_HAS_VERBOSE_MEM_TRACE_MACRO#undef IX_USB_HAS_VERBOSE_TRACE_MACRO#undef IX_USB_HAS_VERBOSE_2_TRACE_MACRO#undef IX_USB_HAS_VERBOSE_3_TRACE_MACRO#undef IX_USB_HAS_VERBOSE_4_TRACE_MACRO#undef IX_USB_HAS_VERBOSE_5_TRACE_MACRO#endif#ifndef __doxygen_HIDE#define IX_HWEMU_TRACE(format, a, b, c, d, e, f) if (0); /* nothing */#endif /* ndef __doxygen_HIDE */#ifdef IX_USB_HAS_TRACE_MACRO/** debug trace macro */#define IX_USB_TRACE(format, a, b, c, d, e, f)               \        (ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,                 \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#else/** no trace macro */#define IX_USB_TRACE(format, a, b, c, d, e, f) if (0); /* nothing */#endif /* IX_USB_HAS_TRACE_MACRO */#ifndef __doxygen_HIDE#ifdef IX_USB_HAS_VERBOSE_TRACE_MACRO#define IX_USB_VERBOSE_TRACE (format, a, b, c, d, e, f)        \        (ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,                   \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#else#define IX_USB_VERBOSE_TRACE(format, a, b, c, d, e, f) if (0); /* nothing */#endif /* IX_USB_HAS_VERBOSE_TRACE_MACRO */#ifdef IX_USB_HAS_VERBOSE_2_TRACE_MACRO#define IX_USB_VERBOSE2_TRACE(format, a, b, c, d, e, f)        \        (ixOsalLog (IX_OSAL_LOG_LVL_DEBUG1,                    \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#else#define IX_USB_VERBOSE2_TRACE(format, a, b, c, d, e, f) if (0); /* nothing */#endif /* IX_USB_HAS_VERBOSE_2_TRACE_MACRO */#ifdef IX_USB_HAS_VERBOSE_3_TRACE_MACRO#define IX_USB_VERBOSE3_TRACE(format, a, b, c, d, e, f)         \        (ixOsalLog (IX_OSAL_LOG_LVL_DEBUG2,                     \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#else#define IX_USB_VERBOSE3_TRACE(format, a, b, c, d, e, f) if (0); /* nothing */#endif /* IX_USB_HAS_VERBOSE_3_TRACE_MACRO */#ifdef IX_USB_HAS_VERBOSE_4_TRACE_MACROint usbTraceVerbose4 = 0;#define IX_USB_VERBOSE4_TRACE(format, a, b, c, d, e, f)          \         if (usbTraceVerbose4)                                   \         {                                                       \             ixOsalLog (IX_OSAL_LOG_LVL_DEBUG3,                  \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f) \         }#else#define IX_USB_VERBOSE4_TRACE(format, a, b, c, d, e, f) if (0); /* nothing */#endif /* IX_USB_HAS_VERBOSE_4_TRACE_MACRO */#ifdef IX_USB_HAS_VERBOSE_5_TRACE_MACROint usbTraceVerbose5 = 0;#define IX_USB_VERBOSE5_TRACE(format, a, b, c, d, e, f)          \         if (usbTraceVerbose5)                                   \         {                                                       \             ixOsalLog (IX_OSAL_LOG_LVL_DEBUG3,                  \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f) \         }#else#define IX_USB_VERBOSE5_TRACE(format, a, b, c, d, e, f) if (0); /* nothing */#endif /* IX_USB_HAS_VERBOSE_5_TRACE_MACRO */#ifdef IX_USB_HAS_VERBOSE_MEM_TRACE_MACRO#define IX_USB_VERBOSE_MEM_TRACE(format, a, b, c, d, e, f)      \        (ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,                    \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#else#define IX_USB_VERBOSE_MEM_TRACE(format, a, b, c, d, e, f) if (0); /* nothing */#endif /* IX_USB_HAS_VERBOSE_MEM_TRACE_MACRO */#ifdef IX_USB_HAS_VERBOSE_WARN_TRACE_MACRO#define IX_USB_VERBOSE_WARN_TRACE(format, a, b, c, d, e, f)      \        (ixOsalLog (IX_OSAL_LOG_LVL_WARNING,                     \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#else#define IX_USB_VERBOSE_WARN_TRACE(format, a, b, c, d, e, f) if (0); /* nothing */#endif /* IX_USB_HAS_VERBOSE_WARN_TRACE_MACRO */#ifdef IX_USB_HAS_VERBOSE_INIT_TRACE_MACRO#define IX_USB_VERBOSE_INIT_TRACE(format, a, b, c, d, e, f)     \        (ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE,                    \                    IX_USB_LOG_DEVICE, format, a, b, c, d, e, f))#else#define IX_USB_VERBOSE_INIT_TRACE(format, a, b, c, d, e, f) if (0); /* nothing */#endif /* IX_USB_HAS_VERBOSE_INIT_TRACE_MACRO */#endif /* __HWEMU__ */#ifdef IX_USB_HAS_ASSERT_MACRO/** assert macro */#define IX_USB_ASSERT(expr) \    if (expr == FALSE) \    { \        IX_USB_TRACE("Assertion failed\n", 0, 0, 0, 0, 0, 0); \        IX_OSAL_ASSERT(expr); \    }#else#ifndef __doxygen_HIDE#define IX_USB_ASSERT(expr) if (0); /* nothing */#endif /* ndef  __doxygen_HIDE */#endif /* IX_USB_HAS_ASSERT_MACRO */#ifdef IX_USB_HAS_CT_ASSERT_MACRO/** compile-time assert macro (hack) */#define IX_USB_CT_ASSERT(expr) \    switch (0) { case 0: case (expr):; }#else#ifndef __doxygen_HIDE#define IX_USB_CT_ASSERT(expr) if (0); /* nothing */#endif /* ndef  __doxygen_HIDE */#endif /* IX_USB_HAS_CT_ASSERT_MACRO */#endif /* ndef __doxygen_HIDE */#ifdef IX_USB_HAS_CRITICAL_DATA_LOCKS/** critial data section lock */#define IX_USB_LOCK ixOsalIrqLock()/** critial data section unlock */#define IX_USB_UNLOCK(state) ixOsalIrqUnlock(state)/** irq lock */#define IX_USB_IRQ_LOCK ixOsalIrqLock()/** irq unlock */#define IX_USB_IRQ_UNLOCK(state) ixOsalIrqUnlock(state)#else/** dummy critial data section lock */#define IX_USB_LOCK 0/** dummy critial data section unlock */#define IX_USB_UNLOCK(state)/** dummy irq lock */#define IX_USB_IRQ_LOCK 0/** dummy irq unlock */#define IX_USB_IRQ_UNLOCK(state)#endif /* IX_USB_HAS_CRITICAL_DATA_LOCKS */#ifdef IX_USB_HAS_INT_BIND_MACRO/** USB bind macro */#define INT_BIND_MACRO(level, callback, instance) { ixOsalIrqBind((int) level, (void (*) (void *)) callback, (void *) instance); }#else#ifndef __doxygen_HIDE#define INT_BIND_MACRO(level, callback, instance)   /* nothing */#endif /* ndef __doxygen_HIDE */#endif /* ndef IX_USB_HAS_INT_BIND_MACRO */#ifndef __doxygen_HIDE/* show macros */#define SHOW_NUMBER(x)    ((x) > 1000 ? (x) > 1000000 ? ((x) / 1000000) : ((x) / 1000) : (x))#define SHOW_METRIC(x)    ((x) > 1000 ? (x) > 1000000 ? "M" : "k" : " ")#endif /* ndif doxygen_HIDE */#define IX_USB_DRAIN_FIFO(registers) \        while (DREG_GET(&registers->UDCCS0) & UDC_UDCCS0_RNE) \            DREG_GET(&registers->UDDR0);#endif /* usbmacros_H *//** * @} addtogroup IxUsbAPI  */

⌨️ 快捷键说明

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