|
xorp
|
00001 /* 00002 * obj/i386-pc-mingw32/xrl/interfaces/ospfv3_xif.hh 00003 * vim:set sts=4 ts=8 ft=cpp: 00004 * 00005 * Copyright (c) 2001-2010 XORP, Inc and Others 00006 * See the XORP LICENSE.lgpl file for licensing, conditions, and warranties 00007 * on use. 00008 * 00009 * DO NOT EDIT THIS FILE - IT IS PROGRAMMATICALLY GENERATED 00010 * 00011 * Generated by 'clnt-gen'. 00012 */ 00013 00014 #ifndef __XRL_INTERFACES_OSPFV3_XIF_HH__ 00015 #define __XRL_INTERFACES_OSPFV3_XIF_HH__ 00016 00017 #undef XORP_LIBRARY_NAME 00018 #define XORP_LIBRARY_NAME "XifOspfv3" 00019 00020 #include "libxorp/xlog.h" 00021 #include "libxorp/callback.hh" 00022 00023 #include "libxipc/xrl.hh" 00024 #include "libxipc/xrl_error.hh" 00025 #include "libxipc/xrl_sender.hh" 00026 00027 //#include <memory> 00028 00029 class XrlOspfv3V0p1Client { 00030 public: 00031 XrlOspfv3V0p1Client(XrlSender* s) : _sender(s) {} 00032 virtual ~XrlOspfv3V0p1Client() {} 00033 00034 typedef XorpCallback1<void, const XrlError&>::RefPtr SetInstanceIdCB; 00042 bool send_set_instance_id( 00043 const char* dst_xrl_target_name, 00044 const uint32_t& id, 00045 const SetInstanceIdCB& cb 00046 ); 00047 00048 typedef XorpCallback1<void, const XrlError&>::RefPtr SetRouterIdCB; 00056 bool send_set_router_id( 00057 const char* dst_xrl_target_name, 00058 const IPv4& id, 00059 const SetRouterIdCB& cb 00060 ); 00061 00062 typedef XorpCallback1<void, const XrlError&>::RefPtr SetIpRouterAlertCB; 00070 bool send_set_ip_router_alert( 00071 const char* dst_xrl_target_name, 00072 const bool& ip_router_alert, 00073 const SetIpRouterAlertCB& cb 00074 ); 00075 00076 typedef XorpCallback1<void, const XrlError&>::RefPtr CreateAreaRouterCB; 00088 bool send_create_area_router( 00089 const char* dst_xrl_target_name, 00090 const IPv4& area, 00091 const string& type, 00092 const CreateAreaRouterCB& cb 00093 ); 00094 00095 typedef XorpCallback1<void, const XrlError&>::RefPtr ChangeAreaRouterTypeCB; 00107 bool send_change_area_router_type( 00108 const char* dst_xrl_target_name, 00109 const IPv4& area, 00110 const string& type, 00111 const ChangeAreaRouterTypeCB& cb 00112 ); 00113 00114 typedef XorpCallback1<void, const XrlError&>::RefPtr DestroyAreaRouterCB; 00124 bool send_destroy_area_router( 00125 const char* dst_xrl_target_name, 00126 const IPv4& area, 00127 const DestroyAreaRouterCB& cb 00128 ); 00129 00130 typedef XorpCallback1<void, const XrlError&>::RefPtr CreatePeerCB; 00146 bool send_create_peer( 00147 const char* dst_xrl_target_name, 00148 const string& ifname, 00149 const string& vifname, 00150 const string& type, 00151 const IPv4& area, 00152 const CreatePeerCB& cb 00153 ); 00154 00155 typedef XorpCallback1<void, const XrlError&>::RefPtr DeletePeerCB; 00163 bool send_delete_peer( 00164 const char* dst_xrl_target_name, 00165 const string& ifname, 00166 const string& vifname, 00167 const DeletePeerCB& cb 00168 ); 00169 00170 typedef XorpCallback1<void, const XrlError&>::RefPtr SetPeerStateCB; 00178 bool send_set_peer_state( 00179 const char* dst_xrl_target_name, 00180 const string& ifname, 00181 const string& vifname, 00182 const bool& enable, 00183 const SetPeerStateCB& cb 00184 ); 00185 00186 typedef XorpCallback1<void, const XrlError&>::RefPtr AddAddressPeerCB; 00194 bool send_add_address_peer( 00195 const char* dst_xrl_target_name, 00196 const string& ifname, 00197 const string& vifname, 00198 const IPv4& area, 00199 const IPv6& addr, 00200 const AddAddressPeerCB& cb 00201 ); 00202 00203 typedef XorpCallback1<void, const XrlError&>::RefPtr RemoveAddressPeerCB; 00211 bool send_remove_address_peer( 00212 const char* dst_xrl_target_name, 00213 const string& ifname, 00214 const string& vifname, 00215 const IPv4& area, 00216 const IPv6& addr, 00217 const RemoveAddressPeerCB& cb 00218 ); 00219 00220 typedef XorpCallback1<void, const XrlError&>::RefPtr SetAddressStatePeerCB; 00228 bool send_set_address_state_peer( 00229 const char* dst_xrl_target_name, 00230 const string& ifname, 00231 const string& vifname, 00232 const IPv4& area, 00233 const IPv6& addr, 00234 const bool& enable, 00235 const SetAddressStatePeerCB& cb 00236 ); 00237 00238 typedef XorpCallback1<void, const XrlError&>::RefPtr ActivatePeerCB; 00247 bool send_activate_peer( 00248 const char* dst_xrl_target_name, 00249 const string& ifname, 00250 const string& vifname, 00251 const IPv4& area, 00252 const ActivatePeerCB& cb 00253 ); 00254 00255 typedef XorpCallback1<void, const XrlError&>::RefPtr UpdatePeerCB; 00263 bool send_update_peer( 00264 const char* dst_xrl_target_name, 00265 const string& ifname, 00266 const string& vifname, 00267 const IPv4& area, 00268 const UpdatePeerCB& cb 00269 ); 00270 00271 typedef XorpCallback1<void, const XrlError&>::RefPtr AddNeighbourCB; 00279 bool send_add_neighbour( 00280 const char* dst_xrl_target_name, 00281 const string& ifname, 00282 const string& vifname, 00283 const IPv4& area, 00284 const IPv6& neighbour_address, 00285 const IPv4& neighbour_id, 00286 const AddNeighbourCB& cb 00287 ); 00288 00289 typedef XorpCallback1<void, const XrlError&>::RefPtr RemoveNeighbourCB; 00297 bool send_remove_neighbour( 00298 const char* dst_xrl_target_name, 00299 const string& ifname, 00300 const string& vifname, 00301 const IPv4& area, 00302 const IPv6& neighbour_address, 00303 const IPv4& neighbour_id, 00304 const RemoveNeighbourCB& cb 00305 ); 00306 00307 typedef XorpCallback1<void, const XrlError&>::RefPtr CreateVirtualLinkCB; 00321 bool send_create_virtual_link( 00322 const char* dst_xrl_target_name, 00323 const IPv4& neighbour_id, 00324 const IPv4& area, 00325 const CreateVirtualLinkCB& cb 00326 ); 00327 00328 typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteVirtualLinkCB; 00338 bool send_delete_virtual_link( 00339 const char* dst_xrl_target_name, 00340 const IPv4& neighbour_id, 00341 const DeleteVirtualLinkCB& cb 00342 ); 00343 00344 typedef XorpCallback1<void, const XrlError&>::RefPtr TransitAreaVirtualLinkCB; 00356 bool send_transit_area_virtual_link( 00357 const char* dst_xrl_target_name, 00358 const IPv4& neighbour_id, 00359 const IPv4& transit_area, 00360 const TransitAreaVirtualLinkCB& cb 00361 ); 00362 00363 typedef XorpCallback1<void, const XrlError&>::RefPtr SetInterfaceCostCB; 00371 bool send_set_interface_cost( 00372 const char* dst_xrl_target_name, 00373 const string& ifname, 00374 const string& vifname, 00375 const IPv4& area, 00376 const uint32_t& cost, 00377 const SetInterfaceCostCB& cb 00378 ); 00379 00380 typedef XorpCallback1<void, const XrlError&>::RefPtr SetRetransmitIntervalCB; 00394 bool send_set_retransmit_interval( 00395 const char* dst_xrl_target_name, 00396 const string& ifname, 00397 const string& vifname, 00398 const IPv4& area, 00399 const uint32_t& interval, 00400 const SetRetransmitIntervalCB& cb 00401 ); 00402 00403 typedef XorpCallback1<void, const XrlError&>::RefPtr SetInftransdelayCB; 00415 bool send_set_inftransdelay( 00416 const char* dst_xrl_target_name, 00417 const string& ifname, 00418 const string& vifname, 00419 const IPv4& area, 00420 const uint32_t& delay, 00421 const SetInftransdelayCB& cb 00422 ); 00423 00424 typedef XorpCallback1<void, const XrlError&>::RefPtr SetRouterPriorityCB; 00432 bool send_set_router_priority( 00433 const char* dst_xrl_target_name, 00434 const string& ifname, 00435 const string& vifname, 00436 const IPv4& area, 00437 const uint32_t& priority, 00438 const SetRouterPriorityCB& cb 00439 ); 00440 00441 typedef XorpCallback1<void, const XrlError&>::RefPtr SetHelloIntervalCB; 00449 bool send_set_hello_interval( 00450 const char* dst_xrl_target_name, 00451 const string& ifname, 00452 const string& vifname, 00453 const IPv4& area, 00454 const uint32_t& interval, 00455 const SetHelloIntervalCB& cb 00456 ); 00457 00458 typedef XorpCallback1<void, const XrlError&>::RefPtr SetRouterDeadIntervalCB; 00466 bool send_set_router_dead_interval( 00467 const char* dst_xrl_target_name, 00468 const string& ifname, 00469 const string& vifname, 00470 const IPv4& area, 00471 const uint32_t& interval, 00472 const SetRouterDeadIntervalCB& cb 00473 ); 00474 00475 typedef XorpCallback1<void, const XrlError&>::RefPtr SetPassiveCB; 00483 bool send_set_passive( 00484 const char* dst_xrl_target_name, 00485 const string& ifname, 00486 const string& vifname, 00487 const IPv4& area, 00488 const bool& passive, 00489 const SetPassiveCB& cb 00490 ); 00491 00492 typedef XorpCallback1<void, const XrlError&>::RefPtr OriginateDefaultRouteCB; 00501 bool send_originate_default_route( 00502 const char* dst_xrl_target_name, 00503 const IPv4& area, 00504 const bool& enable, 00505 const OriginateDefaultRouteCB& cb 00506 ); 00507 00508 typedef XorpCallback1<void, const XrlError&>::RefPtr StubDefaultCostCB; 00517 bool send_stub_default_cost( 00518 const char* dst_xrl_target_name, 00519 const IPv4& area, 00520 const uint32_t& cost, 00521 const StubDefaultCostCB& cb 00522 ); 00523 00524 typedef XorpCallback1<void, const XrlError&>::RefPtr SummariesCB; 00532 bool send_summaries( 00533 const char* dst_xrl_target_name, 00534 const IPv4& area, 00535 const bool& enable, 00536 const SummariesCB& cb 00537 ); 00538 00539 typedef XorpCallback1<void, const XrlError&>::RefPtr AreaRangeAddCB; 00547 bool send_area_range_add( 00548 const char* dst_xrl_target_name, 00549 const IPv4& area, 00550 const IPv6Net& net, 00551 const bool& advertise, 00552 const AreaRangeAddCB& cb 00553 ); 00554 00555 typedef XorpCallback1<void, const XrlError&>::RefPtr AreaRangeDeleteCB; 00563 bool send_area_range_delete( 00564 const char* dst_xrl_target_name, 00565 const IPv4& area, 00566 const IPv6Net& net, 00567 const AreaRangeDeleteCB& cb 00568 ); 00569 00570 typedef XorpCallback1<void, const XrlError&>::RefPtr AreaRangeChangeStateCB; 00578 bool send_area_range_change_state( 00579 const char* dst_xrl_target_name, 00580 const IPv4& area, 00581 const IPv6Net& net, 00582 const bool& advertise, 00583 const AreaRangeChangeStateCB& cb 00584 ); 00585 00586 typedef XorpCallback1<void, const XrlError&>::RefPtr TraceCB; 00598 bool send_trace( 00599 const char* dst_xrl_target_name, 00600 const string& tvar, 00601 const bool& enable, 00602 const TraceCB& cb 00603 ); 00604 00605 typedef XorpCallback5<void, const XrlError&, const bool*, const bool*, const bool*, const vector<uint8_t>*>::RefPtr GetLsaCB; 00619 bool send_get_lsa( 00620 const char* dst_xrl_target_name, 00621 const IPv4& area, 00622 const uint32_t& index, 00623 const GetLsaCB& cb 00624 ); 00625 00626 typedef XorpCallback2<void, const XrlError&, const XrlAtomList*>::RefPtr GetAreaListCB; 00635 bool send_get_area_list( 00636 const char* dst_xrl_target_name, 00637 const GetAreaListCB& cb 00638 ); 00639 00640 typedef XorpCallback2<void, const XrlError&, const XrlAtomList*>::RefPtr GetNeighbourListCB; 00650 bool send_get_neighbour_list( 00651 const char* dst_xrl_target_name, 00652 const GetNeighbourListCB& cb 00653 ); 00654 00655 typedef XorpCallback13<void, const XrlError&, const string*, const string*, const string*, const IPv4*, const uint32_t*, const uint32_t*, const IPv4*, const uint32_t*, const IPv4*, const IPv4*, const uint32_t*, const uint32_t*>::RefPtr GetNeighbourInfoCB; 00665 bool send_get_neighbour_info( 00666 const char* dst_xrl_target_name, 00667 const uint32_t& nid, 00668 const GetNeighbourInfoCB& cb 00669 ); 00670 00671 typedef XorpCallback1<void, const XrlError&>::RefPtr ClearDatabaseCB; 00679 bool send_clear_database( 00680 const char* dst_xrl_target_name, 00681 const ClearDatabaseCB& cb 00682 ); 00683 00684 protected: 00685 XrlSender* _sender; 00686 00687 private: 00688 static void unmarshall_set_instance_id( 00689 const XrlError& e, 00690 XrlArgs* a, 00691 SetInstanceIdCB cb 00692 ); 00693 00694 static void unmarshall_set_router_id( 00695 const XrlError& e, 00696 XrlArgs* a, 00697 SetRouterIdCB cb 00698 ); 00699 00700 static void unmarshall_set_ip_router_alert( 00701 const XrlError& e, 00702 XrlArgs* a, 00703 SetIpRouterAlertCB cb 00704 ); 00705 00706 static void unmarshall_create_area_router( 00707 const XrlError& e, 00708 XrlArgs* a, 00709 CreateAreaRouterCB cb 00710 ); 00711 00712 static void unmarshall_change_area_router_type( 00713 const XrlError& e, 00714 XrlArgs* a, 00715 ChangeAreaRouterTypeCB cb 00716 ); 00717 00718 static void unmarshall_destroy_area_router( 00719 const XrlError& e, 00720 XrlArgs* a, 00721 DestroyAreaRouterCB cb 00722 ); 00723 00724 static void unmarshall_create_peer( 00725 const XrlError& e, 00726 XrlArgs* a, 00727 CreatePeerCB cb 00728 ); 00729 00730 static void unmarshall_delete_peer( 00731 const XrlError& e, 00732 XrlArgs* a, 00733 DeletePeerCB cb 00734 ); 00735 00736 static void unmarshall_set_peer_state( 00737 const XrlError& e, 00738 XrlArgs* a, 00739 SetPeerStateCB cb 00740 ); 00741 00742 static void unmarshall_add_address_peer( 00743 const XrlError& e, 00744 XrlArgs* a, 00745 AddAddressPeerCB cb 00746 ); 00747 00748 static void unmarshall_remove_address_peer( 00749 const XrlError& e, 00750 XrlArgs* a, 00751 RemoveAddressPeerCB cb 00752 ); 00753 00754 static void unmarshall_set_address_state_peer( 00755 const XrlError& e, 00756 XrlArgs* a, 00757 SetAddressStatePeerCB cb 00758 ); 00759 00760 static void unmarshall_activate_peer( 00761 const XrlError& e, 00762 XrlArgs* a, 00763 ActivatePeerCB cb 00764 ); 00765 00766 static void unmarshall_update_peer( 00767 const XrlError& e, 00768 XrlArgs* a, 00769 UpdatePeerCB cb 00770 ); 00771 00772 static void unmarshall_add_neighbour( 00773 const XrlError& e, 00774 XrlArgs* a, 00775 AddNeighbourCB cb 00776 ); 00777 00778 static void unmarshall_remove_neighbour( 00779 const XrlError& e, 00780 XrlArgs* a, 00781 RemoveNeighbourCB cb 00782 ); 00783 00784 static void unmarshall_create_virtual_link( 00785 const XrlError& e, 00786 XrlArgs* a, 00787 CreateVirtualLinkCB cb 00788 ); 00789 00790 static void unmarshall_delete_virtual_link( 00791 const XrlError& e, 00792 XrlArgs* a, 00793 DeleteVirtualLinkCB cb 00794 ); 00795 00796 static void unmarshall_transit_area_virtual_link( 00797 const XrlError& e, 00798 XrlArgs* a, 00799 TransitAreaVirtualLinkCB cb 00800 ); 00801 00802 static void unmarshall_set_interface_cost( 00803 const XrlError& e, 00804 XrlArgs* a, 00805 SetInterfaceCostCB cb 00806 ); 00807 00808 static void unmarshall_set_retransmit_interval( 00809 const XrlError& e, 00810 XrlArgs* a, 00811 SetRetransmitIntervalCB cb 00812 ); 00813 00814 static void unmarshall_set_inftransdelay( 00815 const XrlError& e, 00816 XrlArgs* a, 00817 SetInftransdelayCB cb 00818 ); 00819 00820 static void unmarshall_set_router_priority( 00821 const XrlError& e, 00822 XrlArgs* a, 00823 SetRouterPriorityCB cb 00824 ); 00825 00826 static void unmarshall_set_hello_interval( 00827 const XrlError& e, 00828 XrlArgs* a, 00829 SetHelloIntervalCB cb 00830 ); 00831 00832 static void unmarshall_set_router_dead_interval( 00833 const XrlError& e, 00834 XrlArgs* a, 00835 SetRouterDeadIntervalCB cb 00836 ); 00837 00838 static void unmarshall_set_passive( 00839 const XrlError& e, 00840 XrlArgs* a, 00841 SetPassiveCB cb 00842 ); 00843 00844 static void unmarshall_originate_default_route( 00845 const XrlError& e, 00846 XrlArgs* a, 00847 OriginateDefaultRouteCB cb 00848 ); 00849 00850 static void unmarshall_stub_default_cost( 00851 const XrlError& e, 00852 XrlArgs* a, 00853 StubDefaultCostCB cb 00854 ); 00855 00856 static void unmarshall_summaries( 00857 const XrlError& e, 00858 XrlArgs* a, 00859 SummariesCB cb 00860 ); 00861 00862 static void unmarshall_area_range_add( 00863 const XrlError& e, 00864 XrlArgs* a, 00865 AreaRangeAddCB cb 00866 ); 00867 00868 static void unmarshall_area_range_delete( 00869 const XrlError& e, 00870 XrlArgs* a, 00871 AreaRangeDeleteCB cb 00872 ); 00873 00874 static void unmarshall_area_range_change_state( 00875 const XrlError& e, 00876 XrlArgs* a, 00877 AreaRangeChangeStateCB cb 00878 ); 00879 00880 static void unmarshall_trace( 00881 const XrlError& e, 00882 XrlArgs* a, 00883 TraceCB cb 00884 ); 00885 00886 static void unmarshall_get_lsa( 00887 const XrlError& e, 00888 XrlArgs* a, 00889 GetLsaCB cb 00890 ); 00891 00892 static void unmarshall_get_area_list( 00893 const XrlError& e, 00894 XrlArgs* a, 00895 GetAreaListCB cb 00896 ); 00897 00898 static void unmarshall_get_neighbour_list( 00899 const XrlError& e, 00900 XrlArgs* a, 00901 GetNeighbourListCB cb 00902 ); 00903 00904 static void unmarshall_get_neighbour_info( 00905 const XrlError& e, 00906 XrlArgs* a, 00907 GetNeighbourInfoCB cb 00908 ); 00909 00910 static void unmarshall_clear_database( 00911 const XrlError& e, 00912 XrlArgs* a, 00913 ClearDatabaseCB cb 00914 ); 00915 00916 private: 00917 /* Declare cached Xrl pointers */ 00918 auto_ptr<Xrl> ap_xrl_set_instance_id; 00919 auto_ptr<Xrl> ap_xrl_set_router_id; 00920 auto_ptr<Xrl> ap_xrl_set_ip_router_alert; 00921 auto_ptr<Xrl> ap_xrl_create_area_router; 00922 auto_ptr<Xrl> ap_xrl_change_area_router_type; 00923 auto_ptr<Xrl> ap_xrl_destroy_area_router; 00924 auto_ptr<Xrl> ap_xrl_create_peer; 00925 auto_ptr<Xrl> ap_xrl_delete_peer; 00926 auto_ptr<Xrl> ap_xrl_set_peer_state; 00927 auto_ptr<Xrl> ap_xrl_add_address_peer; 00928 auto_ptr<Xrl> ap_xrl_remove_address_peer; 00929 auto_ptr<Xrl> ap_xrl_set_address_state_peer; 00930 auto_ptr<Xrl> ap_xrl_activate_peer; 00931 auto_ptr<Xrl> ap_xrl_update_peer; 00932 auto_ptr<Xrl> ap_xrl_add_neighbour; 00933 auto_ptr<Xrl> ap_xrl_remove_neighbour; 00934 auto_ptr<Xrl> ap_xrl_create_virtual_link; 00935 auto_ptr<Xrl> ap_xrl_delete_virtual_link; 00936 auto_ptr<Xrl> ap_xrl_transit_area_virtual_link; 00937 auto_ptr<Xrl> ap_xrl_set_interface_cost; 00938 auto_ptr<Xrl> ap_xrl_set_retransmit_interval; 00939 auto_ptr<Xrl> ap_xrl_set_inftransdelay; 00940 auto_ptr<Xrl> ap_xrl_set_router_priority; 00941 auto_ptr<Xrl> ap_xrl_set_hello_interval; 00942 auto_ptr<Xrl> ap_xrl_set_router_dead_interval; 00943 auto_ptr<Xrl> ap_xrl_set_passive; 00944 auto_ptr<Xrl> ap_xrl_originate_default_route; 00945 auto_ptr<Xrl> ap_xrl_stub_default_cost; 00946 auto_ptr<Xrl> ap_xrl_summaries; 00947 auto_ptr<Xrl> ap_xrl_area_range_add; 00948 auto_ptr<Xrl> ap_xrl_area_range_delete; 00949 auto_ptr<Xrl> ap_xrl_area_range_change_state; 00950 auto_ptr<Xrl> ap_xrl_trace; 00951 auto_ptr<Xrl> ap_xrl_get_lsa; 00952 auto_ptr<Xrl> ap_xrl_get_area_list; 00953 auto_ptr<Xrl> ap_xrl_get_neighbour_list; 00954 auto_ptr<Xrl> ap_xrl_get_neighbour_info; 00955 auto_ptr<Xrl> ap_xrl_clear_database; 00956 }; 00957 00958 #endif /* __XRL_INTERFACES_OSPFV3_XIF_HH__ */