⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospf_structures.h

📁 vxworks下ospf协议栈
💻 H
📖 第 1 页 / 共 5 页
字号:
    ULONG                     advertising_router;    seq_t                     sequence_number;    USHORT                    checksum;    USHORT                    length;  /* length of advertisement*/} OSPF_LS_OPAQUE_HEADER;typedef _struct OSPF_LS_HEADER{    USHORT                    age;    UNION_OSPF_OPTIONS        options;    BYTE_ENUM (OSPF_LS_TYPE)  type;    /* Type of advertisement */    ULONG                     id;      /* Link State Id */    ULONG                     advertising_router;    seq_t                     sequence_number;    USHORT                    checksum;    USHORT                    length;   /* length of advertisement*/} OSPF_LS_HEADER;typedef _struct OSPF_HELLO_HEADER{    ULONG               network_mask;    /* network mask associated with this interface */    USHORT              hello_interval;  /* number of seconds between this router's Hello                                            packets */    UNION_OSPF_OPTIONS  options;   /* optional capabilities supported by this router */    BYTE                router_priority;   /* if set to 0, this router is not eligible to                                              become designated router */    ULONG               router_dead_interval;   /* number of seconds before declaring a                                                   silent router down */    ULONG               designated_router;   /* identity of the designated router for                                                this network */    ULONG               backup_designated_router;  /* identity of the backup designated                                                      router for this network */    ULONG               neighbor;    /* IDs of each router from whom valid Hello packets                                        have been seen recently on this network */} OSPF_HELLO_HEADER;typedef _struct OSPF_DATABASE_HEADER{    /* RFC 2178 G.9 */    USHORT              interface_mtu;    UNION_OSPF_OPTIONS  options;    UNION_OSPF_FLAGS    flags;    ULONG               sequence;    OSPF_LS_HEADER      link_state_advertisement_header;} _pack OSPF_DATABASE_HEADER;typedef _struct OSPF_LS_REQUESTED_ADVERTISEMENT{    BYTE    reserved_bytes[3];    BYTE    type;      /* Type of advertisement */    ULONG   id;        /* Link State Id */    ULONG   advertising_router;} _pack OSPF_LS_REQUESTED_ADVERTISEMENT;typedef _struct OSPF_LS_REQUEST_HEADER{    OSPF_LS_REQUESTED_ADVERTISEMENT requested_advertisement;} _pack OSPF_LS_REQUEST_HEADER;#if (_BYTE_ORDER == _LITTLE_ENDIAN )typedef _struct OSPF_ROUTER_LINK_BIT_OPTIONS{    BIT_FIELD (enum,BOOLEAN)   bit_B:1;    BIT_FIELD (enum,BOOLEAN)   bit_E:1;    BIT_FIELD (enum,BOOLEAN)   bit_V:1;    BIT_FIELD (enum,BOOLEAN)   not_used:5;} _pack OSPF_ROUTER_LINK_BIT_OPTIONS;#else /* _BYTE_ORDER == _BIG_ENDIAN */typedef _struct OSPF_ROUTER_LINK_BIT_OPTIONS{    BIT_FIELD (enum,BOOLEAN)   not_used:5;    BIT_FIELD (enum,BOOLEAN)   bit_V:1;    BIT_FIELD (enum,BOOLEAN)   bit_E:1;    BIT_FIELD (enum,BOOLEAN)   bit_B:1;} _pack OSPF_ROUTER_LINK_BIT_OPTIONS;#endif /* _BYTE_ORDER == _LITTLE_ENDIAN */typedef _union  UNION_OSPF_ROUTER_LINK_BIT_OPTIONS{        OSPF_ROUTER_LINK_BIT_OPTIONS    _bit;        USHORT                                  _ushort;} _pack UNION_OSPF_ROUTER_LINK_BIT_OPTIONS;typedef _struct OSPF_ROUTER_LINK_METRIC_PIECE{    USHORT  tos;    USHORT  metric;} _pack OSPF_ROUTER_LINK_METRIC_PIECE;typedef _struct OSPF_ROUTER_LINK_PIECE{    ULONG                              link_id;    ULONG                              link_data;    BYTE_ENUM (OSPF_ROUTER_LINK_TYPE)  type;    BYTE                               number_of_metrics;    USHORT                             tos0_metric;} _pack OSPF_ROUTER_LINK_PIECE;typedef _struct OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER{    OSPF_LS_HEADER                      ls_header;    UNION_OSPF_ROUTER_LINK_BIT_OPTIONS  bit_options;    USHORT                              number_of_links;    OSPF_ROUTER_LINK_PIECE              link;} OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER;typedef _struct OSPF_ROUTER_LSA_LINK{    _struct OSPF_ROUTER_LSA_LINK       *sptr_forward_link;    _struct OSPF_ROUTER_LSA_LINK       *sptr_backward_link;    OSPF_LS_HEADER                     ls_header;    UNION_OSPF_ROUTER_LINK_BIT_OPTIONS bit_options;    USHORT                             number_of_links;    OSPF_ROUTER_LINK_PIECE             link;} _pack OSPF_ROUTER_LSA_LINK;typedef _struct OSPF_NETWORK_LINK_PIECE{    ULONG   link_id;} _pack OSPF_NETWORK_LINK_PIECE;typedef _struct OSPF_NETWORK_LINK_ADVERTISEMENT_HEADER{    OSPF_LS_HEADER           ls_header;    ULONG                    network_mask;    OSPF_NETWORK_LINK_PIECE  attached_router;} _pack OSPF_NETWORK_LINK_ADVERTISEMENT_HEADER;typedef _struct OSPF_NETWORK_LSA_LINK{    _struct OSPF_NETWORK_LSA_LINK  *sptr_forward_link;    _struct OSPF_NETWORK_LSA_LINK  *sptr_backward_link;    OSPF_LS_HEADER                 ls_header;    ULONG                          network_mask;    OSPF_NETWORK_LINK_PIECE        attached_router;} _pack OSPF_NETWORK_LSA_LINK;typedef _struct OSPF_SUMMARY_LINK_ADVERTISEMENT_HEADER{    OSPF_LS_HEADER  ls_header;    ULONG           network_mask;    ULONG           tos0_metric;} _pack OSPF_SUMMARY_LINK_ADVERTISEMENT_HEADER;typedef _struct OSPF_SUMMARY_LSA_LINK{    _struct OSPF_SUMMARY_LSA_LINK  *sptr_forward_link;    _struct OSPF_SUMMARY_LSA_LINK  *sptr_backward_link;    OSPF_LS_HEADER                 ls_header;    ULONG                          network_mask;    ULONG                          tos0_metric;} _pack OSPF_SUMMARY_LSA_LINK;typedef _struct OSPF_EXTERNAL_LINK_METRIC_PIECE{    USHORT  tos;    USHORT  metric;    ULONG   forwarding_address;    ULONG   external_route_tag;} _pack OSPF_EXTERNAL_LINK_METRIC_PIECE;typedef _struct OSPF_EXTERNAL_LINK_ADVERTISEMENT_HEADER{    OSPF_LS_HEADER  ls_header;    ULONG           network_mask;    ULONG           tos0_metric;    ULONG           tos0_forwarding_address;    ULONG           tos0_external_route_tag;} _pack OSPF_EXTERNAL_LINK_ADVERTISEMENT_HEADER;typedef _struct OSPF_EXTERNAL_LSA_LINK{    _struct OSPF_EXTERNAL_LSA_LINK  *sptr_forward_link;    _struct OSPF_EXTERNAL_LSA_LINK  *sptr_backward_link;    OSPF_LS_HEADER                  ls_header;    ULONG                           network_mask;    ULONG                           tos0_metric;    ULONG                           tos0_forwarding_address;    ULONG                           tos0_external_route_tag;} _pack OSPF_EXTERNAL_LSA_LINK;typedef _struct OSPF_TYPE_7_LINK_ADVERTISEMENT_HEADER{        OSPF_LS_HEADER  ls_header;        ULONG           network_mask;        ULONG           tos0_metric;        ULONG           tos0_forwarding_address;        ULONG           tos0_external_route_tag;} _pack OSPF_TYPE_7_LINK_ADVERTISEMENT_HEADER;typedef _struct OSPF_TYPE_7_LSA_LINK{    _struct OSPF_TYPE_7_LSA_LINK  *sptr_forward_link;    _struct OSPF_TYPE_7_LSA_LINK  *sptr_backward_link;    OSPF_LS_HEADER                ls_header;    ULONG                         network_mask;    ULONG                         tos0_metric;    ULONG                         tos0_forwarding_address;    ULONG                         tos0_external_route_tag;} _pack OSPF_TYPE_7_LSA_LINK;/*opaque lsa type 9, 10, 11 lsa jkw*/typedef _struct OSPF_OPAQUE_LSA{    OSPF_LS_OPAQUE_HEADER  ls_header;    void                   *data;} _pack OSPF_OPAQUE_LSA;typedef _struct OSPF_TYPE_9_LINK_ADVERTISEMENT_HEADER{    OSPF_LS_OPAQUE_HEADER    ls_header;    void                     *data;    struct OSPF_INTERFACE    *opaque_interface;} _pack OSPF_TYPE_9_LINK_ADVERTISEMENT_HEADER;typedef _struct OSPF_TYPE_9_LSA_LINK{    _struct OSPF_TYPE_9_LSA_LINK   *sptr_forward_link;    _struct OSPF_TYPE_9_LSA_LINK   *sptr_backward_link;    OSPF_LS_OPAQUE_HEADER          ls_header;    void                           *data;    struct OSPF_INTERFACE          *opaque_interface;} _pack OSPF_TYPE_9_LSA_LINK;typedef _struct OSPF_TYPE_10_LINK_ADVERTISEMENT_HEADER{    OSPF_LS_OPAQUE_HEADER          ls_header;    void                           *data;    struct OSPF_AREA_ENTRY         *opaque_area;} _pack OSPF_TYPE_10_LINK_ADVERTISEMENT_HEADER;typedef _struct OSPF_TYPE_10_LSA_LINK{    _struct OSPF_TYPE_10_LSA_LINK  *sptr_forward_link;    _struct OSPF_TYPE_10_LSA_LINK  *sptr_backward_link;    OSPF_LS_OPAQUE_HEADER          ls_header;    void                           *data;    struct OSPF_AREA_ENTRY         *opaque_area;} _pack OSPF_TYPE_10_LSA_LINK;typedef _struct OSPF_TYPE_11_LINK_ADVERTISEMENT_HEADER{    OSPF_LS_OPAQUE_HEADER  ls_header;    void                   *data;} _pack OSPF_TYPE_11_LINK_ADVERTISEMENT_HEADER;typedef _struct OSPF_TYPE_11_LSA_LINK{    OSPF_LS_OPAQUE_HEADER          ls_header;    void                           *data;    _struct OSPF_TYPE_11_LSA_LINK  *sptr_forward_link;    _struct OSPF_TYPE_11_LSA_LINK  *sptr_backward_link;} _pack OSPF_TYPE_11_LSA_LINK;typedef _union  UNION_OSPF_ADVERTISEMENT_HEADER{    OSPF_ROUTER_LINK_ADVERTISEMENT_HEADER   router;    OSPF_NETWORK_LINK_ADVERTISEMENT_HEADER  network;    OSPF_SUMMARY_LINK_ADVERTISEMENT_HEADER  summary;    OSPF_EXTERNAL_LINK_ADVERTISEMENT_HEADER external;    OSPF_TYPE_7_LINK_ADVERTISEMENT_HEADER type_7;    /*opaque lsa add new opaque lsa types to union jkw*/    OSPF_TYPE_9_LINK_ADVERTISEMENT_HEADER type_9;    OSPF_TYPE_10_LINK_ADVERTISEMENT_HEADER type_10;    OSPF_TYPE_11_LINK_ADVERTISEMENT_HEADER type_11;} _pack UNION_OSPF_ADVERTISEMENT_HEADER;typedef _struct OSPF_LS_UPDATE_HEADER{    ULONG                             number_of_advertisements;    UNION_OSPF_ADVERTISEMENT_HEADER   advertisement_header;} _pack OSPF_LS_UPDATE_HEADER;typedef _struct OSPF_LS_ACKNOWLEDGEMENT_HEADER{    OSPF_LS_HEADER ls_advertisement_header;} _pack OSPF_LS_ACKNOWLEDGEMENT_HEADER;typedef _union  UNION_OSPF_PACKET_TYPES{    OSPF_HELLO_HEADER               hello;    OSPF_DATABASE_HEADER            database;    OSPF_LS_REQUEST_HEADER          ls_request;    OSPF_LS_UPDATE_HEADER           ls_update;    OSPF_LS_ACKNOWLEDGEMENT_HEADER  ls_acknowledgement;} _pack UNION_OSPF_PACKET_TYPES;typedef _struct OSPF_HEADER     /* the standard 24 byte header for OSPF (page 178) */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -