home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / devcon / milan_1991 / devcon91.2 / network / sana2 / include / sana2packetmagic.i < prev    next >
Text File  |  1992-09-01  |  2KB  |  93 lines

  1.     IFND    SANA2_SANA2PACKETMAGIC_I
  2. SANA2_SANA2PACKETMAGIC_I    SET    1
  3. **
  4. **    $Filename: sana2packetmagic.i $
  5. **    $Release: Developer Information$
  6. **    $Revision: 1.2 $
  7. **    $Date: 91/05/08 $
  8. **
  9. **    Defined types of magic for the Sana2PacketType structure.
  10. **
  11. **    (C) Copyright 1991 Raymond S. Brand
  12. **        All Rights Reserved
  13. **
  14. **    (C) Copyright 1991 Commodore-Amiga Inc.
  15. **        All Rights Reserved
  16. **
  17.  
  18. **
  19. ** Contributions from:
  20. **    Raymond S. Brand,   rsbx@cbmvax.commodore.com,  (215) 431-9100
  21. **    Martin Hunt,      martin@cbmvax.commodore.com,  (215) 431-9100
  22. **    Perry Kivolowitz,           ASDG Incorporated,  (608) 273-6585
  23. **
  24.  
  25.     IFND    SANA2_SANA2DEVICE_I
  26.     INCLUDE    "sana2/sana2device.i"
  27.     ENDC    !SANA2_SANA2DEVICE_I
  28.  
  29.  
  30. ;
  31. ; The SANA-II Sana2PacketType structure Magic value is an unsigned 32
  32. ; number. The upper 16 bits identify the type of network wire to which
  33. ; the Magic value applies and the lower 16 bits identify the particular
  34. ; type of magic.
  35. ;
  36.  
  37.  
  38. ;
  39. ; defined types of ethernet magic
  40. ;
  41.  
  42. S2MAGIC_ETHERNET_E2    EQU    ((((S2WIRETYPE_ETHERNET)&$ffff)<<16)|$0000)
  43. ;
  44. ; For ethernet, this is the default case. Mask is ignored, Length is 2,
  45. ; Match points to a UWORD to match against the type field of the packet.
  46. ;
  47.  
  48. S2MAGIC_ETHERNET_8023    EQU    ((((S2WIRETYPE_ETHERNET)&$ffff)<<16)|$0001)
  49. ;
  50. ; The caller is declaring his intent to receive any of the valid 802.3
  51. ; ethernet packet types. The Match and Mask fields are ignored, Length
  52. ; is 0.
  53. ;
  54. ; SANA-II ethernet driver writers need to support a read queue for 802.3
  55. ; packets separate from packets of any non-802.3 type.
  56. ;
  57. ; A possible flow through an ethernet driver's read interrupt routine
  58. ; might look like the following:
  59. ;
  60. ;     ...
  61. ;
  62. ;     sniff packet type...
  63. ;
  64. ;     if (NoSpecificReadWaiting())
  65. ;         {
  66. ;         if (IsAn802() && 802ReadWaiting())
  67. ;             {
  68. ;             Return802();
  69. ;             }
  70. ;         else
  71. ;             {
  72. ;             if (OrphanReadWaiting())
  73. ;                 {
  74. ;                 ReturnOrphan();
  75. ;                 }
  76. ;             else
  77. ;                 {
  78. ;                 DropPacket();
  79. ;                 }
  80. ;             }
  81. ;         }
  82. ;     else
  83. ;         {
  84. ;         ReturnSpecificPacket();
  85. ;         }
  86. ;
  87. ;    ...
  88. ;
  89. ;
  90.  
  91.  
  92.     ENDC    SANA2_SANA2PACKETMAGIC_I
  93.