wvNetEventP.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:25k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* wvNetEventP.h - header file for WindView networking event identifiers */
  2. /* Copyright 1984 - 2000 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01b,15nov01,tcr  fix WV_NET_DSTADDRIN_EVENT_3 macro
  7. 01a,12jan00,spm  written
  8. */
  9. #ifndef __INCwvNetEventPh
  10. #define __INCwvNetEventPh
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. /* Routines for selecting events based on IP addresses or port numbers. */
  15. IMPORT FUNCPTR _func_wvNetAddressFilterTest;
  16. IMPORT FUNCPTR _func_wvNetPortFilterTest;
  17. #define MIN_WVNET_EVENTID  20000
  18. #define MAX_WVNET_EVENTID  24999
  19. #define WVNET_EVENT(id)  (MIN_WVNET_EVENTID + id)
  20. #define WVNET_MASKSIZE  8  /* Allows 57 to 64 events per level. */
  21. /*
  22.  * The WV_BLOCK_START macro prevents wasted cycles by determining if
  23.  * WindView is running and if the given class has been selected. It
  24.  * provides initial screening for reporting network events to WindView.
  25.  * The classId is either NET_CORE_EVENT or NET_AUX_EVENT.
  26.  */
  27. #define WV_BLOCK_START(classId)    
  28.     if (ACTION_IS_SET)    
  29.         {    
  30.         if (WV_EVTCLASS_IS_SET (classId | WV_ON))    
  31.             {
  32. /*
  33.  * The WV_NET_EVENT_TEST macro evaluates to TRUE if the event is selected
  34.  * for inclusion in the WindView updates sent to the host. The event
  35.  * selection status is stored in a bitmap accessed by priority level.
  36.  * This macro is only valid within a test conditional after the
  37.  * WV_BLOCK_START macro verifies that the class is active. The eventLevel
  38.  * parameter has values determined by the constants defined below, and
  39.  * the offset indicates the ordinal number of the event for the given
  40.  * level (ranging from 0 upward).
  41.  */
  42. #define WV_NET_EVENT_TEST(eventLevel, offset) 
  43.   pWvNetEventMap [eventLevel - 1].bitmap [WVNET_MASKSIZE - 1 - (offset / 8)] & 
  44.                                                            (1 << (offset % 8))
  45. /*
  46.  * The WV_BLOCK_END provides a footer for all code which reports network
  47.  * events to WindView. It closes the open scopes caused by WV_BLOCK_START.
  48.  * The classId parameter is not used, but is included for symmetry.
  49.  */
  50. #define WV_BLOCK_END(classId)    
  51.             }    
  52.         }
  53. /*
  54.  * The WindView for networking marker events handles cases which do not
  55.  * involve data transfer. The transmission direction (i.e. - status) field
  56.  * in the event identifier is always 0. Up to four additional parameters
  57.  * may be sent to the host.
  58.  */
  59. #define WV_NET_MARKER_0(classId, eventLevel, eventOffset, eventTag, eventValue) 
  60.     WV_BLOCK_START (classId) 
  61.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset)) 
  62.         {    
  63.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  64.                   | (eventLevel << 12) | (wvNetLocalFilter << 8) | eventTag; 
  65.         (* _func_evtLogOIntLock) (eventValue, 1, wvNetEventId, 0, 0, 0, 0); 
  66.         } 
  67.     WV_BLOCK_END (classId)
  68. #define WV_NET_MARKER_1(classId, eventLevel, eventOffset, eventTag, eventValue, arg1) 
  69.     WV_BLOCK_START (classId) 
  70.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset)) 
  71.         {    
  72.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  73.                   | (eventLevel << 12) | (wvNetLocalFilter << 8) | eventTag; 
  74.         (* _func_evtLogOIntLock) (eventValue, 2, wvNetEventId, arg1, 0, 0, 0); 
  75.         } 
  76.     WV_BLOCK_END (classId)
  77. #define WV_NET_MARKER_2(classId, eventLevel, eventOffset, eventTag, eventValue, arg1, arg2) 
  78.     WV_BLOCK_START (classId) 
  79.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset)) 
  80.         {    
  81.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  82.                   | (eventLevel << 12) | (wvNetLocalFilter << 8) | eventTag; 
  83.         (* _func_evtLogOIntLock) (eventValue, 3, wvNetEventId, arg1, arg2, 0, 0); 
  84.         } 
  85.     WV_BLOCK_END (classId)
  86. #define WV_NET_MARKER_3(classId, eventLevel, eventOffset, eventTag, eventValue, arg1, arg2, arg3) 
  87.     WV_BLOCK_START (classId) 
  88.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset)) 
  89.         {    
  90.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  91.                   | (eventLevel << 12) | (wvNetLocalFilter << 8) | eventTag; 
  92. (* _func_evtLogOIntLock) (eventValue, 4, wvNetEventId, arg1, arg2, arg3, 0); 
  93.         } 
  94.     WV_BLOCK_END (classId)
  95. #define WV_NET_MARKER_4(classId, eventLevel, eventOffset, eventTag, eventValue, arg1, arg2, arg3, arg4) 
  96.     WV_BLOCK_START (classId) 
  97.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset)) 
  98.         {    
  99.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  100.                   | (eventLevel << 12) | (wvNetLocalFilter << 8) | eventTag; 
  101.         (* _func_evtLogOIntLock) (eventValue, 5, wvNetEventId, arg1, arg2, arg3, arg4); 
  102.         } 
  103.     WV_BLOCK_END (classId)
  104.      /*
  105.       * These marker events use the filter which tests for a particular
  106.       * source and destination port for outgoing packets. If the filter is
  107.       * enabled, the event is not reported to the host unless the ports match
  108.       * the registered values.
  109.       */
  110. #define WV_NET_PORTOUT_MARKER_1(classId, eventLevel, eventOffset, eventTag, srcPort, dstPort, eventValue, arg1) 
  111.     WV_BLOCK_START (classId) 
  112.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  113.         (* _func_wvNetPortFilterTest) (1, srcPort, dstPort)) 
  114.         {    
  115.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  116.                   | (eventLevel << 12) | (wvNetLocalFilter << 8) | eventTag; 
  117.         (* _func_evtLogOIntLock) (eventValue, 2, wvNetEventId, arg1, 0, 0, 0); 
  118.         } 
  119.     WV_BLOCK_END (classId)
  120.      /* 
  121.       * This marker event uses the filter which tests for a particular 
  122.       * destination address for outgoing packets. If the filter is
  123.       * enabled, the event is not reported to the host unless the address
  124.       * matches the registered value.
  125.       */
  126. #define WV_NET_DSTADDROUT_MARKER_1(classId, eventLevel, eventOffset, eventTag, dstAddr, eventValue, arg1) 
  127.     WV_BLOCK_START (classId) 
  128.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  129.         (* _func_wvNetAddressFilterTest) (1, 1, 0, dstAddr)) 
  130.         {    
  131.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  132.                   | (eventLevel << 12) | (wvNetLocalFilter << 8) | eventTag; 
  133.         (* _func_evtLogOIntLock) (eventValue, 2, wvNetEventId, arg1, 0, 0, 0); 
  134.         } 
  135.     WV_BLOCK_END (classId)
  136.      /*
  137.       * This marker event uses the filter which tests for a particular source
  138.       * and destination address for incoming packets. If the filter is enabled,
  139.       * the event is not reported to the host unless the addresses match both
  140.       * registered values.
  141.       */
  142. #define WV_NET_ADDROUT_MARKER_4(classId, eventLevel, eventOffset, eventTag, srcAddr, dstAddr, eventValue, arg1, arg2, arg3, arg4) 
  143.     WV_BLOCK_START (classId) 
  144.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  145.         (* _func_wvNetAddressFilterTest) (0, 3, srcAddr, dstAddr)) 
  146.         {    
  147.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  148.                   | (eventLevel << 12) | (wvNetLocalFilter << 8) | eventTag; 
  149.         (* _func_evtLogOIntLock) (eventValue, 5, wvNetEventId, arg1, arg2, arg3, arg4); 
  150.         } 
  151.     WV_BLOCK_END (classId)
  152. #define WV_NET_ADDRIN_MARKER_2(classId, eventLevel, eventOffset, eventTag, srcAddr, dstAddr, eventValue, arg1, arg2) 
  153.     WV_BLOCK_START (classId) 
  154.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  155.         (* _func_wvNetAddressFilterTest) (0, 3, srcAddr, dstAddr)) 
  156.         {    
  157.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  158.                   | (eventLevel << 12) | (wvNetLocalFilter << 8) | eventTag; 
  159.         (* _func_evtLogOIntLock) (eventValue, 3, wvNetEventId, arg1, arg2, 0, 0); 
  160.         } 
  161.     WV_BLOCK_END (classId)
  162. /*
  163.  * The WindView for networking data transfer events store a transmission
  164.  * direction in the status field of the event identifier. Valid values are
  165.  * WV_NET_SEND and WV_NET_RECV. Up to four additional parameters may be sent
  166.  * to the host.
  167.  */
  168. #define WV_NET_EVENT_0(classId, eventLevel, eventOffset, eventTag, eventValue, status) 
  169.     WV_BLOCK_START (classId) 
  170.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset)) 
  171.         {    
  172.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  173.                   | (eventLevel << 12) | (status << 10) 
  174.                   | (wvNetLocalFilter << 8) | eventTag; 
  175.         (* _func_evtLogOIntLock) (eventValue, 1, wvNetEventId, 0, 0, 0, 0); 
  176.         } 
  177.     WV_BLOCK_END (classId)
  178. #define WV_NET_EVENT_1(classId, eventLevel, eventOffset, eventTag, eventValue, status, arg1) 
  179.     WV_BLOCK_START (classId) 
  180.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset)) 
  181.         {    
  182.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  183.                   | (eventLevel << 12) | (status << 10) 
  184.                   | (wvNetLocalFilter << 8) | eventTag; 
  185.         (* _func_evtLogOIntLock) (eventValue, 2, wvNetEventId, arg1, 0, 0, 0); 
  186.         } 
  187.     WV_BLOCK_END (classId)
  188. #define WV_NET_EVENT_2(classId, eventLevel, eventOffset, eventTag, eventValue, status, arg1, arg2) 
  189.     WV_BLOCK_START (classId) 
  190.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset)) 
  191.         {    
  192.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  193.                   | (eventLevel << 12) | (status << 10) 
  194.                   | (wvNetLocalFilter << 8) | eventTag; 
  195.         (* _func_evtLogOIntLock) (eventValue, 3, wvNetEventId, arg1, arg2, 0, 0); 
  196.         } 
  197.     WV_BLOCK_END (classId)
  198.      /*
  199.       * These data transfer events use the filter which tests for a particular
  200.       * source and destination port for outgoing packets. If the filter is
  201.       * enabled, the event is not reported to the host unless the ports match
  202.       * the registered values.
  203.       */
  204. #define WV_NET_PORTOUT_EVENT_1(classId, eventLevel, eventOffset, eventTag, srcPort, dstPort, eventValue, status, arg1) 
  205.     WV_BLOCK_START (classId) 
  206.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  207.         (* _func_wvNetPortFilterTest) (1, srcPort, dstPort)) 
  208.         {    
  209.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  210.                   | (eventLevel << 12) | (status << 10) 
  211.                   | (wvNetLocalFilter << 8) | eventTag; 
  212.         (* _func_evtLogOIntLock) (eventValue, 2, wvNetEventId, arg1, 0, 0, 0); 
  213.         } 
  214.     WV_BLOCK_END (classId)
  215. #define WV_NET_PORTOUT_EVENT_2(classId, eventLevel, eventOffset, eventTag, srcPort, dstPort, eventValue, status, arg1, arg2) 
  216.     WV_BLOCK_START (classId) 
  217.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  218.         (* _func_wvNetPortFilterTest) (1, srcPort, dstPort)) 
  219.         {    
  220.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  221.                   | (eventLevel << 12) | (status << 10) 
  222.                   | (wvNetLocalFilter << 8) | eventTag; 
  223.         (* _func_evtLogOIntLock) (eventValue, 3, wvNetEventId, arg1, arg2, 0, 0); 
  224.         } 
  225.     WV_BLOCK_END (classId)
  226. #define WV_NET_PORTOUT_EVENT_4(classId, eventLevel, eventOffset, eventTag, srcPort, dstPort, eventValue, status, arg1, arg2, arg3, arg4) 
  227.     WV_BLOCK_START (classId) 
  228.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  229.         (* _func_wvNetPortFilterTest) (1, srcPort, dstPort)) 
  230.         {    
  231.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  232.                   | (eventLevel << 12) | (status << 10) 
  233.                   | (wvNetLocalFilter << 8) | eventTag; 
  234.         (* _func_evtLogOIntLock) (eventValue, 5, wvNetEventId, arg1, arg2, arg3, arg4); 
  235.         } 
  236.     WV_BLOCK_END (classId)
  237.      /*
  238.       * These data transfer events use the filter which tests for a particular
  239.       * source and destination port for incoming packets. If the filter is
  240.       * enabled, the event is not reported to the host unless the ports match
  241.       * the registered values.
  242.       */
  243. #define WV_NET_PORTIN_EVENT_0(classId, eventLevel, eventOffset, eventTag, srcPort, dstPort, eventValue, status) 
  244.     WV_BLOCK_START (classId) 
  245.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  246.         (* _func_wvNetPortFilterTest) (0, srcPort, dstPort)) 
  247.         {    
  248.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  249.                   | (eventLevel << 12) | (status << 10) 
  250.                   | (wvNetLocalFilter << 8) | eventTag; 
  251.         (* _func_evtLogOIntLock) (eventValue, 1, wvNetEventId, 0, 0, 0, 0); 
  252.         } 
  253.     WV_BLOCK_END (classId)
  254. #define WV_NET_PORTIN_EVENT_1(classId, eventLevel, eventOffset, eventTag, srcPort, dstPort, eventValue, status, arg1) 
  255.     WV_BLOCK_START (classId) 
  256.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  257.         (* _func_wvNetPortFilterTest) (0, srcPort, dstPort)) 
  258.         {    
  259.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  260.                   | (eventLevel << 12) | (status << 10) 
  261.                   | (wvNetLocalFilter << 8) | eventTag; 
  262.         (* _func_evtLogOIntLock) (eventValue, 2, wvNetEventId, arg1, 0, 0, 0); 
  263.         } 
  264.     WV_BLOCK_END (classId)
  265. #define WV_NET_PORTIN_EVENT_2(classId, eventLevel, eventOffset, eventTag, srcPort, dstPort, eventValue, status, arg1, arg2) 
  266.     WV_BLOCK_START (classId) 
  267.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  268.         (* _func_wvNetPortFilterTest) (0, srcPort, dstPort)) 
  269.         {    
  270.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  271.                   | (eventLevel << 12) | (status << 10) 
  272.                   | (wvNetLocalFilter << 8) | eventTag; 
  273.         (* _func_evtLogOIntLock) (eventValue, 3, wvNetEventId, arg1, arg2, 0, 0); 
  274.         } 
  275.     WV_BLOCK_END (classId)
  276. #define WV_NET_PORTIN_EVENT_3(classId, eventLevel, eventOffset, eventTag, srcPort, dstPort, eventValue, status, arg1, arg2, arg3) 
  277.     WV_BLOCK_START (classId) 
  278.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  279.         (* _func_wvNetPortFilterTest) (0, srcPort, dstPort)) 
  280.         {    
  281.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  282.                   | (eventLevel << 12) | (status << 10) 
  283.                   | (wvNetLocalFilter << 8) | eventTag; 
  284.         (* _func_evtLogOIntLock) (eventValue, 4, wvNetEventId, arg1, arg2, arg3, 0); 
  285.         } 
  286.     WV_BLOCK_END (classId)
  287. #define WV_NET_PORTIN_EVENT_4(classId, eventLevel, eventOffset, eventTag, srcPort, dstPort, eventValue, status, arg1, arg2, arg3, arg4) 
  288.     WV_BLOCK_START (classId) 
  289.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  290.         (* _func_wvNetPortFilterTest) (0, srcPort, dstPort)) 
  291.         {    
  292.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  293.                   | (eventLevel << 12) | (status << 10) 
  294.                   | (wvNetLocalFilter << 8) | eventTag; 
  295.         (* _func_evtLogOIntLock) (eventValue, 5, wvNetEventId, arg1, arg2, arg3, arg4); 
  296.         } 
  297.     WV_BLOCK_END (classId)
  298.      /*
  299.       * This data transfer event uses the filter which tests for a particular
  300.       * destination address for outgoing packets. If the filter is enabled,
  301.       * the event is not reported to the host unless the address matches the
  302.       * registered value.
  303.       */
  304. #define WV_NET_DSTADDROUT_EVENT_1(classId, eventLevel, eventOffset, eventTag, dstAddr, eventValue, status, arg1) 
  305.     WV_BLOCK_START (classId) 
  306.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  307.         (* _func_wvNetAddressFilterTest) (1, 1, 0, dstAddr)) 
  308.         {    
  309.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  310.                   | (eventLevel << 12) | (status << 10) 
  311.                   | (wvNetLocalFilter << 8) | eventTag; 
  312.         (* _func_evtLogOIntLock) (eventValue, 2, wvNetEventId, arg1, 0, 0, 0); 
  313.         } 
  314.     WV_BLOCK_END (classId)
  315. #define WV_NET_DSTADDROUT_EVENT_2(classId, eventLevel, eventOffset, eventTag, dstAddr, eventValue, status, arg1, arg2) 
  316.     WV_BLOCK_START (classId) 
  317.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  318.         (* _func_wvNetAddressFilterTest) (1, 1, 0, dstAddr)) 
  319.         {    
  320.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  321.                   | (eventLevel << 12) | (status << 10) 
  322.                   | (wvNetLocalFilter << 8) | eventTag; 
  323.         (* _func_evtLogOIntLock) (eventValue, 3, wvNetEventId, arg1, arg2, 0, 0); 
  324.         } 
  325.     WV_BLOCK_END (classId)
  326.      /*
  327.       * This data transfer event uses the filter which tests for a particular
  328.       * destination address for incoming packets. If the filter is enabled,
  329.       * the event is not reported to the host unless the address matches the
  330.       * registered value.
  331.       */
  332. #define WV_NET_DSTADDRIN_EVENT_1(classId, eventLevel, eventOffset, eventTag, dstAddr, eventValue, status, arg1) 
  333.     WV_BLOCK_START (classId) 
  334.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  335.         (* _func_wvNetAddressFilterTest) (0, 1, 0, dstAddr)) 
  336.         {    
  337.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  338.                   | (eventLevel << 12) | (status << 10) 
  339.                   | (wvNetLocalFilter << 8) | eventTag; 
  340.         (* _func_evtLogOIntLock) (eventValue, 2, wvNetEventId, arg1, 0, 0, 0); 
  341.         } 
  342.     WV_BLOCK_END (classId)
  343. #define WV_NET_DSTADDRIN_EVENT_3(classId, eventLevel, eventOffset, eventTag, dstAddr, eventValue, status, arg1, arg2, arg3) 
  344.     WV_BLOCK_START (classId) 
  345.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  346.         (* _func_wvNetAddressFilterTest) (0, 1, 0, dstAddr)) 
  347.         {    
  348.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  349.                   | (eventLevel << 12) | (status << 10) 
  350.                   | (wvNetLocalFilter << 8) | eventTag; 
  351.         (* _func_evtLogOIntLock) (eventValue, 4, wvNetEventId, arg1, arg2, arg3, 0); 
  352.         } 
  353.     WV_BLOCK_END (classId)
  354.      /*
  355.       * This data transfer event uses the filter which tests for a particular
  356.       * source and destination address for outgoing packets. If the filter is
  357.       * enabled, the event is not reported to the host unless the addresses
  358.       * match both registered values.
  359.       */
  360. #define WV_NET_ADDROUT_EVENT_1(classId, eventLevel, eventOffset, eventTag, srcAddr, dstAddr, eventValue, status, arg1) 
  361.     WV_BLOCK_START (classId) 
  362.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  363.         (* _func_wvNetAddressFilterTest) (1, 3, srcAddr, dstAddr)) 
  364.         {    
  365.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  366.                   | (eventLevel << 12) | (status << 10) 
  367.                   | (wvNetLocalFilter << 8) | eventTag; 
  368.         (* _func_evtLogOIntLock) (eventValue, 2, wvNetEventId, arg1, 0, 0, 0); 
  369.         } 
  370.     WV_BLOCK_END (classId)
  371. #define WV_NET_ADDROUT_EVENT_2(classId, eventLevel, eventOffset, eventTag, srcAddr, dstAddr, eventValue, status, arg1, arg2) 
  372.     WV_BLOCK_START (classId) 
  373.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  374.         (* _func_wvNetAddressFilterTest) (1, 3, srcAddr, dstAddr)) 
  375.         {    
  376.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  377.                   | (eventLevel << 12) | (status << 10) 
  378.                   | (wvNetLocalFilter << 8) | eventTag; 
  379.         (* _func_evtLogOIntLock) (eventValue, 3, wvNetEventId, arg1, arg2, 0, 0); 
  380.         } 
  381.     WV_BLOCK_END (classId)
  382. #define WV_NET_ADDROUT_EVENT_3(classId, eventLevel, eventOffset, eventTag, srcAddr, dstAddr, eventValue, status, arg1, arg2, arg3) 
  383.     WV_BLOCK_START (classId) 
  384.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  385.         (* _func_wvNetAddressFilterTest) (1, 3, srcAddr, dstAddr)) 
  386.         {    
  387.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  388.                   | (eventLevel << 12) | (status << 10) 
  389.                   | (wvNetLocalFilter << 8) | eventTag; 
  390.         ( *_func_evtLogOIntLock) (eventValue, 4, wvNetEventId, arg1, arg2, arg3, 0); 
  391.         } 
  392.     WV_BLOCK_END (classId)
  393. #define WV_NET_ADDROUT_EVENT_4(classId, eventLevel, eventOffset, eventTag, srcAddr, dstAddr, eventValue, status, arg1, arg2, arg3, arg4) 
  394.     WV_BLOCK_START (classId) 
  395.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  396.         (* _func_wvNetAddressFilterTest) (1, 3, srcAddr, dstAddr)) 
  397.         {    
  398.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  399.                   | (eventLevel << 12) | (status << 10) 
  400.                   | (wvNetLocalFilter << 8) | eventTag; 
  401.         (* _func_evtLogOIntLock) (eventValue, 5, wvNetEventId, arg1, arg2, arg3, arg4); 
  402.         } 
  403.     WV_BLOCK_END (classId)
  404.      /*
  405.       * This data transfer event uses the filter which tests for a particular
  406.       * source and destination address for incoming packets. If the filter is
  407.       * enabled, the event is not reported to the host unless the addresses
  408.       * match both registered values.
  409.       */
  410. #define WV_NET_ADDRIN_EVENT_0(classId, eventLevel, eventOffset, eventTag, srcAddr, dstAddr, eventValue, status) 
  411.     WV_BLOCK_START (classId) 
  412.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  413.         (* _func_wvNetAddressFilterTest) (0, 3, srcAddr, dstAddr)) 
  414.         {    
  415.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  416.                   | (eventLevel << 12) | (status << 10) 
  417.                   | (wvNetLocalFilter << 8) | eventTag; 
  418.         (* _func_evtLogOIntLock) (eventValue, 1, wvNetEventId, 0, 0, 0, 0); 
  419.         } 
  420.     WV_BLOCK_END (classId)
  421. #define WV_NET_ADDRIN_EVENT_1(classId, eventLevel, eventOffset, eventTag, srcAddr, dstAddr, eventValue, status, arg1) 
  422.     WV_BLOCK_START (classId) 
  423.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  424.         (* _func_wvNetAddressFilterTest) (0, 3, srcAddr, dstAddr)) 
  425.         {    
  426.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  427.                   | (eventLevel << 12) | (status << 10) 
  428.                   | (wvNetLocalFilter << 8) | eventTag; 
  429.         (* _func_evtLogOIntLock) (eventValue, 2, wvNetEventId, arg1, 0, 0, 0); 
  430.         } 
  431.     WV_BLOCK_END (classId)
  432. #define WV_NET_ADDRIN_EVENT_2(classId, eventLevel, eventOffset, eventTag, srcAddr, dstAddr, eventValue, status, arg1, arg2) 
  433.     WV_BLOCK_START (classId) 
  434.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  435.         (* _func_wvNetAddressFilterTest) (0, 3, srcAddr, dstAddr)) 
  436.         {    
  437.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  438.                   | (eventLevel << 12) | (status << 10) 
  439.                   | (wvNetLocalFilter << 8) | eventTag; 
  440.         (* _func_evtLogOIntLock) (eventValue, 3, wvNetEventId, arg1, arg2, 0, 0); 
  441.         } 
  442.     WV_BLOCK_END (classId)
  443. #define WV_NET_ADDRIN_EVENT_3(classId, eventLevel, eventOffset, eventTag, srcAddr, dstAddr, eventValue, status, arg1, arg2, arg3) 
  444.     WV_BLOCK_START (classId) 
  445.     if (WV_NET_EVENT_TEST (eventLevel, eventOffset) && 
  446.         (* _func_wvNetAddressFilterTest) (0, 3, srcAddr, dstAddr)) 
  447.         {    
  448.         wvNetEventId = (WV_NET_ID << 24) | (wvNetModuleId << 16) 
  449.                   | (eventLevel << 12) | (status << 10) 
  450.                   | (wvNetLocalFilter << 8) | eventTag; 
  451.         (* _func_evtLogOIntLock) (eventValue, 4, wvNetEventId, arg1, arg2, arg3, 0); 
  452.         } 
  453.     WV_BLOCK_END (classId)
  454. /* WindView events in if.c */
  455. /* #define WV_NETEVENT_IFINIT_START  WVNET_EVENT(0)
  456. #define WV_NETEVENT_IFRESET_START  WVNET_EVENT(1)
  457. #define WV_NETEVENT_IFATTACH_START  WVNET_EVENT(2)
  458. #define WV_NETEVENT_IFDETTACH_START  WVNET_EVENT(3)
  459. #define WV_NETEVENT_IFDOWN_START  WVNET_EVENT(4)
  460. #define WV_NETEVENT_IFUP_START  WVNET_EVENT(5)
  461. #define WV_NETEVENT_IFPROMISC_START  WVNET_EVENT(6)
  462. #define WV_NETEVENT_IFWATCHDOG  WVNET_EVENT(7)
  463. #define WV_NETEVENT_IFIOCTL_START WVNET_EVENT(8)
  464. #define WV_NETEVENT_LINKRTREQ_FAIL WVNET_EVENT(9)
  465. #define WV_NETEVENT_IFIOCTL_FAIL1  WVNET_EVENT(10)
  466. #define WV_NETEVENT_IFIOCTL_FAIL2  WVNET_EVENT(11)
  467. #define WV_NETEVENT_IFPROMISC_FAIL  WVNET_EVENT(12)
  468. #define WV_NETEVENT_IFAFREE_PANIC WVNET_EVENT(13)
  469. /@ WindView events in if_ether.c @/
  470. #define WV_NETEVENT_ARPRTREQ_FAIL   WVNET_EVENT(14)
  471. #define WV_NETEVENT_ARPREQ_FAIL   WVNET_EVENT(15)
  472. #define WV_NETEVENT_ARPLOOK_FAIL  WVNET_EVENT(16)
  473. #define WV_NETEVENT_ARPINTR_FAIL  WVNET_EVENT(17)
  474. #define WV_NETEVENT_ARPFREE_FAIL  WVNET_EVENT(18)
  475. #define WV_NETEVENT_ARPIOCTL_UNREACH WVNET_EVENT(19)
  476. #define WV_NETEVENT_ARPIOCTL_NOTSUPP  WVNET_EVENT(20)
  477. #define WV_NETEVENT_ARPRTREQ_BADGATE  WVNET_EVENT(21)
  478. #define WV_NETEVENT_ARPIN_BADADDR  WVNET_EVENT(22)
  479. #define WV_NETEVENT_ARPIN_BADADDR2  WVNET_EVENT(23)
  480. #define WV_NETEVENT_ARPIN_BADADDR3  WVNET_EVENT(24)
  481. #define WV_NETEVENT_ARPIOCTL_NOADDR  WVNET_EVENT(25)
  482. #define WV_NETEVENT_ARPIN_RECV  WVNET_EVENT(26)
  483. #define WV_NETEVENT_ARPIN_SEND WVNET_EVENT(27)
  484. #define WV_NETEVENT_ARPTIMER_FREE  WVNET_EVENT(28)
  485. #define WV_NETEVENT_ARPIOCTL_START  WVNET_EVENT(29)
  486. #define WV_NETEVENT_ARPRTREQ_START  WVNET_EVENT(30)
  487. #define WV_NETEVENT_ARPREQ_START  WVNET_EVENT(31)
  488. #define WV_NETEVENT_ARPRESOLV_START  WVNET_EVENT(32)
  489. #define WV_NETEVENT_ARPINTR_START WVNET_EVENT(33) */
  490. #ifdef __cplusplus
  491. }
  492. #endif
  493. #endif /* __INCwvNetEventPh */