home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR18 / PKTVIEWD.ZIP / STRUCTS.H < prev    next >
Text File  |  1993-04-12  |  3KB  |  135 lines

  1.  
  2. /*
  3.  *      Copyright, KLOS Technologies, Inc.
  4.  *      All Right Reserved
  5.  */
  6.  
  7.  
  8. typedef unsigned char byte;
  9. typedef unsigned short int word;
  10. typedef unsigned long int dword;
  11.  
  12. #define ETHERNET                    0x00
  13. #define TOKENRING                   0x08
  14. #define ARCNET                      0x10
  15. #define FDDI                        0x18
  16. #define PPP                         0x20
  17. #define SLIP                        0x28
  18. #define MEDIA_MASK                  0x38
  19.  
  20. #define IEEE8022                    0x01
  21. #define IEEE8022SNAP                0x02
  22. #define DIX                         0x04
  23.  
  24. #define MEDIA_ETHERNET_8022         (ETHERNET+IEEE8022)
  25. #define MEDIA_ETHERNET_8022_SNAP    (ETHERNET+IEEE8022+IEEE8022SNAP)
  26. #define MEDIA_ETHERNET_DIX          (ETHERNET+DIX)
  27. #define MEDIA_TOKENRING_8022        (TOKENRING+IEEE8022)
  28. #define MEDIA_TOKENRING_8022_SNAP   (TOKENRING+IEEE8022+IEEE8022SNAP)
  29. #define MEDIA_ARCNET                (ARCNET)
  30. #define MEDIA_ARCNET_8022           (ARCNET+IEEE8022)
  31. #define MEDIA_ARCNET_8022_SNAP      (ARCNET+IEEE8022+IEEE8022SNAP)
  32. #define MEDIA_FDDI_8022             (FDDI+IEEE8022)
  33. #define MEDIA_FDDI_8022_SNAP        (FDDI+IEEE8022+IEEE8022SNAP)
  34. #define MEDIA_PPP                   (PPP)
  35. #define MEDIA_SLIP                  (SLIP)
  36.  
  37. #define BLUE    0x01
  38. #define GREEN   0x02
  39. #define CYAN    0x03
  40. #define RED     0x04
  41. #define MAGENTA 0x05
  42. #define BROWN   0x06
  43. #define WHITE   0x07
  44. #define GREY    0x08
  45. #define LTBLUE  0x09
  46. #define LTGREEN 0x0a
  47. #define LTCYAN  0x0b
  48. #define LTRED   0x0c
  49. #define LTMAGENTA 0x0d
  50. #define YELLOW  0x0e
  51.  
  52. struct ethernet_header
  53. {   byte destination[6];
  54.     byte source[6];
  55.     word type;
  56.     byte data[];
  57. };
  58.  
  59. struct token_ring_header
  60. {   byte access_control;
  61.     byte frame_control;
  62.     byte destination[6];
  63.     byte source[6];
  64.     byte data[];
  65. };
  66.  
  67. struct arcnet_header
  68. {   byte source;
  69.     byte destination;
  70.     byte type;
  71. };
  72.  
  73. struct fddi_header
  74. {   byte frame_control;
  75.     byte destination[6];
  76.     byte source[6];
  77.     byte data[];
  78. };
  79.  
  80. struct PPP_header
  81. {   byte direction;
  82.     byte address;
  83.     byte control;
  84.     word type;
  85. };
  86.  
  87. struct SLIP_header
  88. {   byte direction;
  89. };
  90.  
  91. struct sap_header
  92. {   byte dsap;
  93.     byte ssap;
  94.     byte control;
  95. };
  96.  
  97. struct snap_header
  98. {   byte organization[3];
  99.     word type;
  100. };
  101.  
  102. struct protocol
  103. {   struct protocol *next;
  104.     char *protocol_name;
  105.     word type1;                         /* type field for DIX and SNAP */
  106.     byte type2;                         /* type field for 802.2 headers */
  107.     byte type3;                         /* type field for ARCNET */
  108.     word type4;                         /* type field for PPP */
  109.     word dgroup;
  110.     void (*show_line)();
  111.     void (*show_packet)();
  112. };
  113.  
  114. struct interface
  115. {   byte signature[8];
  116.     struct protocol *(*initialize)();
  117.     byte *(*sprintf)();
  118.     void (*printf)();
  119.     void (*decode_line)();
  120.     void (*decode_packet)();
  121.     void (*format_raw)();
  122.     void (*set_color)();
  123.     byte *(*falloc)();
  124.     int (*open)();
  125.     int (*read)();
  126.     int (*write)();
  127.     long (*lseek)();
  128.     int (*close)();
  129. };
  130.  
  131. unsigned int swap();
  132. unsigned long dswap();
  133. char *sprintf();
  134.  
  135.