home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / CHIPCD_2_2000.iso / software / testsoft / anasil / _SETUP.1 / ETHERNET.DEC < prev    next >
Text File  |  1999-07-23  |  3KB  |  116 lines

  1. ; ************************************************************************
  2. ;
  3. ; Plik z definicjami dekodera ramek dla warstwy liniowej lacza Ethernet
  4. ;
  5. ; ************************************************************************
  6.  
  7. ;-----------------------------------------------------------
  8. ;
  9. ;  Tablice translacji - linie maja format
  10. ;   <liczba hex|liczba dec>,"tekst"
  11.  
  12.  
  13. [# EII_TYPE ]
  14.    Translate( 0x8137,"IPX" )
  15.    Translate( 0x0800,"IP" )
  16.    Translate( 0x0806,"ARP" )
  17.    Translate( 0x80F3,"AARP" )
  18.  
  19. ;-----------------------------------------------------------
  20. ;
  21. ;  Definicje fragmentow ramek
  22. ;
  23. ;  Kazda linia ma nastepujacy format:
  24. ;    Linia,Kolumna,Max.Szerokosc wartosci,Label,Format.Zmienna[,id tablicy translacji (tylko dla typow numerycznych)]
  25. ;
  26.  
  27. [$ ETHERNET_MAC ]
  28.   Field( 0,0,18,"Destination address:","%s", HString(0,6,"-") ) = E_DEST
  29.   Field( 1,0,18,"Source address:",     "%s", HString(6,6,"-") ) = E_SRC
  30.  
  31. [$ ETHERNET_802_3 ]
  32.   Layer( "Ethernet 802.3","Eth.802.3" )
  33.   Field( 0,0,5,"Length","%d", RWord(0) )
  34.  
  35. [$ ETHERNET_802_2_I ]
  36.   Layer( "Ethernet 802.2 header type I","Eth.802.2-I" )
  37.   Field( 0,0,5,"Length", "%d", RWord(0) )
  38.   Field( 1,0,3,"DSAP", "%02X", Byte(2) )
  39.   Field( 2,0,3,"SSAP", "%02X", Byte(3) )
  40.   Field( 3,0,3,"Control Byte 1","%02X", Byte(4) )
  41.  
  42. [$ ETHERNET_802_2_II ]
  43.   Layer( "Ethernet 802.2 header type II","Eth.802.2-II" )
  44.   Field( 0,0,5,"Length",        "%d",   RWord(0) )
  45.   Field( 1,0,3,"DSAP",          "%02X", Byte(2) )
  46.   Field( 2,0,3,"SSAP",          "%02X", Byte(3) )
  47.   Field( 3,0,3,"Control Byte 1","%02X", Byte(4) )
  48.   Field( 4,0,3,"Control Byte 2","%02X", Byte(5) )
  49.  
  50. [$ ETHERNET_II ]
  51.   Layer( "Ethernet type II","Eth.II" )
  52.   Field( 0,0,1,"Type", "%s", RWord(0), EII_TYPE ) = E2_TYPE
  53.  
  54. [$ ETHERNET_SNAP ]
  55.   Layer( "Ethernet 802.2 SNAP","Eth.SNAP" )
  56.   Field( 0,0,5,"Length",        "%d", RWord(0) )
  57.   Field( 1,0,3,"DSAP",          "%02X", Byte(2) )
  58.   Field( 1,1,3,"SSAP",          "%02X", Byte(3) )
  59.   Field( 2,0,3,"Control Byte 1","%02X", Byte(4) )
  60.   Field( 3,0,15,"ProtocolId",   "%s"  , HString(5,5,"-") ) = ES_PROTO
  61.  
  62. ;-----------------------------------------------------------
  63. ;
  64. ;  Sekcje komend
  65. ;
  66.  
  67. [^ Ethernet]
  68. expand(ETHERNET_MAC)
  69.  
  70. On ( RWord(0)>1500 )
  71.    expand(ETHERNET_II)
  72.    TableJump( RWord(E2_TYPE) )
  73.       0x0800,IP_Frame
  74.       0x0806,ARP_Frame
  75.       0x80F3,AARP_Frame
  76.       0x8137,IPX_Frame        
  77.    TableEnd
  78.    goto( Undecoded )
  79. OnEnd
  80.  
  81. On ( (Byte(2)==0xAA)&(Byte(3)==0xAA)&(Byte(4)==0x03) )
  82.    expand(ETHERNET_SNAP)
  83.    On( (Byte(ES_PROTO)==0)&(RLong(ES_PROTO+1)==0x000080F3) )
  84.       goto( AARP_Frame )
  85.    OnEnd
  86.    On( (Byte(ES_PROTO)==0x08)&(RLong(ES_PROTO+1)==0x0007809B) )
  87.       goto( DDP_Frame )
  88.    OnEnd
  89.    goto( Undecoded )
  90. OnEnd
  91.  
  92. On ( RWord(2)==0xFFFF )
  93.    expand(ETHERNET_802_3)
  94.    goto( IPX_Frame )
  95. OnEnd
  96.  
  97. On ( Byte(4,0,1)==3 )
  98.    expand(ETHERNET_802_2_I)
  99.    TableJump( Word(-3) )
  100.       0xF0F0,NetBeui
  101.       0xE0E0,IPX_Frame
  102.    TableEnd
  103.    goto( Undecoded )
  104. OnEnd
  105.  
  106. expand( ETHERNET_802_2_II )
  107. TableJump( Word(-4) )
  108.    0xF0F0,NetBeui
  109.    0xE0E0,IPX_Frame
  110. TableEnd
  111. goto( Undecoded )
  112.  
  113.  
  114.  
  115.  
  116.