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

VxWorks

开发平台:

C/C++

  1. /* rip2.h - Defines specifically for RIP version 2 */
  2. /* Copyright 1984 - 2001 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01f,28apr02,rae  added extern C jazz (SPR #76303)
  7. 01e,12oct01,rae  merge from truestack (authentication)
  8. 01d,15may97,gnn added another new define.
  9. 01c,08may97,gnn added a new define.
  10. 01b,24feb97,gnn made rip_2_pkt look more logical.
  11. 01a,14nov96,gnn written.
  12. */
  13. #ifndef __INCrip2h
  14. #define __INCrip2h
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18.  
  19. /*
  20. DESCRIPTION
  21. INCLUDE FILES:
  22. */
  23. /* includes */
  24. /* defints */
  25. #define RIP2_AUTH_LEN 16
  26. #define RIP2_AUTH 0xffff
  27. #define RIP2_DEST_OFFSET 2
  28. #define RIP2_GATE_OFFSET 10
  29. #define RIP2_MASK_OFFSET 6
  30. /* typedefs */
  31. #if ((CPU_FAMILY==I960) && (defined __GNUC__))
  32. #pragma align 1                 /* tell gcc960 not to optimize alignments */
  33. #endif  /* CPU_FAMILY==I960 */
  34. typedef struct rip_2_pkt
  35.     {
  36.     UINT16 family;
  37.     UINT16 tag;
  38.     UINT32 dest;
  39.     UINT32 subnet;
  40.     UINT32 gateway;
  41.     UINT32 metric;
  42.     } RIP2PKT;
  43. typedef struct rip2AuthPktHdr
  44.     {
  45.     UINT16 authIdent;        /* authentication identifier (always 0xff) */
  46.     UINT16 authType;         /* the authentication type */
  47.     UINT16 packetLen;        /* the offset (in bytes) to the digest */
  48.     UINT8  keyId;            /* key identifier used to compute digest */
  49.     UINT8  authDataLen;      /* length of the digest */
  50.     UINT32 sequence;         /* sequence number of the packet */
  51.     UINT32 zero1;            /* zeroed out */
  52.     UINT32 zero2;            /* zeroed out */
  53.     } RIP2_AUTH_PKT_HDR;
  54. typedef struct rip2AuthPktTrl
  55.     {
  56.     UINT16 authIdent;        /* authentication identifier (always 0xff) */
  57.     UINT16 authTag;          /* the authentication type/tag (always 0x01) */
  58.     UINT8  authDigest [AUTH_KEY_LEN];  /* the computed packet digest */
  59.     } RIP2_AUTH_PKT_TRL;
  60. #if ((CPU_FAMILY==I960) && (defined __GNUC__))
  61. #pragma align 0                 /* turn off alignment requirement */
  62. #endif  /* CPU_FAMILY==I960 */
  63. /* globals */
  64. /* locals */
  65. /* forward declarations */
  66. #ifdef __cplusplus
  67. }
  68. #endif
  69. #endif /* __INCrip2h */