|
xorp
|
00001 /* 00002 * obj/i386-pc-mingw32/xrl/targets/fea_base.hh 00003 * vim:set sts=4 ts=8 ft=cpp: 00004 * 00005 * Copyright (c) 2001-2011 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 'tgt-gen'. 00012 */ 00013 00014 00015 #ifndef __XRL_TARGETS_FEA_BASE_HH__ 00016 #define __XRL_TARGETS_FEA_BASE_HH__ 00017 00018 #undef XORP_LIBRARY_NAME 00019 #define XORP_LIBRARY_NAME "XrlFeaTarget" 00020 00021 #include "libxorp/xlog.h" 00022 #include "libxipc/xrl_cmd_map.hh" 00023 00024 class XrlFeaTargetBase { 00025 protected: 00026 XrlCmdMap* _cmds; 00027 00028 public: 00036 XrlFeaTargetBase(XrlCmdMap* cmds = 0); 00037 00043 virtual ~XrlFeaTargetBase(); 00044 00055 bool set_command_map(XrlCmdMap* cmds); 00056 00060 const string& get_name() const { return _cmds->name(); } 00061 00065 const char* version() const { return "fea/0.0"; } 00066 00067 protected: 00068 00074 virtual XrlCmdError common_0_1_get_target_name( 00075 // Output values, 00076 string& name) = 0; 00077 #ifdef XORP_ENABLE_ASYNC_SERVER 00078 typedef 00079 XorpCallback2<void, const XrlCmdError &, 00080 const string*>::RefPtr 00081 Common01GetTargetNameRF; 00082 00083 class Common01GetTargetNameCB { 00084 Common01GetTargetNameRF cb; 00085 00086 public: 00087 operator const Common01GetTargetNameRF& () const { return cb; } 00088 const Common01GetTargetNameRF& operator ->() const { return cb; } 00089 Common01GetTargetNameCB(const Common01GetTargetNameRF& cb) 00090 : cb(cb) { } 00091 00092 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 00093 00094 void respond(const string& arg_name) const { 00095 cb->dispatch(XrlCmdError::OKAY(), 00096 &arg_name); 00097 } 00098 }; 00099 00100 struct Common01GetTargetNameRsp : 00101 public Common01GetTargetNameCB { 00102 struct args_str { 00103 string name; 00104 }; 00105 00106 private: 00107 args_str args; 00108 00109 public: 00110 Common01GetTargetNameRsp(const Common01GetTargetNameRF& cb) 00111 : Common01GetTargetNameCB(cb) { } 00112 00113 void respond() const { 00114 Common01GetTargetNameCB:: 00115 respond(args.name); 00116 } 00117 00118 args_str* operator ->() { 00119 return &args; 00120 } 00121 }; 00122 00123 virtual void async_common_0_1_get_target_name 00124 ( 00125 Common01GetTargetNameCB); 00126 #endif 00127 00133 virtual XrlCmdError common_0_1_get_version( 00134 // Output values, 00135 string& version) = 0; 00136 #ifdef XORP_ENABLE_ASYNC_SERVER 00137 typedef 00138 XorpCallback2<void, const XrlCmdError &, 00139 const string*>::RefPtr 00140 Common01GetVersionRF; 00141 00142 class Common01GetVersionCB { 00143 Common01GetVersionRF cb; 00144 00145 public: 00146 operator const Common01GetVersionRF& () const { return cb; } 00147 const Common01GetVersionRF& operator ->() const { return cb; } 00148 Common01GetVersionCB(const Common01GetVersionRF& cb) 00149 : cb(cb) { } 00150 00151 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 00152 00153 void respond(const string& arg_version) const { 00154 cb->dispatch(XrlCmdError::OKAY(), 00155 &arg_version); 00156 } 00157 }; 00158 00159 struct Common01GetVersionRsp : 00160 public Common01GetVersionCB { 00161 struct args_str { 00162 string version; 00163 }; 00164 00165 private: 00166 args_str args; 00167 00168 public: 00169 Common01GetVersionRsp(const Common01GetVersionRF& cb) 00170 : Common01GetVersionCB(cb) { } 00171 00172 void respond() const { 00173 Common01GetVersionCB:: 00174 respond(args.version); 00175 } 00176 00177 args_str* operator ->() { 00178 return &args; 00179 } 00180 }; 00181 00182 virtual void async_common_0_1_get_version 00183 ( 00184 Common01GetVersionCB); 00185 #endif 00186 00192 virtual XrlCmdError common_0_1_get_status( 00193 // Output values, 00194 uint32_t& status, 00195 string& reason) = 0; 00196 #ifdef XORP_ENABLE_ASYNC_SERVER 00197 typedef 00198 XorpCallback3<void, const XrlCmdError &, 00199 const uint32_t*, 00200 const string*>::RefPtr 00201 Common01GetStatusRF; 00202 00203 class Common01GetStatusCB { 00204 Common01GetStatusRF cb; 00205 00206 public: 00207 operator const Common01GetStatusRF& () const { return cb; } 00208 const Common01GetStatusRF& operator ->() const { return cb; } 00209 Common01GetStatusCB(const Common01GetStatusRF& cb) 00210 : cb(cb) { } 00211 00212 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL); } 00213 00214 void respond(const uint32_t& arg_status, 00215 const string& arg_reason) const { 00216 cb->dispatch(XrlCmdError::OKAY(), 00217 &arg_status, 00218 &arg_reason); 00219 } 00220 }; 00221 00222 struct Common01GetStatusRsp : 00223 public Common01GetStatusCB { 00224 struct args_str { 00225 uint32_t status; 00226 string reason; 00227 }; 00228 00229 private: 00230 args_str args; 00231 00232 public: 00233 Common01GetStatusRsp(const Common01GetStatusRF& cb) 00234 : Common01GetStatusCB(cb) { } 00235 00236 void respond() const { 00237 Common01GetStatusCB:: 00238 respond(args.status, 00239 args.reason); 00240 } 00241 00242 args_str* operator ->() { 00243 return &args; 00244 } 00245 }; 00246 00247 virtual void async_common_0_1_get_status 00248 ( 00249 Common01GetStatusCB); 00250 #endif 00251 00257 virtual XrlCmdError common_0_1_shutdown() = 0; 00258 #ifdef XORP_ENABLE_ASYNC_SERVER 00259 typedef 00260 XorpCallback1<void, const XrlCmdError &>::RefPtr 00261 Common01ShutdownRF; 00262 00263 class Common01ShutdownCB { 00264 Common01ShutdownRF cb; 00265 00266 public: 00267 operator const Common01ShutdownRF& () const { return cb; } 00268 const Common01ShutdownRF& operator ->() const { return cb; } 00269 Common01ShutdownCB(const Common01ShutdownRF& cb) 00270 : cb(cb) { } 00271 00272 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00273 00274 void respond() const { 00275 cb->dispatch(XrlCmdError::OKAY()); 00276 } 00277 }; 00278 00279 struct Common01ShutdownRsp : 00280 public Common01ShutdownCB { 00281 Common01ShutdownRsp(const Common01ShutdownRF& cb) 00282 : Common01ShutdownCB(cb) { } 00283 00284 }; 00285 00286 virtual void async_common_0_1_shutdown 00287 ( 00288 Common01ShutdownCB); 00289 #endif 00290 00296 virtual XrlCmdError common_0_1_startup() = 0; 00297 #ifdef XORP_ENABLE_ASYNC_SERVER 00298 typedef 00299 XorpCallback1<void, const XrlCmdError &>::RefPtr 00300 Common01StartupRF; 00301 00302 class Common01StartupCB { 00303 Common01StartupRF cb; 00304 00305 public: 00306 operator const Common01StartupRF& () const { return cb; } 00307 const Common01StartupRF& operator ->() const { return cb; } 00308 Common01StartupCB(const Common01StartupRF& cb) 00309 : cb(cb) { } 00310 00311 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00312 00313 void respond() const { 00314 cb->dispatch(XrlCmdError::OKAY()); 00315 } 00316 }; 00317 00318 struct Common01StartupRsp : 00319 public Common01StartupCB { 00320 Common01StartupRsp(const Common01StartupRF& cb) 00321 : Common01StartupCB(cb) { } 00322 00323 }; 00324 00325 virtual void async_common_0_1_startup 00326 ( 00327 Common01StartupCB); 00328 #endif 00329 00339 virtual XrlCmdError finder_event_observer_0_1_xrl_target_birth( 00340 // Input values, 00341 const string& target_class, 00342 const string& target_instance) = 0; 00343 #ifdef XORP_ENABLE_ASYNC_SERVER 00344 typedef 00345 XorpCallback1<void, const XrlCmdError &>::RefPtr 00346 FinderEventObserver01XrlTargetBirthRF; 00347 00348 class FinderEventObserver01XrlTargetBirthCB { 00349 FinderEventObserver01XrlTargetBirthRF cb; 00350 00351 public: 00352 operator const FinderEventObserver01XrlTargetBirthRF& () const { return cb; } 00353 const FinderEventObserver01XrlTargetBirthRF& operator ->() const { return cb; } 00354 FinderEventObserver01XrlTargetBirthCB(const FinderEventObserver01XrlTargetBirthRF& cb) 00355 : cb(cb) { } 00356 00357 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00358 00359 void respond() const { 00360 cb->dispatch(XrlCmdError::OKAY()); 00361 } 00362 }; 00363 00364 struct FinderEventObserver01XrlTargetBirthRsp : 00365 public FinderEventObserver01XrlTargetBirthCB { 00366 FinderEventObserver01XrlTargetBirthRsp(const FinderEventObserver01XrlTargetBirthRF& cb) 00367 : FinderEventObserver01XrlTargetBirthCB(cb) { } 00368 00369 }; 00370 00371 virtual void async_finder_event_observer_0_1_xrl_target_birth 00372 ( 00373 const string& target_class, 00374 const string& target_instance, 00375 FinderEventObserver01XrlTargetBirthCB); 00376 #endif 00377 00387 virtual XrlCmdError finder_event_observer_0_1_xrl_target_death( 00388 // Input values, 00389 const string& target_class, 00390 const string& target_instance) = 0; 00391 #ifdef XORP_ENABLE_ASYNC_SERVER 00392 typedef 00393 XorpCallback1<void, const XrlCmdError &>::RefPtr 00394 FinderEventObserver01XrlTargetDeathRF; 00395 00396 class FinderEventObserver01XrlTargetDeathCB { 00397 FinderEventObserver01XrlTargetDeathRF cb; 00398 00399 public: 00400 operator const FinderEventObserver01XrlTargetDeathRF& () const { return cb; } 00401 const FinderEventObserver01XrlTargetDeathRF& operator ->() const { return cb; } 00402 FinderEventObserver01XrlTargetDeathCB(const FinderEventObserver01XrlTargetDeathRF& cb) 00403 : cb(cb) { } 00404 00405 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00406 00407 void respond() const { 00408 cb->dispatch(XrlCmdError::OKAY()); 00409 } 00410 }; 00411 00412 struct FinderEventObserver01XrlTargetDeathRsp : 00413 public FinderEventObserver01XrlTargetDeathCB { 00414 FinderEventObserver01XrlTargetDeathRsp(const FinderEventObserver01XrlTargetDeathRF& cb) 00415 : FinderEventObserver01XrlTargetDeathCB(cb) { } 00416 00417 }; 00418 00419 virtual void async_finder_event_observer_0_1_xrl_target_death 00420 ( 00421 const string& target_class, 00422 const string& target_instance, 00423 FinderEventObserver01XrlTargetDeathCB); 00424 #endif 00425 00437 virtual XrlCmdError fea_fib_0_1_add_fib_client4( 00438 // Input values, 00439 const string& client_target_name, 00440 const bool& send_updates, 00441 const bool& send_resolves) = 0; 00442 #ifdef XORP_ENABLE_ASYNC_SERVER 00443 typedef 00444 XorpCallback1<void, const XrlCmdError &>::RefPtr 00445 FeaFib01AddFibClient4RF; 00446 00447 class FeaFib01AddFibClient4CB { 00448 FeaFib01AddFibClient4RF cb; 00449 00450 public: 00451 operator const FeaFib01AddFibClient4RF& () const { return cb; } 00452 const FeaFib01AddFibClient4RF& operator ->() const { return cb; } 00453 FeaFib01AddFibClient4CB(const FeaFib01AddFibClient4RF& cb) 00454 : cb(cb) { } 00455 00456 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00457 00458 void respond() const { 00459 cb->dispatch(XrlCmdError::OKAY()); 00460 } 00461 }; 00462 00463 struct FeaFib01AddFibClient4Rsp : 00464 public FeaFib01AddFibClient4CB { 00465 FeaFib01AddFibClient4Rsp(const FeaFib01AddFibClient4RF& cb) 00466 : FeaFib01AddFibClient4CB(cb) { } 00467 00468 }; 00469 00470 virtual void async_fea_fib_0_1_add_fib_client4 00471 ( 00472 const string& client_target_name, 00473 const bool& send_updates, 00474 const bool& send_resolves, 00475 FeaFib01AddFibClient4CB); 00476 #endif 00477 00485 virtual XrlCmdError fea_fib_0_1_delete_fib_client4( 00486 // Input values, 00487 const string& client_target_name) = 0; 00488 #ifdef XORP_ENABLE_ASYNC_SERVER 00489 typedef 00490 XorpCallback1<void, const XrlCmdError &>::RefPtr 00491 FeaFib01DeleteFibClient4RF; 00492 00493 class FeaFib01DeleteFibClient4CB { 00494 FeaFib01DeleteFibClient4RF cb; 00495 00496 public: 00497 operator const FeaFib01DeleteFibClient4RF& () const { return cb; } 00498 const FeaFib01DeleteFibClient4RF& operator ->() const { return cb; } 00499 FeaFib01DeleteFibClient4CB(const FeaFib01DeleteFibClient4RF& cb) 00500 : cb(cb) { } 00501 00502 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00503 00504 void respond() const { 00505 cb->dispatch(XrlCmdError::OKAY()); 00506 } 00507 }; 00508 00509 struct FeaFib01DeleteFibClient4Rsp : 00510 public FeaFib01DeleteFibClient4CB { 00511 FeaFib01DeleteFibClient4Rsp(const FeaFib01DeleteFibClient4RF& cb) 00512 : FeaFib01DeleteFibClient4CB(cb) { } 00513 00514 }; 00515 00516 virtual void async_fea_fib_0_1_delete_fib_client4 00517 ( 00518 const string& client_target_name, 00519 FeaFib01DeleteFibClient4CB); 00520 #endif 00521 00522 virtual XrlCmdError fea_fib_0_1_add_fib_client6( 00523 // Input values, 00524 const string& client_target_name, 00525 const bool& send_updates, 00526 const bool& send_resolves) = 0; 00527 #ifdef XORP_ENABLE_ASYNC_SERVER 00528 typedef 00529 XorpCallback1<void, const XrlCmdError &>::RefPtr 00530 FeaFib01AddFibClient6RF; 00531 00532 class FeaFib01AddFibClient6CB { 00533 FeaFib01AddFibClient6RF cb; 00534 00535 public: 00536 operator const FeaFib01AddFibClient6RF& () const { return cb; } 00537 const FeaFib01AddFibClient6RF& operator ->() const { return cb; } 00538 FeaFib01AddFibClient6CB(const FeaFib01AddFibClient6RF& cb) 00539 : cb(cb) { } 00540 00541 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00542 00543 void respond() const { 00544 cb->dispatch(XrlCmdError::OKAY()); 00545 } 00546 }; 00547 00548 struct FeaFib01AddFibClient6Rsp : 00549 public FeaFib01AddFibClient6CB { 00550 FeaFib01AddFibClient6Rsp(const FeaFib01AddFibClient6RF& cb) 00551 : FeaFib01AddFibClient6CB(cb) { } 00552 00553 }; 00554 00555 virtual void async_fea_fib_0_1_add_fib_client6 00556 ( 00557 const string& client_target_name, 00558 const bool& send_updates, 00559 const bool& send_resolves, 00560 FeaFib01AddFibClient6CB); 00561 #endif 00562 00563 virtual XrlCmdError fea_fib_0_1_delete_fib_client6( 00564 // Input values, 00565 const string& client_target_name) = 0; 00566 #ifdef XORP_ENABLE_ASYNC_SERVER 00567 typedef 00568 XorpCallback1<void, const XrlCmdError &>::RefPtr 00569 FeaFib01DeleteFibClient6RF; 00570 00571 class FeaFib01DeleteFibClient6CB { 00572 FeaFib01DeleteFibClient6RF cb; 00573 00574 public: 00575 operator const FeaFib01DeleteFibClient6RF& () const { return cb; } 00576 const FeaFib01DeleteFibClient6RF& operator ->() const { return cb; } 00577 FeaFib01DeleteFibClient6CB(const FeaFib01DeleteFibClient6RF& cb) 00578 : cb(cb) { } 00579 00580 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00581 00582 void respond() const { 00583 cb->dispatch(XrlCmdError::OKAY()); 00584 } 00585 }; 00586 00587 struct FeaFib01DeleteFibClient6Rsp : 00588 public FeaFib01DeleteFibClient6CB { 00589 FeaFib01DeleteFibClient6Rsp(const FeaFib01DeleteFibClient6RF& cb) 00590 : FeaFib01DeleteFibClient6CB(cb) { } 00591 00592 }; 00593 00594 virtual void async_fea_fib_0_1_delete_fib_client6 00595 ( 00596 const string& client_target_name, 00597 FeaFib01DeleteFibClient6CB); 00598 #endif 00599 00607 virtual XrlCmdError fea_firewall_0_1_start_transaction( 00608 // Output values, 00609 uint32_t& tid) = 0; 00610 #ifdef XORP_ENABLE_ASYNC_SERVER 00611 typedef 00612 XorpCallback2<void, const XrlCmdError &, 00613 const uint32_t*>::RefPtr 00614 FeaFirewall01StartTransactionRF; 00615 00616 class FeaFirewall01StartTransactionCB { 00617 FeaFirewall01StartTransactionRF cb; 00618 00619 public: 00620 operator const FeaFirewall01StartTransactionRF& () const { return cb; } 00621 const FeaFirewall01StartTransactionRF& operator ->() const { return cb; } 00622 FeaFirewall01StartTransactionCB(const FeaFirewall01StartTransactionRF& cb) 00623 : cb(cb) { } 00624 00625 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 00626 00627 void respond(const uint32_t& arg_tid) const { 00628 cb->dispatch(XrlCmdError::OKAY(), 00629 &arg_tid); 00630 } 00631 }; 00632 00633 struct FeaFirewall01StartTransactionRsp : 00634 public FeaFirewall01StartTransactionCB { 00635 struct args_str { 00636 uint32_t tid; 00637 }; 00638 00639 private: 00640 args_str args; 00641 00642 public: 00643 FeaFirewall01StartTransactionRsp(const FeaFirewall01StartTransactionRF& cb) 00644 : FeaFirewall01StartTransactionCB(cb) { } 00645 00646 void respond() const { 00647 FeaFirewall01StartTransactionCB:: 00648 respond(args.tid); 00649 } 00650 00651 args_str* operator ->() { 00652 return &args; 00653 } 00654 }; 00655 00656 virtual void async_fea_firewall_0_1_start_transaction 00657 ( 00658 FeaFirewall01StartTransactionCB); 00659 #endif 00660 00668 virtual XrlCmdError fea_firewall_0_1_commit_transaction( 00669 // Input values, 00670 const uint32_t& tid) = 0; 00671 #ifdef XORP_ENABLE_ASYNC_SERVER 00672 typedef 00673 XorpCallback1<void, const XrlCmdError &>::RefPtr 00674 FeaFirewall01CommitTransactionRF; 00675 00676 class FeaFirewall01CommitTransactionCB { 00677 FeaFirewall01CommitTransactionRF cb; 00678 00679 public: 00680 operator const FeaFirewall01CommitTransactionRF& () const { return cb; } 00681 const FeaFirewall01CommitTransactionRF& operator ->() const { return cb; } 00682 FeaFirewall01CommitTransactionCB(const FeaFirewall01CommitTransactionRF& cb) 00683 : cb(cb) { } 00684 00685 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00686 00687 void respond() const { 00688 cb->dispatch(XrlCmdError::OKAY()); 00689 } 00690 }; 00691 00692 struct FeaFirewall01CommitTransactionRsp : 00693 public FeaFirewall01CommitTransactionCB { 00694 FeaFirewall01CommitTransactionRsp(const FeaFirewall01CommitTransactionRF& cb) 00695 : FeaFirewall01CommitTransactionCB(cb) { } 00696 00697 }; 00698 00699 virtual void async_fea_firewall_0_1_commit_transaction 00700 ( 00701 const uint32_t& tid, 00702 FeaFirewall01CommitTransactionCB); 00703 #endif 00704 00712 virtual XrlCmdError fea_firewall_0_1_abort_transaction( 00713 // Input values, 00714 const uint32_t& tid) = 0; 00715 #ifdef XORP_ENABLE_ASYNC_SERVER 00716 typedef 00717 XorpCallback1<void, const XrlCmdError &>::RefPtr 00718 FeaFirewall01AbortTransactionRF; 00719 00720 class FeaFirewall01AbortTransactionCB { 00721 FeaFirewall01AbortTransactionRF cb; 00722 00723 public: 00724 operator const FeaFirewall01AbortTransactionRF& () const { return cb; } 00725 const FeaFirewall01AbortTransactionRF& operator ->() const { return cb; } 00726 FeaFirewall01AbortTransactionCB(const FeaFirewall01AbortTransactionRF& cb) 00727 : cb(cb) { } 00728 00729 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00730 00731 void respond() const { 00732 cb->dispatch(XrlCmdError::OKAY()); 00733 } 00734 }; 00735 00736 struct FeaFirewall01AbortTransactionRsp : 00737 public FeaFirewall01AbortTransactionCB { 00738 FeaFirewall01AbortTransactionRsp(const FeaFirewall01AbortTransactionRF& cb) 00739 : FeaFirewall01AbortTransactionCB(cb) { } 00740 00741 }; 00742 00743 virtual void async_fea_firewall_0_1_abort_transaction 00744 ( 00745 const uint32_t& tid, 00746 FeaFirewall01AbortTransactionCB); 00747 #endif 00748 00780 virtual XrlCmdError fea_firewall_0_1_add_entry4( 00781 // Input values, 00782 const uint32_t& tid, 00783 const uint32_t& rule_number, 00784 const string& ifname, 00785 const string& vifname, 00786 const IPv4Net& src_network, 00787 const IPv4Net& dst_network, 00788 const uint32_t& ip_protocol, 00789 const uint32_t& src_port_begin, 00790 const uint32_t& src_port_end, 00791 const uint32_t& dst_port_begin, 00792 const uint32_t& dst_port_end, 00793 const string& action) = 0; 00794 #ifdef XORP_ENABLE_ASYNC_SERVER 00795 typedef 00796 XorpCallback1<void, const XrlCmdError &>::RefPtr 00797 FeaFirewall01AddEntry4RF; 00798 00799 class FeaFirewall01AddEntry4CB { 00800 FeaFirewall01AddEntry4RF cb; 00801 00802 public: 00803 operator const FeaFirewall01AddEntry4RF& () const { return cb; } 00804 const FeaFirewall01AddEntry4RF& operator ->() const { return cb; } 00805 FeaFirewall01AddEntry4CB(const FeaFirewall01AddEntry4RF& cb) 00806 : cb(cb) { } 00807 00808 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00809 00810 void respond() const { 00811 cb->dispatch(XrlCmdError::OKAY()); 00812 } 00813 }; 00814 00815 struct FeaFirewall01AddEntry4Rsp : 00816 public FeaFirewall01AddEntry4CB { 00817 FeaFirewall01AddEntry4Rsp(const FeaFirewall01AddEntry4RF& cb) 00818 : FeaFirewall01AddEntry4CB(cb) { } 00819 00820 }; 00821 00822 virtual void async_fea_firewall_0_1_add_entry4 00823 ( 00824 const uint32_t& tid, 00825 const uint32_t& rule_number, 00826 const string& ifname, 00827 const string& vifname, 00828 const IPv4Net& src_network, 00829 const IPv4Net& dst_network, 00830 const uint32_t& ip_protocol, 00831 const uint32_t& src_port_begin, 00832 const uint32_t& src_port_end, 00833 const uint32_t& dst_port_begin, 00834 const uint32_t& dst_port_end, 00835 const string& action, 00836 FeaFirewall01AddEntry4CB); 00837 #endif 00838 00870 virtual XrlCmdError fea_firewall_0_1_replace_entry4( 00871 // Input values, 00872 const uint32_t& tid, 00873 const uint32_t& rule_number, 00874 const string& ifname, 00875 const string& vifname, 00876 const IPv4Net& src_network, 00877 const IPv4Net& dst_network, 00878 const uint32_t& ip_protocol, 00879 const uint32_t& src_port_begin, 00880 const uint32_t& src_port_end, 00881 const uint32_t& dst_port_begin, 00882 const uint32_t& dst_port_end, 00883 const string& action) = 0; 00884 #ifdef XORP_ENABLE_ASYNC_SERVER 00885 typedef 00886 XorpCallback1<void, const XrlCmdError &>::RefPtr 00887 FeaFirewall01ReplaceEntry4RF; 00888 00889 class FeaFirewall01ReplaceEntry4CB { 00890 FeaFirewall01ReplaceEntry4RF cb; 00891 00892 public: 00893 operator const FeaFirewall01ReplaceEntry4RF& () const { return cb; } 00894 const FeaFirewall01ReplaceEntry4RF& operator ->() const { return cb; } 00895 FeaFirewall01ReplaceEntry4CB(const FeaFirewall01ReplaceEntry4RF& cb) 00896 : cb(cb) { } 00897 00898 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00899 00900 void respond() const { 00901 cb->dispatch(XrlCmdError::OKAY()); 00902 } 00903 }; 00904 00905 struct FeaFirewall01ReplaceEntry4Rsp : 00906 public FeaFirewall01ReplaceEntry4CB { 00907 FeaFirewall01ReplaceEntry4Rsp(const FeaFirewall01ReplaceEntry4RF& cb) 00908 : FeaFirewall01ReplaceEntry4CB(cb) { } 00909 00910 }; 00911 00912 virtual void async_fea_firewall_0_1_replace_entry4 00913 ( 00914 const uint32_t& tid, 00915 const uint32_t& rule_number, 00916 const string& ifname, 00917 const string& vifname, 00918 const IPv4Net& src_network, 00919 const IPv4Net& dst_network, 00920 const uint32_t& ip_protocol, 00921 const uint32_t& src_port_begin, 00922 const uint32_t& src_port_end, 00923 const uint32_t& dst_port_begin, 00924 const uint32_t& dst_port_end, 00925 const string& action, 00926 FeaFirewall01ReplaceEntry4CB); 00927 #endif 00928 00957 virtual XrlCmdError fea_firewall_0_1_delete_entry4( 00958 // Input values, 00959 const uint32_t& tid, 00960 const uint32_t& rule_number, 00961 const string& ifname, 00962 const string& vifname, 00963 const IPv4Net& src_network, 00964 const IPv4Net& dst_network, 00965 const uint32_t& ip_protocol, 00966 const uint32_t& src_port_begin, 00967 const uint32_t& src_port_end, 00968 const uint32_t& dst_port_begin, 00969 const uint32_t& dst_port_end) = 0; 00970 #ifdef XORP_ENABLE_ASYNC_SERVER 00971 typedef 00972 XorpCallback1<void, const XrlCmdError &>::RefPtr 00973 FeaFirewall01DeleteEntry4RF; 00974 00975 class FeaFirewall01DeleteEntry4CB { 00976 FeaFirewall01DeleteEntry4RF cb; 00977 00978 public: 00979 operator const FeaFirewall01DeleteEntry4RF& () const { return cb; } 00980 const FeaFirewall01DeleteEntry4RF& operator ->() const { return cb; } 00981 FeaFirewall01DeleteEntry4CB(const FeaFirewall01DeleteEntry4RF& cb) 00982 : cb(cb) { } 00983 00984 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 00985 00986 void respond() const { 00987 cb->dispatch(XrlCmdError::OKAY()); 00988 } 00989 }; 00990 00991 struct FeaFirewall01DeleteEntry4Rsp : 00992 public FeaFirewall01DeleteEntry4CB { 00993 FeaFirewall01DeleteEntry4Rsp(const FeaFirewall01DeleteEntry4RF& cb) 00994 : FeaFirewall01DeleteEntry4CB(cb) { } 00995 00996 }; 00997 00998 virtual void async_fea_firewall_0_1_delete_entry4 00999 ( 01000 const uint32_t& tid, 01001 const uint32_t& rule_number, 01002 const string& ifname, 01003 const string& vifname, 01004 const IPv4Net& src_network, 01005 const IPv4Net& dst_network, 01006 const uint32_t& ip_protocol, 01007 const uint32_t& src_port_begin, 01008 const uint32_t& src_port_end, 01009 const uint32_t& dst_port_begin, 01010 const uint32_t& dst_port_end, 01011 FeaFirewall01DeleteEntry4CB); 01012 #endif 01013 01021 virtual XrlCmdError fea_firewall_0_1_delete_all_entries4( 01022 // Input values, 01023 const uint32_t& tid) = 0; 01024 #ifdef XORP_ENABLE_ASYNC_SERVER 01025 typedef 01026 XorpCallback1<void, const XrlCmdError &>::RefPtr 01027 FeaFirewall01DeleteAllEntries4RF; 01028 01029 class FeaFirewall01DeleteAllEntries4CB { 01030 FeaFirewall01DeleteAllEntries4RF cb; 01031 01032 public: 01033 operator const FeaFirewall01DeleteAllEntries4RF& () const { return cb; } 01034 const FeaFirewall01DeleteAllEntries4RF& operator ->() const { return cb; } 01035 FeaFirewall01DeleteAllEntries4CB(const FeaFirewall01DeleteAllEntries4RF& cb) 01036 : cb(cb) { } 01037 01038 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 01039 01040 void respond() const { 01041 cb->dispatch(XrlCmdError::OKAY()); 01042 } 01043 }; 01044 01045 struct FeaFirewall01DeleteAllEntries4Rsp : 01046 public FeaFirewall01DeleteAllEntries4CB { 01047 FeaFirewall01DeleteAllEntries4Rsp(const FeaFirewall01DeleteAllEntries4RF& cb) 01048 : FeaFirewall01DeleteAllEntries4CB(cb) { } 01049 01050 }; 01051 01052 virtual void async_fea_firewall_0_1_delete_all_entries4 01053 ( 01054 const uint32_t& tid, 01055 FeaFirewall01DeleteAllEntries4CB); 01056 #endif 01057 01067 virtual XrlCmdError fea_firewall_0_1_get_entry_list_start4( 01068 // Output values, 01069 uint32_t& token, 01070 bool& more) = 0; 01071 #ifdef XORP_ENABLE_ASYNC_SERVER 01072 typedef 01073 XorpCallback3<void, const XrlCmdError &, 01074 const uint32_t*, 01075 const bool*>::RefPtr 01076 FeaFirewall01GetEntryListStart4RF; 01077 01078 class FeaFirewall01GetEntryListStart4CB { 01079 FeaFirewall01GetEntryListStart4RF cb; 01080 01081 public: 01082 operator const FeaFirewall01GetEntryListStart4RF& () const { return cb; } 01083 const FeaFirewall01GetEntryListStart4RF& operator ->() const { return cb; } 01084 FeaFirewall01GetEntryListStart4CB(const FeaFirewall01GetEntryListStart4RF& cb) 01085 : cb(cb) { } 01086 01087 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL); } 01088 01089 void respond(const uint32_t& arg_token, 01090 const bool& arg_more) const { 01091 cb->dispatch(XrlCmdError::OKAY(), 01092 &arg_token, 01093 &arg_more); 01094 } 01095 }; 01096 01097 struct FeaFirewall01GetEntryListStart4Rsp : 01098 public FeaFirewall01GetEntryListStart4CB { 01099 struct args_str { 01100 uint32_t token; 01101 bool more; 01102 }; 01103 01104 private: 01105 args_str args; 01106 01107 public: 01108 FeaFirewall01GetEntryListStart4Rsp(const FeaFirewall01GetEntryListStart4RF& cb) 01109 : FeaFirewall01GetEntryListStart4CB(cb) { } 01110 01111 void respond() const { 01112 FeaFirewall01GetEntryListStart4CB:: 01113 respond(args.token, 01114 args.more); 01115 } 01116 01117 args_str* operator ->() { 01118 return &args; 01119 } 01120 }; 01121 01122 virtual void async_fea_firewall_0_1_get_entry_list_start4 01123 ( 01124 FeaFirewall01GetEntryListStart4CB); 01125 #endif 01126 01159 virtual XrlCmdError fea_firewall_0_1_get_entry_list_next4( 01160 // Input values, 01161 const uint32_t& token, 01162 // Output values, 01163 uint32_t& rule_number, 01164 string& ifname, 01165 string& vifname, 01166 IPv4Net& src_network, 01167 IPv4Net& dst_network, 01168 uint32_t& ip_protocol, 01169 uint32_t& src_port_begin, 01170 uint32_t& src_port_end, 01171 uint32_t& dst_port_begin, 01172 uint32_t& dst_port_end, 01173 string& action, 01174 bool& more) = 0; 01175 #ifdef XORP_ENABLE_ASYNC_SERVER 01176 typedef 01177 XorpCallback13<void, const XrlCmdError &, 01178 const uint32_t*, 01179 const string*, 01180 const string*, 01181 const IPv4Net*, 01182 const IPv4Net*, 01183 const uint32_t*, 01184 const uint32_t*, 01185 const uint32_t*, 01186 const uint32_t*, 01187 const uint32_t*, 01188 const string*, 01189 const bool*>::RefPtr 01190 FeaFirewall01GetEntryListNext4RF; 01191 01192 class FeaFirewall01GetEntryListNext4CB { 01193 FeaFirewall01GetEntryListNext4RF cb; 01194 01195 public: 01196 operator const FeaFirewall01GetEntryListNext4RF& () const { return cb; } 01197 const FeaFirewall01GetEntryListNext4RF& operator ->() const { return cb; } 01198 FeaFirewall01GetEntryListNext4CB(const FeaFirewall01GetEntryListNext4RF& cb) 01199 : cb(cb) { } 01200 01201 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); } 01202 01203 void respond(const uint32_t& arg_rule_number, 01204 const string& arg_ifname, 01205 const string& arg_vifname, 01206 const IPv4Net& arg_src_network, 01207 const IPv4Net& arg_dst_network, 01208 const uint32_t& arg_ip_protocol, 01209 const uint32_t& arg_src_port_begin, 01210 const uint32_t& arg_src_port_end, 01211 const uint32_t& arg_dst_port_begin, 01212 const uint32_t& arg_dst_port_end, 01213 const string& arg_action, 01214 const bool& arg_more) const { 01215 cb->dispatch(XrlCmdError::OKAY(), 01216 &arg_rule_number, 01217 &arg_ifname, 01218 &arg_vifname, 01219 &arg_src_network, 01220 &arg_dst_network, 01221 &arg_ip_protocol, 01222 &arg_src_port_begin, 01223 &arg_src_port_end, 01224 &arg_dst_port_begin, 01225 &arg_dst_port_end, 01226 &arg_action, 01227 &arg_more); 01228 } 01229 }; 01230 01231 struct FeaFirewall01GetEntryListNext4Rsp : 01232 public FeaFirewall01GetEntryListNext4CB { 01233 struct args_str { 01234 uint32_t rule_number; 01235 string ifname; 01236 string vifname; 01237 IPv4Net src_network; 01238 IPv4Net dst_network; 01239 uint32_t ip_protocol; 01240 uint32_t src_port_begin; 01241 uint32_t src_port_end; 01242 uint32_t dst_port_begin; 01243 uint32_t dst_port_end; 01244 string action; 01245 bool more; 01246 }; 01247 01248 private: 01249 args_str args; 01250 01251 public: 01252 FeaFirewall01GetEntryListNext4Rsp(const FeaFirewall01GetEntryListNext4RF& cb) 01253 : FeaFirewall01GetEntryListNext4CB(cb) { } 01254 01255 void respond() const { 01256 FeaFirewall01GetEntryListNext4CB:: 01257 respond(args.rule_number, 01258 args.ifname, 01259 args.vifname, 01260 args.src_network, 01261 args.dst_network, 01262 args.ip_protocol, 01263 args.src_port_begin, 01264 args.src_port_end, 01265 args.dst_port_begin, 01266 args.dst_port_end, 01267 args.action, 01268 args.more); 01269 } 01270 01271 args_str* operator ->() { 01272 return &args; 01273 } 01274 }; 01275 01276 virtual void async_fea_firewall_0_1_get_entry_list_next4 01277 ( 01278 const uint32_t& token, 01279 FeaFirewall01GetEntryListNext4CB); 01280 #endif 01281 01313 virtual XrlCmdError fea_firewall_0_1_add_entry6( 01314 // Input values, 01315 const uint32_t& tid, 01316 const uint32_t& rule_number, 01317 const string& ifname, 01318 const string& vifname, 01319 const IPv6Net& src_network, 01320 const IPv6Net& dst_network, 01321 const uint32_t& ip_protocol, 01322 const uint32_t& src_port_begin, 01323 const uint32_t& src_port_end, 01324 const uint32_t& dst_port_begin, 01325 const uint32_t& dst_port_end, 01326 const string& action) = 0; 01327 #ifdef XORP_ENABLE_ASYNC_SERVER 01328 typedef 01329 XorpCallback1<void, const XrlCmdError &>::RefPtr 01330 FeaFirewall01AddEntry6RF; 01331 01332 class FeaFirewall01AddEntry6CB { 01333 FeaFirewall01AddEntry6RF cb; 01334 01335 public: 01336 operator const FeaFirewall01AddEntry6RF& () const { return cb; } 01337 const FeaFirewall01AddEntry6RF& operator ->() const { return cb; } 01338 FeaFirewall01AddEntry6CB(const FeaFirewall01AddEntry6RF& cb) 01339 : cb(cb) { } 01340 01341 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 01342 01343 void respond() const { 01344 cb->dispatch(XrlCmdError::OKAY()); 01345 } 01346 }; 01347 01348 struct FeaFirewall01AddEntry6Rsp : 01349 public FeaFirewall01AddEntry6CB { 01350 FeaFirewall01AddEntry6Rsp(const FeaFirewall01AddEntry6RF& cb) 01351 : FeaFirewall01AddEntry6CB(cb) { } 01352 01353 }; 01354 01355 virtual void async_fea_firewall_0_1_add_entry6 01356 ( 01357 const uint32_t& tid, 01358 const uint32_t& rule_number, 01359 const string& ifname, 01360 const string& vifname, 01361 const IPv6Net& src_network, 01362 const IPv6Net& dst_network, 01363 const uint32_t& ip_protocol, 01364 const uint32_t& src_port_begin, 01365 const uint32_t& src_port_end, 01366 const uint32_t& dst_port_begin, 01367 const uint32_t& dst_port_end, 01368 const string& action, 01369 FeaFirewall01AddEntry6CB); 01370 #endif 01371 01403 virtual XrlCmdError fea_firewall_0_1_replace_entry6( 01404 // Input values, 01405 const uint32_t& tid, 01406 const uint32_t& rule_number, 01407 const string& ifname, 01408 const string& vifname, 01409 const IPv6Net& src_network, 01410 const IPv6Net& dst_network, 01411 const uint32_t& ip_protocol, 01412 const uint32_t& src_port_begin, 01413 const uint32_t& src_port_end, 01414 const uint32_t& dst_port_begin, 01415 const uint32_t& dst_port_end, 01416 const string& action) = 0; 01417 #ifdef XORP_ENABLE_ASYNC_SERVER 01418 typedef 01419 XorpCallback1<void, const XrlCmdError &>::RefPtr 01420 FeaFirewall01ReplaceEntry6RF; 01421 01422 class FeaFirewall01ReplaceEntry6CB { 01423 FeaFirewall01ReplaceEntry6RF cb; 01424 01425 public: 01426 operator const FeaFirewall01ReplaceEntry6RF& () const { return cb; } 01427 const FeaFirewall01ReplaceEntry6RF& operator ->() const { return cb; } 01428 FeaFirewall01ReplaceEntry6CB(const FeaFirewall01ReplaceEntry6RF& cb) 01429 : cb(cb) { } 01430 01431 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 01432 01433 void respond() const { 01434 cb->dispatch(XrlCmdError::OKAY()); 01435 } 01436 }; 01437 01438 struct FeaFirewall01ReplaceEntry6Rsp : 01439 public FeaFirewall01ReplaceEntry6CB { 01440 FeaFirewall01ReplaceEntry6Rsp(const FeaFirewall01ReplaceEntry6RF& cb) 01441 : FeaFirewall01ReplaceEntry6CB(cb) { } 01442 01443 }; 01444 01445 virtual void async_fea_firewall_0_1_replace_entry6 01446 ( 01447 const uint32_t& tid, 01448 const uint32_t& rule_number, 01449 const string& ifname, 01450 const string& vifname, 01451 const IPv6Net& src_network, 01452 const IPv6Net& dst_network, 01453 const uint32_t& ip_protocol, 01454 const uint32_t& src_port_begin, 01455 const uint32_t& src_port_end, 01456 const uint32_t& dst_port_begin, 01457 const uint32_t& dst_port_end, 01458 const string& action, 01459 FeaFirewall01ReplaceEntry6CB); 01460 #endif 01461 01490 virtual XrlCmdError fea_firewall_0_1_delete_entry6( 01491 // Input values, 01492 const uint32_t& tid, 01493 const uint32_t& rule_number, 01494 const string& ifname, 01495 const string& vifname, 01496 const IPv6Net& src_network, 01497 const IPv6Net& dst_network, 01498 const uint32_t& ip_protocol, 01499 const uint32_t& src_port_begin, 01500 const uint32_t& src_port_end, 01501 const uint32_t& dst_port_begin, 01502 const uint32_t& dst_port_end) = 0; 01503 #ifdef XORP_ENABLE_ASYNC_SERVER 01504 typedef 01505 XorpCallback1<void, const XrlCmdError &>::RefPtr 01506 FeaFirewall01DeleteEntry6RF; 01507 01508 class FeaFirewall01DeleteEntry6CB { 01509 FeaFirewall01DeleteEntry6RF cb; 01510 01511 public: 01512 operator const FeaFirewall01DeleteEntry6RF& () const { return cb; } 01513 const FeaFirewall01DeleteEntry6RF& operator ->() const { return cb; } 01514 FeaFirewall01DeleteEntry6CB(const FeaFirewall01DeleteEntry6RF& cb) 01515 : cb(cb) { } 01516 01517 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 01518 01519 void respond() const { 01520 cb->dispatch(XrlCmdError::OKAY()); 01521 } 01522 }; 01523 01524 struct FeaFirewall01DeleteEntry6Rsp : 01525 public FeaFirewall01DeleteEntry6CB { 01526 FeaFirewall01DeleteEntry6Rsp(const FeaFirewall01DeleteEntry6RF& cb) 01527 : FeaFirewall01DeleteEntry6CB(cb) { } 01528 01529 }; 01530 01531 virtual void async_fea_firewall_0_1_delete_entry6 01532 ( 01533 const uint32_t& tid, 01534 const uint32_t& rule_number, 01535 const string& ifname, 01536 const string& vifname, 01537 const IPv6Net& src_network, 01538 const IPv6Net& dst_network, 01539 const uint32_t& ip_protocol, 01540 const uint32_t& src_port_begin, 01541 const uint32_t& src_port_end, 01542 const uint32_t& dst_port_begin, 01543 const uint32_t& dst_port_end, 01544 FeaFirewall01DeleteEntry6CB); 01545 #endif 01546 01554 virtual XrlCmdError fea_firewall_0_1_delete_all_entries6( 01555 // Input values, 01556 const uint32_t& tid) = 0; 01557 #ifdef XORP_ENABLE_ASYNC_SERVER 01558 typedef 01559 XorpCallback1<void, const XrlCmdError &>::RefPtr 01560 FeaFirewall01DeleteAllEntries6RF; 01561 01562 class FeaFirewall01DeleteAllEntries6CB { 01563 FeaFirewall01DeleteAllEntries6RF cb; 01564 01565 public: 01566 operator const FeaFirewall01DeleteAllEntries6RF& () const { return cb; } 01567 const FeaFirewall01DeleteAllEntries6RF& operator ->() const { return cb; } 01568 FeaFirewall01DeleteAllEntries6CB(const FeaFirewall01DeleteAllEntries6RF& cb) 01569 : cb(cb) { } 01570 01571 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 01572 01573 void respond() const { 01574 cb->dispatch(XrlCmdError::OKAY()); 01575 } 01576 }; 01577 01578 struct FeaFirewall01DeleteAllEntries6Rsp : 01579 public FeaFirewall01DeleteAllEntries6CB { 01580 FeaFirewall01DeleteAllEntries6Rsp(const FeaFirewall01DeleteAllEntries6RF& cb) 01581 : FeaFirewall01DeleteAllEntries6CB(cb) { } 01582 01583 }; 01584 01585 virtual void async_fea_firewall_0_1_delete_all_entries6 01586 ( 01587 const uint32_t& tid, 01588 FeaFirewall01DeleteAllEntries6CB); 01589 #endif 01590 01600 virtual XrlCmdError fea_firewall_0_1_get_entry_list_start6( 01601 // Output values, 01602 uint32_t& token, 01603 bool& more) = 0; 01604 #ifdef XORP_ENABLE_ASYNC_SERVER 01605 typedef 01606 XorpCallback3<void, const XrlCmdError &, 01607 const uint32_t*, 01608 const bool*>::RefPtr 01609 FeaFirewall01GetEntryListStart6RF; 01610 01611 class FeaFirewall01GetEntryListStart6CB { 01612 FeaFirewall01GetEntryListStart6RF cb; 01613 01614 public: 01615 operator const FeaFirewall01GetEntryListStart6RF& () const { return cb; } 01616 const FeaFirewall01GetEntryListStart6RF& operator ->() const { return cb; } 01617 FeaFirewall01GetEntryListStart6CB(const FeaFirewall01GetEntryListStart6RF& cb) 01618 : cb(cb) { } 01619 01620 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL); } 01621 01622 void respond(const uint32_t& arg_token, 01623 const bool& arg_more) const { 01624 cb->dispatch(XrlCmdError::OKAY(), 01625 &arg_token, 01626 &arg_more); 01627 } 01628 }; 01629 01630 struct FeaFirewall01GetEntryListStart6Rsp : 01631 public FeaFirewall01GetEntryListStart6CB { 01632 struct args_str { 01633 uint32_t token; 01634 bool more; 01635 }; 01636 01637 private: 01638 args_str args; 01639 01640 public: 01641 FeaFirewall01GetEntryListStart6Rsp(const FeaFirewall01GetEntryListStart6RF& cb) 01642 : FeaFirewall01GetEntryListStart6CB(cb) { } 01643 01644 void respond() const { 01645 FeaFirewall01GetEntryListStart6CB:: 01646 respond(args.token, 01647 args.more); 01648 } 01649 01650 args_str* operator ->() { 01651 return &args; 01652 } 01653 }; 01654 01655 virtual void async_fea_firewall_0_1_get_entry_list_start6 01656 ( 01657 FeaFirewall01GetEntryListStart6CB); 01658 #endif 01659 01692 virtual XrlCmdError fea_firewall_0_1_get_entry_list_next6( 01693 // Input values, 01694 const uint32_t& token, 01695 // Output values, 01696 uint32_t& rule_number, 01697 string& ifname, 01698 string& vifname, 01699 IPv6Net& src_network, 01700 IPv6Net& dst_network, 01701 uint32_t& ip_protocol, 01702 uint32_t& src_port_begin, 01703 uint32_t& src_port_end, 01704 uint32_t& dst_port_begin, 01705 uint32_t& dst_port_end, 01706 string& action, 01707 bool& more) = 0; 01708 #ifdef XORP_ENABLE_ASYNC_SERVER 01709 typedef 01710 XorpCallback13<void, const XrlCmdError &, 01711 const uint32_t*, 01712 const string*, 01713 const string*, 01714 const IPv6Net*, 01715 const IPv6Net*, 01716 const uint32_t*, 01717 const uint32_t*, 01718 const uint32_t*, 01719 const uint32_t*, 01720 const uint32_t*, 01721 const string*, 01722 const bool*>::RefPtr 01723 FeaFirewall01GetEntryListNext6RF; 01724 01725 class FeaFirewall01GetEntryListNext6CB { 01726 FeaFirewall01GetEntryListNext6RF cb; 01727 01728 public: 01729 operator const FeaFirewall01GetEntryListNext6RF& () const { return cb; } 01730 const FeaFirewall01GetEntryListNext6RF& operator ->() const { return cb; } 01731 FeaFirewall01GetEntryListNext6CB(const FeaFirewall01GetEntryListNext6RF& cb) 01732 : cb(cb) { } 01733 01734 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); } 01735 01736 void respond(const uint32_t& arg_rule_number, 01737 const string& arg_ifname, 01738 const string& arg_vifname, 01739 const IPv6Net& arg_src_network, 01740 const IPv6Net& arg_dst_network, 01741 const uint32_t& arg_ip_protocol, 01742 const uint32_t& arg_src_port_begin, 01743 const uint32_t& arg_src_port_end, 01744 const uint32_t& arg_dst_port_begin, 01745 const uint32_t& arg_dst_port_end, 01746 const string& arg_action, 01747 const bool& arg_more) const { 01748 cb->dispatch(XrlCmdError::OKAY(), 01749 &arg_rule_number, 01750 &arg_ifname, 01751 &arg_vifname, 01752 &arg_src_network, 01753 &arg_dst_network, 01754 &arg_ip_protocol, 01755 &arg_src_port_begin, 01756 &arg_src_port_end, 01757 &arg_dst_port_begin, 01758 &arg_dst_port_end, 01759 &arg_action, 01760 &arg_more); 01761 } 01762 }; 01763 01764 struct FeaFirewall01GetEntryListNext6Rsp : 01765 public FeaFirewall01GetEntryListNext6CB { 01766 struct args_str { 01767 uint32_t rule_number; 01768 string ifname; 01769 string vifname; 01770 IPv6Net src_network; 01771 IPv6Net dst_network; 01772 uint32_t ip_protocol; 01773 uint32_t src_port_begin; 01774 uint32_t src_port_end; 01775 uint32_t dst_port_begin; 01776 uint32_t dst_port_end; 01777 string action; 01778 bool more; 01779 }; 01780 01781 private: 01782 args_str args; 01783 01784 public: 01785 FeaFirewall01GetEntryListNext6Rsp(const FeaFirewall01GetEntryListNext6RF& cb) 01786 : FeaFirewall01GetEntryListNext6CB(cb) { } 01787 01788 void respond() const { 01789 FeaFirewall01GetEntryListNext6CB:: 01790 respond(args.rule_number, 01791 args.ifname, 01792 args.vifname, 01793 args.src_network, 01794 args.dst_network, 01795 args.ip_protocol, 01796 args.src_port_begin, 01797 args.src_port_end, 01798 args.dst_port_begin, 01799 args.dst_port_end, 01800 args.action, 01801 args.more); 01802 } 01803 01804 args_str* operator ->() { 01805 return &args; 01806 } 01807 }; 01808 01809 virtual void async_fea_firewall_0_1_get_entry_list_next6 01810 ( 01811 const uint32_t& token, 01812 FeaFirewall01GetEntryListNext6CB); 01813 #endif 01814 01815 virtual XrlCmdError fea_firewall_0_1_startup_firewall() = 0; 01816 #ifdef XORP_ENABLE_ASYNC_SERVER 01817 typedef 01818 XorpCallback1<void, const XrlCmdError &>::RefPtr 01819 FeaFirewall01StartupFirewallRF; 01820 01821 class FeaFirewall01StartupFirewallCB { 01822 FeaFirewall01StartupFirewallRF cb; 01823 01824 public: 01825 operator const FeaFirewall01StartupFirewallRF& () const { return cb; } 01826 const FeaFirewall01StartupFirewallRF& operator ->() const { return cb; } 01827 FeaFirewall01StartupFirewallCB(const FeaFirewall01StartupFirewallRF& cb) 01828 : cb(cb) { } 01829 01830 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 01831 01832 void respond() const { 01833 cb->dispatch(XrlCmdError::OKAY()); 01834 } 01835 }; 01836 01837 struct FeaFirewall01StartupFirewallRsp : 01838 public FeaFirewall01StartupFirewallCB { 01839 FeaFirewall01StartupFirewallRsp(const FeaFirewall01StartupFirewallRF& cb) 01840 : FeaFirewall01StartupFirewallCB(cb) { } 01841 01842 }; 01843 01844 virtual void async_fea_firewall_0_1_startup_firewall 01845 ( 01846 FeaFirewall01StartupFirewallCB); 01847 #endif 01848 01849 virtual XrlCmdError ifmgr_0_1_set_restore_original_config_on_shutdown( 01850 // Input values, 01851 const bool& enable) = 0; 01852 #ifdef XORP_ENABLE_ASYNC_SERVER 01853 typedef 01854 XorpCallback1<void, const XrlCmdError &>::RefPtr 01855 Ifmgr01SetRestoreOriginalConfigOnShutdownRF; 01856 01857 class Ifmgr01SetRestoreOriginalConfigOnShutdownCB { 01858 Ifmgr01SetRestoreOriginalConfigOnShutdownRF cb; 01859 01860 public: 01861 operator const Ifmgr01SetRestoreOriginalConfigOnShutdownRF& () const { return cb; } 01862 const Ifmgr01SetRestoreOriginalConfigOnShutdownRF& operator ->() const { return cb; } 01863 Ifmgr01SetRestoreOriginalConfigOnShutdownCB(const Ifmgr01SetRestoreOriginalConfigOnShutdownRF& cb) 01864 : cb(cb) { } 01865 01866 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 01867 01868 void respond() const { 01869 cb->dispatch(XrlCmdError::OKAY()); 01870 } 01871 }; 01872 01873 struct Ifmgr01SetRestoreOriginalConfigOnShutdownRsp : 01874 public Ifmgr01SetRestoreOriginalConfigOnShutdownCB { 01875 Ifmgr01SetRestoreOriginalConfigOnShutdownRsp(const Ifmgr01SetRestoreOriginalConfigOnShutdownRF& cb) 01876 : Ifmgr01SetRestoreOriginalConfigOnShutdownCB(cb) { } 01877 01878 }; 01879 01880 virtual void async_ifmgr_0_1_set_restore_original_config_on_shutdown 01881 ( 01882 const bool& enable, 01883 Ifmgr01SetRestoreOriginalConfigOnShutdownCB); 01884 #endif 01885 01886 virtual XrlCmdError ifmgr_0_1_get_configured_interface_names( 01887 // Output values, 01888 XrlAtomList& ifnames) = 0; 01889 #ifdef XORP_ENABLE_ASYNC_SERVER 01890 typedef 01891 XorpCallback2<void, const XrlCmdError &, 01892 const XrlAtomList*>::RefPtr 01893 Ifmgr01GetConfiguredInterfaceNamesRF; 01894 01895 class Ifmgr01GetConfiguredInterfaceNamesCB { 01896 Ifmgr01GetConfiguredInterfaceNamesRF cb; 01897 01898 public: 01899 operator const Ifmgr01GetConfiguredInterfaceNamesRF& () const { return cb; } 01900 const Ifmgr01GetConfiguredInterfaceNamesRF& operator ->() const { return cb; } 01901 Ifmgr01GetConfiguredInterfaceNamesCB(const Ifmgr01GetConfiguredInterfaceNamesRF& cb) 01902 : cb(cb) { } 01903 01904 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 01905 01906 void respond(const XrlAtomList& arg_ifnames) const { 01907 cb->dispatch(XrlCmdError::OKAY(), 01908 &arg_ifnames); 01909 } 01910 }; 01911 01912 struct Ifmgr01GetConfiguredInterfaceNamesRsp : 01913 public Ifmgr01GetConfiguredInterfaceNamesCB { 01914 struct args_str { 01915 XrlAtomList ifnames; 01916 }; 01917 01918 private: 01919 args_str args; 01920 01921 public: 01922 Ifmgr01GetConfiguredInterfaceNamesRsp(const Ifmgr01GetConfiguredInterfaceNamesRF& cb) 01923 : Ifmgr01GetConfiguredInterfaceNamesCB(cb) { } 01924 01925 void respond() const { 01926 Ifmgr01GetConfiguredInterfaceNamesCB:: 01927 respond(args.ifnames); 01928 } 01929 01930 args_str* operator ->() { 01931 return &args; 01932 } 01933 }; 01934 01935 virtual void async_ifmgr_0_1_get_configured_interface_names 01936 ( 01937 Ifmgr01GetConfiguredInterfaceNamesCB); 01938 #endif 01939 01940 virtual XrlCmdError ifmgr_0_1_get_configured_vif_names( 01941 // Input values, 01942 const string& ifname, 01943 // Output values, 01944 XrlAtomList& vifs) = 0; 01945 #ifdef XORP_ENABLE_ASYNC_SERVER 01946 typedef 01947 XorpCallback2<void, const XrlCmdError &, 01948 const XrlAtomList*>::RefPtr 01949 Ifmgr01GetConfiguredVifNamesRF; 01950 01951 class Ifmgr01GetConfiguredVifNamesCB { 01952 Ifmgr01GetConfiguredVifNamesRF cb; 01953 01954 public: 01955 operator const Ifmgr01GetConfiguredVifNamesRF& () const { return cb; } 01956 const Ifmgr01GetConfiguredVifNamesRF& operator ->() const { return cb; } 01957 Ifmgr01GetConfiguredVifNamesCB(const Ifmgr01GetConfiguredVifNamesRF& cb) 01958 : cb(cb) { } 01959 01960 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 01961 01962 void respond(const XrlAtomList& arg_vifs) const { 01963 cb->dispatch(XrlCmdError::OKAY(), 01964 &arg_vifs); 01965 } 01966 }; 01967 01968 struct Ifmgr01GetConfiguredVifNamesRsp : 01969 public Ifmgr01GetConfiguredVifNamesCB { 01970 struct args_str { 01971 XrlAtomList vifs; 01972 }; 01973 01974 private: 01975 args_str args; 01976 01977 public: 01978 Ifmgr01GetConfiguredVifNamesRsp(const Ifmgr01GetConfiguredVifNamesRF& cb) 01979 : Ifmgr01GetConfiguredVifNamesCB(cb) { } 01980 01981 void respond() const { 01982 Ifmgr01GetConfiguredVifNamesCB:: 01983 respond(args.vifs); 01984 } 01985 01986 args_str* operator ->() { 01987 return &args; 01988 } 01989 }; 01990 01991 virtual void async_ifmgr_0_1_get_configured_vif_names 01992 ( 01993 const string& ifname, 01994 Ifmgr01GetConfiguredVifNamesCB); 01995 #endif 01996 01997 virtual XrlCmdError ifmgr_0_1_get_configured_vif_flags( 01998 // Input values, 01999 const string& ifname, 02000 const string& vif, 02001 // Output values, 02002 bool& enabled, 02003 bool& broadcast, 02004 bool& loopback, 02005 bool& point_to_point, 02006 bool& multicast) = 0; 02007 #ifdef XORP_ENABLE_ASYNC_SERVER 02008 typedef 02009 XorpCallback6<void, const XrlCmdError &, 02010 const bool*, 02011 const bool*, 02012 const bool*, 02013 const bool*, 02014 const bool*>::RefPtr 02015 Ifmgr01GetConfiguredVifFlagsRF; 02016 02017 class Ifmgr01GetConfiguredVifFlagsCB { 02018 Ifmgr01GetConfiguredVifFlagsRF cb; 02019 02020 public: 02021 operator const Ifmgr01GetConfiguredVifFlagsRF& () const { return cb; } 02022 const Ifmgr01GetConfiguredVifFlagsRF& operator ->() const { return cb; } 02023 Ifmgr01GetConfiguredVifFlagsCB(const Ifmgr01GetConfiguredVifFlagsRF& cb) 02024 : cb(cb) { } 02025 02026 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL, NULL); } 02027 02028 void respond(const bool& arg_enabled, 02029 const bool& arg_broadcast, 02030 const bool& arg_loopback, 02031 const bool& arg_point_to_point, 02032 const bool& arg_multicast) const { 02033 cb->dispatch(XrlCmdError::OKAY(), 02034 &arg_enabled, 02035 &arg_broadcast, 02036 &arg_loopback, 02037 &arg_point_to_point, 02038 &arg_multicast); 02039 } 02040 }; 02041 02042 struct Ifmgr01GetConfiguredVifFlagsRsp : 02043 public Ifmgr01GetConfiguredVifFlagsCB { 02044 struct args_str { 02045 bool enabled; 02046 bool broadcast; 02047 bool loopback; 02048 bool point_to_point; 02049 bool multicast; 02050 }; 02051 02052 private: 02053 args_str args; 02054 02055 public: 02056 Ifmgr01GetConfiguredVifFlagsRsp(const Ifmgr01GetConfiguredVifFlagsRF& cb) 02057 : Ifmgr01GetConfiguredVifFlagsCB(cb) { } 02058 02059 void respond() const { 02060 Ifmgr01GetConfiguredVifFlagsCB:: 02061 respond(args.enabled, 02062 args.broadcast, 02063 args.loopback, 02064 args.point_to_point, 02065 args.multicast); 02066 } 02067 02068 args_str* operator ->() { 02069 return &args; 02070 } 02071 }; 02072 02073 virtual void async_ifmgr_0_1_get_configured_vif_flags 02074 ( 02075 const string& ifname, 02076 const string& vif, 02077 Ifmgr01GetConfiguredVifFlagsCB); 02078 #endif 02079 02080 virtual XrlCmdError ifmgr_0_1_get_configured_vif_pif_index( 02081 // Input values, 02082 const string& ifname, 02083 const string& vif, 02084 // Output values, 02085 uint32_t& pif_index) = 0; 02086 #ifdef XORP_ENABLE_ASYNC_SERVER 02087 typedef 02088 XorpCallback2<void, const XrlCmdError &, 02089 const uint32_t*>::RefPtr 02090 Ifmgr01GetConfiguredVifPifIndexRF; 02091 02092 class Ifmgr01GetConfiguredVifPifIndexCB { 02093 Ifmgr01GetConfiguredVifPifIndexRF cb; 02094 02095 public: 02096 operator const Ifmgr01GetConfiguredVifPifIndexRF& () const { return cb; } 02097 const Ifmgr01GetConfiguredVifPifIndexRF& operator ->() const { return cb; } 02098 Ifmgr01GetConfiguredVifPifIndexCB(const Ifmgr01GetConfiguredVifPifIndexRF& cb) 02099 : cb(cb) { } 02100 02101 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02102 02103 void respond(const uint32_t& arg_pif_index) const { 02104 cb->dispatch(XrlCmdError::OKAY(), 02105 &arg_pif_index); 02106 } 02107 }; 02108 02109 struct Ifmgr01GetConfiguredVifPifIndexRsp : 02110 public Ifmgr01GetConfiguredVifPifIndexCB { 02111 struct args_str { 02112 uint32_t pif_index; 02113 }; 02114 02115 private: 02116 args_str args; 02117 02118 public: 02119 Ifmgr01GetConfiguredVifPifIndexRsp(const Ifmgr01GetConfiguredVifPifIndexRF& cb) 02120 : Ifmgr01GetConfiguredVifPifIndexCB(cb) { } 02121 02122 void respond() const { 02123 Ifmgr01GetConfiguredVifPifIndexCB:: 02124 respond(args.pif_index); 02125 } 02126 02127 args_str* operator ->() { 02128 return &args; 02129 } 02130 }; 02131 02132 virtual void async_ifmgr_0_1_get_configured_vif_pif_index 02133 ( 02134 const string& ifname, 02135 const string& vif, 02136 Ifmgr01GetConfiguredVifPifIndexCB); 02137 #endif 02138 02139 virtual XrlCmdError ifmgr_0_1_get_configured_vif_addresses4( 02140 // Input values, 02141 const string& ifname, 02142 const string& vif, 02143 // Output values, 02144 XrlAtomList& addresses) = 0; 02145 #ifdef XORP_ENABLE_ASYNC_SERVER 02146 typedef 02147 XorpCallback2<void, const XrlCmdError &, 02148 const XrlAtomList*>::RefPtr 02149 Ifmgr01GetConfiguredVifAddresses4RF; 02150 02151 class Ifmgr01GetConfiguredVifAddresses4CB { 02152 Ifmgr01GetConfiguredVifAddresses4RF cb; 02153 02154 public: 02155 operator const Ifmgr01GetConfiguredVifAddresses4RF& () const { return cb; } 02156 const Ifmgr01GetConfiguredVifAddresses4RF& operator ->() const { return cb; } 02157 Ifmgr01GetConfiguredVifAddresses4CB(const Ifmgr01GetConfiguredVifAddresses4RF& cb) 02158 : cb(cb) { } 02159 02160 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02161 02162 void respond(const XrlAtomList& arg_addresses) const { 02163 cb->dispatch(XrlCmdError::OKAY(), 02164 &arg_addresses); 02165 } 02166 }; 02167 02168 struct Ifmgr01GetConfiguredVifAddresses4Rsp : 02169 public Ifmgr01GetConfiguredVifAddresses4CB { 02170 struct args_str { 02171 XrlAtomList addresses; 02172 }; 02173 02174 private: 02175 args_str args; 02176 02177 public: 02178 Ifmgr01GetConfiguredVifAddresses4Rsp(const Ifmgr01GetConfiguredVifAddresses4RF& cb) 02179 : Ifmgr01GetConfiguredVifAddresses4CB(cb) { } 02180 02181 void respond() const { 02182 Ifmgr01GetConfiguredVifAddresses4CB:: 02183 respond(args.addresses); 02184 } 02185 02186 args_str* operator ->() { 02187 return &args; 02188 } 02189 }; 02190 02191 virtual void async_ifmgr_0_1_get_configured_vif_addresses4 02192 ( 02193 const string& ifname, 02194 const string& vif, 02195 Ifmgr01GetConfiguredVifAddresses4CB); 02196 #endif 02197 02198 virtual XrlCmdError ifmgr_0_1_get_configured_address_flags4( 02199 // Input values, 02200 const string& ifname, 02201 const string& vif, 02202 const IPv4& address, 02203 // Output values, 02204 bool& enabled, 02205 bool& broadcast, 02206 bool& loopback, 02207 bool& point_to_point, 02208 bool& multicast) = 0; 02209 #ifdef XORP_ENABLE_ASYNC_SERVER 02210 typedef 02211 XorpCallback6<void, const XrlCmdError &, 02212 const bool*, 02213 const bool*, 02214 const bool*, 02215 const bool*, 02216 const bool*>::RefPtr 02217 Ifmgr01GetConfiguredAddressFlags4RF; 02218 02219 class Ifmgr01GetConfiguredAddressFlags4CB { 02220 Ifmgr01GetConfiguredAddressFlags4RF cb; 02221 02222 public: 02223 operator const Ifmgr01GetConfiguredAddressFlags4RF& () const { return cb; } 02224 const Ifmgr01GetConfiguredAddressFlags4RF& operator ->() const { return cb; } 02225 Ifmgr01GetConfiguredAddressFlags4CB(const Ifmgr01GetConfiguredAddressFlags4RF& cb) 02226 : cb(cb) { } 02227 02228 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL, NULL); } 02229 02230 void respond(const bool& arg_enabled, 02231 const bool& arg_broadcast, 02232 const bool& arg_loopback, 02233 const bool& arg_point_to_point, 02234 const bool& arg_multicast) const { 02235 cb->dispatch(XrlCmdError::OKAY(), 02236 &arg_enabled, 02237 &arg_broadcast, 02238 &arg_loopback, 02239 &arg_point_to_point, 02240 &arg_multicast); 02241 } 02242 }; 02243 02244 struct Ifmgr01GetConfiguredAddressFlags4Rsp : 02245 public Ifmgr01GetConfiguredAddressFlags4CB { 02246 struct args_str { 02247 bool enabled; 02248 bool broadcast; 02249 bool loopback; 02250 bool point_to_point; 02251 bool multicast; 02252 }; 02253 02254 private: 02255 args_str args; 02256 02257 public: 02258 Ifmgr01GetConfiguredAddressFlags4Rsp(const Ifmgr01GetConfiguredAddressFlags4RF& cb) 02259 : Ifmgr01GetConfiguredAddressFlags4CB(cb) { } 02260 02261 void respond() const { 02262 Ifmgr01GetConfiguredAddressFlags4CB:: 02263 respond(args.enabled, 02264 args.broadcast, 02265 args.loopback, 02266 args.point_to_point, 02267 args.multicast); 02268 } 02269 02270 args_str* operator ->() { 02271 return &args; 02272 } 02273 }; 02274 02275 virtual void async_ifmgr_0_1_get_configured_address_flags4 02276 ( 02277 const string& ifname, 02278 const string& vif, 02279 const IPv4& address, 02280 Ifmgr01GetConfiguredAddressFlags4CB); 02281 #endif 02282 02283 virtual XrlCmdError ifmgr_0_1_get_configured_interface_enabled( 02284 // Input values, 02285 const string& ifname, 02286 // Output values, 02287 bool& enabled) = 0; 02288 #ifdef XORP_ENABLE_ASYNC_SERVER 02289 typedef 02290 XorpCallback2<void, const XrlCmdError &, 02291 const bool*>::RefPtr 02292 Ifmgr01GetConfiguredInterfaceEnabledRF; 02293 02294 class Ifmgr01GetConfiguredInterfaceEnabledCB { 02295 Ifmgr01GetConfiguredInterfaceEnabledRF cb; 02296 02297 public: 02298 operator const Ifmgr01GetConfiguredInterfaceEnabledRF& () const { return cb; } 02299 const Ifmgr01GetConfiguredInterfaceEnabledRF& operator ->() const { return cb; } 02300 Ifmgr01GetConfiguredInterfaceEnabledCB(const Ifmgr01GetConfiguredInterfaceEnabledRF& cb) 02301 : cb(cb) { } 02302 02303 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02304 02305 void respond(const bool& arg_enabled) const { 02306 cb->dispatch(XrlCmdError::OKAY(), 02307 &arg_enabled); 02308 } 02309 }; 02310 02311 struct Ifmgr01GetConfiguredInterfaceEnabledRsp : 02312 public Ifmgr01GetConfiguredInterfaceEnabledCB { 02313 struct args_str { 02314 bool enabled; 02315 }; 02316 02317 private: 02318 args_str args; 02319 02320 public: 02321 Ifmgr01GetConfiguredInterfaceEnabledRsp(const Ifmgr01GetConfiguredInterfaceEnabledRF& cb) 02322 : Ifmgr01GetConfiguredInterfaceEnabledCB(cb) { } 02323 02324 void respond() const { 02325 Ifmgr01GetConfiguredInterfaceEnabledCB:: 02326 respond(args.enabled); 02327 } 02328 02329 args_str* operator ->() { 02330 return &args; 02331 } 02332 }; 02333 02334 virtual void async_ifmgr_0_1_get_configured_interface_enabled 02335 ( 02336 const string& ifname, 02337 Ifmgr01GetConfiguredInterfaceEnabledCB); 02338 #endif 02339 02340 virtual XrlCmdError ifmgr_0_1_get_configured_interface_discard( 02341 // Input values, 02342 const string& ifname, 02343 // Output values, 02344 bool& discard) = 0; 02345 #ifdef XORP_ENABLE_ASYNC_SERVER 02346 typedef 02347 XorpCallback2<void, const XrlCmdError &, 02348 const bool*>::RefPtr 02349 Ifmgr01GetConfiguredInterfaceDiscardRF; 02350 02351 class Ifmgr01GetConfiguredInterfaceDiscardCB { 02352 Ifmgr01GetConfiguredInterfaceDiscardRF cb; 02353 02354 public: 02355 operator const Ifmgr01GetConfiguredInterfaceDiscardRF& () const { return cb; } 02356 const Ifmgr01GetConfiguredInterfaceDiscardRF& operator ->() const { return cb; } 02357 Ifmgr01GetConfiguredInterfaceDiscardCB(const Ifmgr01GetConfiguredInterfaceDiscardRF& cb) 02358 : cb(cb) { } 02359 02360 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02361 02362 void respond(const bool& arg_discard) const { 02363 cb->dispatch(XrlCmdError::OKAY(), 02364 &arg_discard); 02365 } 02366 }; 02367 02368 struct Ifmgr01GetConfiguredInterfaceDiscardRsp : 02369 public Ifmgr01GetConfiguredInterfaceDiscardCB { 02370 struct args_str { 02371 bool discard; 02372 }; 02373 02374 private: 02375 args_str args; 02376 02377 public: 02378 Ifmgr01GetConfiguredInterfaceDiscardRsp(const Ifmgr01GetConfiguredInterfaceDiscardRF& cb) 02379 : Ifmgr01GetConfiguredInterfaceDiscardCB(cb) { } 02380 02381 void respond() const { 02382 Ifmgr01GetConfiguredInterfaceDiscardCB:: 02383 respond(args.discard); 02384 } 02385 02386 args_str* operator ->() { 02387 return &args; 02388 } 02389 }; 02390 02391 virtual void async_ifmgr_0_1_get_configured_interface_discard 02392 ( 02393 const string& ifname, 02394 Ifmgr01GetConfiguredInterfaceDiscardCB); 02395 #endif 02396 02397 virtual XrlCmdError ifmgr_0_1_get_configured_interface_unreachable( 02398 // Input values, 02399 const string& ifname, 02400 // Output values, 02401 bool& unreachable) = 0; 02402 #ifdef XORP_ENABLE_ASYNC_SERVER 02403 typedef 02404 XorpCallback2<void, const XrlCmdError &, 02405 const bool*>::RefPtr 02406 Ifmgr01GetConfiguredInterfaceUnreachableRF; 02407 02408 class Ifmgr01GetConfiguredInterfaceUnreachableCB { 02409 Ifmgr01GetConfiguredInterfaceUnreachableRF cb; 02410 02411 public: 02412 operator const Ifmgr01GetConfiguredInterfaceUnreachableRF& () const { return cb; } 02413 const Ifmgr01GetConfiguredInterfaceUnreachableRF& operator ->() const { return cb; } 02414 Ifmgr01GetConfiguredInterfaceUnreachableCB(const Ifmgr01GetConfiguredInterfaceUnreachableRF& cb) 02415 : cb(cb) { } 02416 02417 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02418 02419 void respond(const bool& arg_unreachable) const { 02420 cb->dispatch(XrlCmdError::OKAY(), 02421 &arg_unreachable); 02422 } 02423 }; 02424 02425 struct Ifmgr01GetConfiguredInterfaceUnreachableRsp : 02426 public Ifmgr01GetConfiguredInterfaceUnreachableCB { 02427 struct args_str { 02428 bool unreachable; 02429 }; 02430 02431 private: 02432 args_str args; 02433 02434 public: 02435 Ifmgr01GetConfiguredInterfaceUnreachableRsp(const Ifmgr01GetConfiguredInterfaceUnreachableRF& cb) 02436 : Ifmgr01GetConfiguredInterfaceUnreachableCB(cb) { } 02437 02438 void respond() const { 02439 Ifmgr01GetConfiguredInterfaceUnreachableCB:: 02440 respond(args.unreachable); 02441 } 02442 02443 args_str* operator ->() { 02444 return &args; 02445 } 02446 }; 02447 02448 virtual void async_ifmgr_0_1_get_configured_interface_unreachable 02449 ( 02450 const string& ifname, 02451 Ifmgr01GetConfiguredInterfaceUnreachableCB); 02452 #endif 02453 02454 virtual XrlCmdError ifmgr_0_1_get_configured_interface_management( 02455 // Input values, 02456 const string& ifname, 02457 // Output values, 02458 bool& management) = 0; 02459 #ifdef XORP_ENABLE_ASYNC_SERVER 02460 typedef 02461 XorpCallback2<void, const XrlCmdError &, 02462 const bool*>::RefPtr 02463 Ifmgr01GetConfiguredInterfaceManagementRF; 02464 02465 class Ifmgr01GetConfiguredInterfaceManagementCB { 02466 Ifmgr01GetConfiguredInterfaceManagementRF cb; 02467 02468 public: 02469 operator const Ifmgr01GetConfiguredInterfaceManagementRF& () const { return cb; } 02470 const Ifmgr01GetConfiguredInterfaceManagementRF& operator ->() const { return cb; } 02471 Ifmgr01GetConfiguredInterfaceManagementCB(const Ifmgr01GetConfiguredInterfaceManagementRF& cb) 02472 : cb(cb) { } 02473 02474 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02475 02476 void respond(const bool& arg_management) const { 02477 cb->dispatch(XrlCmdError::OKAY(), 02478 &arg_management); 02479 } 02480 }; 02481 02482 struct Ifmgr01GetConfiguredInterfaceManagementRsp : 02483 public Ifmgr01GetConfiguredInterfaceManagementCB { 02484 struct args_str { 02485 bool management; 02486 }; 02487 02488 private: 02489 args_str args; 02490 02491 public: 02492 Ifmgr01GetConfiguredInterfaceManagementRsp(const Ifmgr01GetConfiguredInterfaceManagementRF& cb) 02493 : Ifmgr01GetConfiguredInterfaceManagementCB(cb) { } 02494 02495 void respond() const { 02496 Ifmgr01GetConfiguredInterfaceManagementCB:: 02497 respond(args.management); 02498 } 02499 02500 args_str* operator ->() { 02501 return &args; 02502 } 02503 }; 02504 02505 virtual void async_ifmgr_0_1_get_configured_interface_management 02506 ( 02507 const string& ifname, 02508 Ifmgr01GetConfiguredInterfaceManagementCB); 02509 #endif 02510 02511 virtual XrlCmdError ifmgr_0_1_get_configured_mac( 02512 // Input values, 02513 const string& ifname, 02514 // Output values, 02515 Mac& mac) = 0; 02516 #ifdef XORP_ENABLE_ASYNC_SERVER 02517 typedef 02518 XorpCallback2<void, const XrlCmdError &, 02519 const Mac*>::RefPtr 02520 Ifmgr01GetConfiguredMacRF; 02521 02522 class Ifmgr01GetConfiguredMacCB { 02523 Ifmgr01GetConfiguredMacRF cb; 02524 02525 public: 02526 operator const Ifmgr01GetConfiguredMacRF& () const { return cb; } 02527 const Ifmgr01GetConfiguredMacRF& operator ->() const { return cb; } 02528 Ifmgr01GetConfiguredMacCB(const Ifmgr01GetConfiguredMacRF& cb) 02529 : cb(cb) { } 02530 02531 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02532 02533 void respond(const Mac& arg_mac) const { 02534 cb->dispatch(XrlCmdError::OKAY(), 02535 &arg_mac); 02536 } 02537 }; 02538 02539 struct Ifmgr01GetConfiguredMacRsp : 02540 public Ifmgr01GetConfiguredMacCB { 02541 struct args_str { 02542 Mac mac; 02543 }; 02544 02545 private: 02546 args_str args; 02547 02548 public: 02549 Ifmgr01GetConfiguredMacRsp(const Ifmgr01GetConfiguredMacRF& cb) 02550 : Ifmgr01GetConfiguredMacCB(cb) { } 02551 02552 void respond() const { 02553 Ifmgr01GetConfiguredMacCB:: 02554 respond(args.mac); 02555 } 02556 02557 args_str* operator ->() { 02558 return &args; 02559 } 02560 }; 02561 02562 virtual void async_ifmgr_0_1_get_configured_mac 02563 ( 02564 const string& ifname, 02565 Ifmgr01GetConfiguredMacCB); 02566 #endif 02567 02568 virtual XrlCmdError ifmgr_0_1_get_configured_mtu( 02569 // Input values, 02570 const string& ifname, 02571 // Output values, 02572 uint32_t& mtu) = 0; 02573 #ifdef XORP_ENABLE_ASYNC_SERVER 02574 typedef 02575 XorpCallback2<void, const XrlCmdError &, 02576 const uint32_t*>::RefPtr 02577 Ifmgr01GetConfiguredMtuRF; 02578 02579 class Ifmgr01GetConfiguredMtuCB { 02580 Ifmgr01GetConfiguredMtuRF cb; 02581 02582 public: 02583 operator const Ifmgr01GetConfiguredMtuRF& () const { return cb; } 02584 const Ifmgr01GetConfiguredMtuRF& operator ->() const { return cb; } 02585 Ifmgr01GetConfiguredMtuCB(const Ifmgr01GetConfiguredMtuRF& cb) 02586 : cb(cb) { } 02587 02588 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02589 02590 void respond(const uint32_t& arg_mtu) const { 02591 cb->dispatch(XrlCmdError::OKAY(), 02592 &arg_mtu); 02593 } 02594 }; 02595 02596 struct Ifmgr01GetConfiguredMtuRsp : 02597 public Ifmgr01GetConfiguredMtuCB { 02598 struct args_str { 02599 uint32_t mtu; 02600 }; 02601 02602 private: 02603 args_str args; 02604 02605 public: 02606 Ifmgr01GetConfiguredMtuRsp(const Ifmgr01GetConfiguredMtuRF& cb) 02607 : Ifmgr01GetConfiguredMtuCB(cb) { } 02608 02609 void respond() const { 02610 Ifmgr01GetConfiguredMtuCB:: 02611 respond(args.mtu); 02612 } 02613 02614 args_str* operator ->() { 02615 return &args; 02616 } 02617 }; 02618 02619 virtual void async_ifmgr_0_1_get_configured_mtu 02620 ( 02621 const string& ifname, 02622 Ifmgr01GetConfiguredMtuCB); 02623 #endif 02624 02625 virtual XrlCmdError ifmgr_0_1_get_configured_no_carrier( 02626 // Input values, 02627 const string& ifname, 02628 // Output values, 02629 bool& no_carrier) = 0; 02630 #ifdef XORP_ENABLE_ASYNC_SERVER 02631 typedef 02632 XorpCallback2<void, const XrlCmdError &, 02633 const bool*>::RefPtr 02634 Ifmgr01GetConfiguredNoCarrierRF; 02635 02636 class Ifmgr01GetConfiguredNoCarrierCB { 02637 Ifmgr01GetConfiguredNoCarrierRF cb; 02638 02639 public: 02640 operator const Ifmgr01GetConfiguredNoCarrierRF& () const { return cb; } 02641 const Ifmgr01GetConfiguredNoCarrierRF& operator ->() const { return cb; } 02642 Ifmgr01GetConfiguredNoCarrierCB(const Ifmgr01GetConfiguredNoCarrierRF& cb) 02643 : cb(cb) { } 02644 02645 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02646 02647 void respond(const bool& arg_no_carrier) const { 02648 cb->dispatch(XrlCmdError::OKAY(), 02649 &arg_no_carrier); 02650 } 02651 }; 02652 02653 struct Ifmgr01GetConfiguredNoCarrierRsp : 02654 public Ifmgr01GetConfiguredNoCarrierCB { 02655 struct args_str { 02656 bool no_carrier; 02657 }; 02658 02659 private: 02660 args_str args; 02661 02662 public: 02663 Ifmgr01GetConfiguredNoCarrierRsp(const Ifmgr01GetConfiguredNoCarrierRF& cb) 02664 : Ifmgr01GetConfiguredNoCarrierCB(cb) { } 02665 02666 void respond() const { 02667 Ifmgr01GetConfiguredNoCarrierCB:: 02668 respond(args.no_carrier); 02669 } 02670 02671 args_str* operator ->() { 02672 return &args; 02673 } 02674 }; 02675 02676 virtual void async_ifmgr_0_1_get_configured_no_carrier 02677 ( 02678 const string& ifname, 02679 Ifmgr01GetConfiguredNoCarrierCB); 02680 #endif 02681 02682 virtual XrlCmdError ifmgr_0_1_get_configured_baudrate( 02683 // Input values, 02684 const string& ifname, 02685 // Output values, 02686 uint64_t& baudrate) = 0; 02687 #ifdef XORP_ENABLE_ASYNC_SERVER 02688 typedef 02689 XorpCallback2<void, const XrlCmdError &, 02690 const uint64_t*>::RefPtr 02691 Ifmgr01GetConfiguredBaudrateRF; 02692 02693 class Ifmgr01GetConfiguredBaudrateCB { 02694 Ifmgr01GetConfiguredBaudrateRF cb; 02695 02696 public: 02697 operator const Ifmgr01GetConfiguredBaudrateRF& () const { return cb; } 02698 const Ifmgr01GetConfiguredBaudrateRF& operator ->() const { return cb; } 02699 Ifmgr01GetConfiguredBaudrateCB(const Ifmgr01GetConfiguredBaudrateRF& cb) 02700 : cb(cb) { } 02701 02702 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02703 02704 void respond(const uint64_t& arg_baudrate) const { 02705 cb->dispatch(XrlCmdError::OKAY(), 02706 &arg_baudrate); 02707 } 02708 }; 02709 02710 struct Ifmgr01GetConfiguredBaudrateRsp : 02711 public Ifmgr01GetConfiguredBaudrateCB { 02712 struct args_str { 02713 uint64_t baudrate; 02714 }; 02715 02716 private: 02717 args_str args; 02718 02719 public: 02720 Ifmgr01GetConfiguredBaudrateRsp(const Ifmgr01GetConfiguredBaudrateRF& cb) 02721 : Ifmgr01GetConfiguredBaudrateCB(cb) { } 02722 02723 void respond() const { 02724 Ifmgr01GetConfiguredBaudrateCB:: 02725 respond(args.baudrate); 02726 } 02727 02728 args_str* operator ->() { 02729 return &args; 02730 } 02731 }; 02732 02733 virtual void async_ifmgr_0_1_get_configured_baudrate 02734 ( 02735 const string& ifname, 02736 Ifmgr01GetConfiguredBaudrateCB); 02737 #endif 02738 02739 virtual XrlCmdError ifmgr_0_1_get_configured_vif_enabled( 02740 // Input values, 02741 const string& ifname, 02742 const string& vif, 02743 // Output values, 02744 bool& enabled) = 0; 02745 #ifdef XORP_ENABLE_ASYNC_SERVER 02746 typedef 02747 XorpCallback2<void, const XrlCmdError &, 02748 const bool*>::RefPtr 02749 Ifmgr01GetConfiguredVifEnabledRF; 02750 02751 class Ifmgr01GetConfiguredVifEnabledCB { 02752 Ifmgr01GetConfiguredVifEnabledRF cb; 02753 02754 public: 02755 operator const Ifmgr01GetConfiguredVifEnabledRF& () const { return cb; } 02756 const Ifmgr01GetConfiguredVifEnabledRF& operator ->() const { return cb; } 02757 Ifmgr01GetConfiguredVifEnabledCB(const Ifmgr01GetConfiguredVifEnabledRF& cb) 02758 : cb(cb) { } 02759 02760 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02761 02762 void respond(const bool& arg_enabled) const { 02763 cb->dispatch(XrlCmdError::OKAY(), 02764 &arg_enabled); 02765 } 02766 }; 02767 02768 struct Ifmgr01GetConfiguredVifEnabledRsp : 02769 public Ifmgr01GetConfiguredVifEnabledCB { 02770 struct args_str { 02771 bool enabled; 02772 }; 02773 02774 private: 02775 args_str args; 02776 02777 public: 02778 Ifmgr01GetConfiguredVifEnabledRsp(const Ifmgr01GetConfiguredVifEnabledRF& cb) 02779 : Ifmgr01GetConfiguredVifEnabledCB(cb) { } 02780 02781 void respond() const { 02782 Ifmgr01GetConfiguredVifEnabledCB:: 02783 respond(args.enabled); 02784 } 02785 02786 args_str* operator ->() { 02787 return &args; 02788 } 02789 }; 02790 02791 virtual void async_ifmgr_0_1_get_configured_vif_enabled 02792 ( 02793 const string& ifname, 02794 const string& vif, 02795 Ifmgr01GetConfiguredVifEnabledCB); 02796 #endif 02797 02798 virtual XrlCmdError ifmgr_0_1_get_configured_prefix4( 02799 // Input values, 02800 const string& ifname, 02801 const string& vif, 02802 const IPv4& address, 02803 // Output values, 02804 uint32_t& prefix_len) = 0; 02805 #ifdef XORP_ENABLE_ASYNC_SERVER 02806 typedef 02807 XorpCallback2<void, const XrlCmdError &, 02808 const uint32_t*>::RefPtr 02809 Ifmgr01GetConfiguredPrefix4RF; 02810 02811 class Ifmgr01GetConfiguredPrefix4CB { 02812 Ifmgr01GetConfiguredPrefix4RF cb; 02813 02814 public: 02815 operator const Ifmgr01GetConfiguredPrefix4RF& () const { return cb; } 02816 const Ifmgr01GetConfiguredPrefix4RF& operator ->() const { return cb; } 02817 Ifmgr01GetConfiguredPrefix4CB(const Ifmgr01GetConfiguredPrefix4RF& cb) 02818 : cb(cb) { } 02819 02820 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02821 02822 void respond(const uint32_t& arg_prefix_len) const { 02823 cb->dispatch(XrlCmdError::OKAY(), 02824 &arg_prefix_len); 02825 } 02826 }; 02827 02828 struct Ifmgr01GetConfiguredPrefix4Rsp : 02829 public Ifmgr01GetConfiguredPrefix4CB { 02830 struct args_str { 02831 uint32_t prefix_len; 02832 }; 02833 02834 private: 02835 args_str args; 02836 02837 public: 02838 Ifmgr01GetConfiguredPrefix4Rsp(const Ifmgr01GetConfiguredPrefix4RF& cb) 02839 : Ifmgr01GetConfiguredPrefix4CB(cb) { } 02840 02841 void respond() const { 02842 Ifmgr01GetConfiguredPrefix4CB:: 02843 respond(args.prefix_len); 02844 } 02845 02846 args_str* operator ->() { 02847 return &args; 02848 } 02849 }; 02850 02851 virtual void async_ifmgr_0_1_get_configured_prefix4 02852 ( 02853 const string& ifname, 02854 const string& vif, 02855 const IPv4& address, 02856 Ifmgr01GetConfiguredPrefix4CB); 02857 #endif 02858 02859 virtual XrlCmdError ifmgr_0_1_get_configured_broadcast4( 02860 // Input values, 02861 const string& ifname, 02862 const string& vif, 02863 const IPv4& address, 02864 // Output values, 02865 IPv4& broadcast) = 0; 02866 #ifdef XORP_ENABLE_ASYNC_SERVER 02867 typedef 02868 XorpCallback2<void, const XrlCmdError &, 02869 const IPv4*>::RefPtr 02870 Ifmgr01GetConfiguredBroadcast4RF; 02871 02872 class Ifmgr01GetConfiguredBroadcast4CB { 02873 Ifmgr01GetConfiguredBroadcast4RF cb; 02874 02875 public: 02876 operator const Ifmgr01GetConfiguredBroadcast4RF& () const { return cb; } 02877 const Ifmgr01GetConfiguredBroadcast4RF& operator ->() const { return cb; } 02878 Ifmgr01GetConfiguredBroadcast4CB(const Ifmgr01GetConfiguredBroadcast4RF& cb) 02879 : cb(cb) { } 02880 02881 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02882 02883 void respond(const IPv4& arg_broadcast) const { 02884 cb->dispatch(XrlCmdError::OKAY(), 02885 &arg_broadcast); 02886 } 02887 }; 02888 02889 struct Ifmgr01GetConfiguredBroadcast4Rsp : 02890 public Ifmgr01GetConfiguredBroadcast4CB { 02891 struct args_str { 02892 IPv4 broadcast; 02893 }; 02894 02895 private: 02896 args_str args; 02897 02898 public: 02899 Ifmgr01GetConfiguredBroadcast4Rsp(const Ifmgr01GetConfiguredBroadcast4RF& cb) 02900 : Ifmgr01GetConfiguredBroadcast4CB(cb) { } 02901 02902 void respond() const { 02903 Ifmgr01GetConfiguredBroadcast4CB:: 02904 respond(args.broadcast); 02905 } 02906 02907 args_str* operator ->() { 02908 return &args; 02909 } 02910 }; 02911 02912 virtual void async_ifmgr_0_1_get_configured_broadcast4 02913 ( 02914 const string& ifname, 02915 const string& vif, 02916 const IPv4& address, 02917 Ifmgr01GetConfiguredBroadcast4CB); 02918 #endif 02919 02920 virtual XrlCmdError ifmgr_0_1_get_configured_endpoint4( 02921 // Input values, 02922 const string& ifname, 02923 const string& vif, 02924 const IPv4& address, 02925 // Output values, 02926 IPv4& endpoint) = 0; 02927 #ifdef XORP_ENABLE_ASYNC_SERVER 02928 typedef 02929 XorpCallback2<void, const XrlCmdError &, 02930 const IPv4*>::RefPtr 02931 Ifmgr01GetConfiguredEndpoint4RF; 02932 02933 class Ifmgr01GetConfiguredEndpoint4CB { 02934 Ifmgr01GetConfiguredEndpoint4RF cb; 02935 02936 public: 02937 operator const Ifmgr01GetConfiguredEndpoint4RF& () const { return cb; } 02938 const Ifmgr01GetConfiguredEndpoint4RF& operator ->() const { return cb; } 02939 Ifmgr01GetConfiguredEndpoint4CB(const Ifmgr01GetConfiguredEndpoint4RF& cb) 02940 : cb(cb) { } 02941 02942 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 02943 02944 void respond(const IPv4& arg_endpoint) const { 02945 cb->dispatch(XrlCmdError::OKAY(), 02946 &arg_endpoint); 02947 } 02948 }; 02949 02950 struct Ifmgr01GetConfiguredEndpoint4Rsp : 02951 public Ifmgr01GetConfiguredEndpoint4CB { 02952 struct args_str { 02953 IPv4 endpoint; 02954 }; 02955 02956 private: 02957 args_str args; 02958 02959 public: 02960 Ifmgr01GetConfiguredEndpoint4Rsp(const Ifmgr01GetConfiguredEndpoint4RF& cb) 02961 : Ifmgr01GetConfiguredEndpoint4CB(cb) { } 02962 02963 void respond() const { 02964 Ifmgr01GetConfiguredEndpoint4CB:: 02965 respond(args.endpoint); 02966 } 02967 02968 args_str* operator ->() { 02969 return &args; 02970 } 02971 }; 02972 02973 virtual void async_ifmgr_0_1_get_configured_endpoint4 02974 ( 02975 const string& ifname, 02976 const string& vif, 02977 const IPv4& address, 02978 Ifmgr01GetConfiguredEndpoint4CB); 02979 #endif 02980 02981 virtual XrlCmdError ifmgr_0_1_start_transaction( 02982 // Output values, 02983 uint32_t& tid) = 0; 02984 #ifdef XORP_ENABLE_ASYNC_SERVER 02985 typedef 02986 XorpCallback2<void, const XrlCmdError &, 02987 const uint32_t*>::RefPtr 02988 Ifmgr01StartTransactionRF; 02989 02990 class Ifmgr01StartTransactionCB { 02991 Ifmgr01StartTransactionRF cb; 02992 02993 public: 02994 operator const Ifmgr01StartTransactionRF& () const { return cb; } 02995 const Ifmgr01StartTransactionRF& operator ->() const { return cb; } 02996 Ifmgr01StartTransactionCB(const Ifmgr01StartTransactionRF& cb) 02997 : cb(cb) { } 02998 02999 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 03000 03001 void respond(const uint32_t& arg_tid) const { 03002 cb->dispatch(XrlCmdError::OKAY(), 03003 &arg_tid); 03004 } 03005 }; 03006 03007 struct Ifmgr01StartTransactionRsp : 03008 public Ifmgr01StartTransactionCB { 03009 struct args_str { 03010 uint32_t tid; 03011 }; 03012 03013 private: 03014 args_str args; 03015 03016 public: 03017 Ifmgr01StartTransactionRsp(const Ifmgr01StartTransactionRF& cb) 03018 : Ifmgr01StartTransactionCB(cb) { } 03019 03020 void respond() const { 03021 Ifmgr01StartTransactionCB:: 03022 respond(args.tid); 03023 } 03024 03025 args_str* operator ->() { 03026 return &args; 03027 } 03028 }; 03029 03030 virtual void async_ifmgr_0_1_start_transaction 03031 ( 03032 Ifmgr01StartTransactionCB); 03033 #endif 03034 03035 virtual XrlCmdError ifmgr_0_1_commit_transaction( 03036 // Input values, 03037 const uint32_t& tid) = 0; 03038 #ifdef XORP_ENABLE_ASYNC_SERVER 03039 typedef 03040 XorpCallback1<void, const XrlCmdError &>::RefPtr 03041 Ifmgr01CommitTransactionRF; 03042 03043 class Ifmgr01CommitTransactionCB { 03044 Ifmgr01CommitTransactionRF cb; 03045 03046 public: 03047 operator const Ifmgr01CommitTransactionRF& () const { return cb; } 03048 const Ifmgr01CommitTransactionRF& operator ->() const { return cb; } 03049 Ifmgr01CommitTransactionCB(const Ifmgr01CommitTransactionRF& cb) 03050 : cb(cb) { } 03051 03052 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03053 03054 void respond() const { 03055 cb->dispatch(XrlCmdError::OKAY()); 03056 } 03057 }; 03058 03059 struct Ifmgr01CommitTransactionRsp : 03060 public Ifmgr01CommitTransactionCB { 03061 Ifmgr01CommitTransactionRsp(const Ifmgr01CommitTransactionRF& cb) 03062 : Ifmgr01CommitTransactionCB(cb) { } 03063 03064 }; 03065 03066 virtual void async_ifmgr_0_1_commit_transaction 03067 ( 03068 const uint32_t& tid, 03069 Ifmgr01CommitTransactionCB); 03070 #endif 03071 03072 virtual XrlCmdError ifmgr_0_1_abort_transaction( 03073 // Input values, 03074 const uint32_t& tid) = 0; 03075 #ifdef XORP_ENABLE_ASYNC_SERVER 03076 typedef 03077 XorpCallback1<void, const XrlCmdError &>::RefPtr 03078 Ifmgr01AbortTransactionRF; 03079 03080 class Ifmgr01AbortTransactionCB { 03081 Ifmgr01AbortTransactionRF cb; 03082 03083 public: 03084 operator const Ifmgr01AbortTransactionRF& () const { return cb; } 03085 const Ifmgr01AbortTransactionRF& operator ->() const { return cb; } 03086 Ifmgr01AbortTransactionCB(const Ifmgr01AbortTransactionRF& cb) 03087 : cb(cb) { } 03088 03089 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03090 03091 void respond() const { 03092 cb->dispatch(XrlCmdError::OKAY()); 03093 } 03094 }; 03095 03096 struct Ifmgr01AbortTransactionRsp : 03097 public Ifmgr01AbortTransactionCB { 03098 Ifmgr01AbortTransactionRsp(const Ifmgr01AbortTransactionRF& cb) 03099 : Ifmgr01AbortTransactionCB(cb) { } 03100 03101 }; 03102 03103 virtual void async_ifmgr_0_1_abort_transaction 03104 ( 03105 const uint32_t& tid, 03106 Ifmgr01AbortTransactionCB); 03107 #endif 03108 03109 virtual XrlCmdError ifmgr_0_1_create_interface( 03110 // Input values, 03111 const uint32_t& tid, 03112 const string& ifname) = 0; 03113 #ifdef XORP_ENABLE_ASYNC_SERVER 03114 typedef 03115 XorpCallback1<void, const XrlCmdError &>::RefPtr 03116 Ifmgr01CreateInterfaceRF; 03117 03118 class Ifmgr01CreateInterfaceCB { 03119 Ifmgr01CreateInterfaceRF cb; 03120 03121 public: 03122 operator const Ifmgr01CreateInterfaceRF& () const { return cb; } 03123 const Ifmgr01CreateInterfaceRF& operator ->() const { return cb; } 03124 Ifmgr01CreateInterfaceCB(const Ifmgr01CreateInterfaceRF& cb) 03125 : cb(cb) { } 03126 03127 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03128 03129 void respond() const { 03130 cb->dispatch(XrlCmdError::OKAY()); 03131 } 03132 }; 03133 03134 struct Ifmgr01CreateInterfaceRsp : 03135 public Ifmgr01CreateInterfaceCB { 03136 Ifmgr01CreateInterfaceRsp(const Ifmgr01CreateInterfaceRF& cb) 03137 : Ifmgr01CreateInterfaceCB(cb) { } 03138 03139 }; 03140 03141 virtual void async_ifmgr_0_1_create_interface 03142 ( 03143 const uint32_t& tid, 03144 const string& ifname, 03145 Ifmgr01CreateInterfaceCB); 03146 #endif 03147 03148 virtual XrlCmdError ifmgr_0_1_delete_interface( 03149 // Input values, 03150 const uint32_t& tid, 03151 const string& ifname) = 0; 03152 #ifdef XORP_ENABLE_ASYNC_SERVER 03153 typedef 03154 XorpCallback1<void, const XrlCmdError &>::RefPtr 03155 Ifmgr01DeleteInterfaceRF; 03156 03157 class Ifmgr01DeleteInterfaceCB { 03158 Ifmgr01DeleteInterfaceRF cb; 03159 03160 public: 03161 operator const Ifmgr01DeleteInterfaceRF& () const { return cb; } 03162 const Ifmgr01DeleteInterfaceRF& operator ->() const { return cb; } 03163 Ifmgr01DeleteInterfaceCB(const Ifmgr01DeleteInterfaceRF& cb) 03164 : cb(cb) { } 03165 03166 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03167 03168 void respond() const { 03169 cb->dispatch(XrlCmdError::OKAY()); 03170 } 03171 }; 03172 03173 struct Ifmgr01DeleteInterfaceRsp : 03174 public Ifmgr01DeleteInterfaceCB { 03175 Ifmgr01DeleteInterfaceRsp(const Ifmgr01DeleteInterfaceRF& cb) 03176 : Ifmgr01DeleteInterfaceCB(cb) { } 03177 03178 }; 03179 03180 virtual void async_ifmgr_0_1_delete_interface 03181 ( 03182 const uint32_t& tid, 03183 const string& ifname, 03184 Ifmgr01DeleteInterfaceCB); 03185 #endif 03186 03198 virtual XrlCmdError ifmgr_0_1_configure_all_interfaces_from_system( 03199 // Input values, 03200 const uint32_t& tid, 03201 const bool& enable) = 0; 03202 #ifdef XORP_ENABLE_ASYNC_SERVER 03203 typedef 03204 XorpCallback1<void, const XrlCmdError &>::RefPtr 03205 Ifmgr01ConfigureAllInterfacesFromSystemRF; 03206 03207 class Ifmgr01ConfigureAllInterfacesFromSystemCB { 03208 Ifmgr01ConfigureAllInterfacesFromSystemRF cb; 03209 03210 public: 03211 operator const Ifmgr01ConfigureAllInterfacesFromSystemRF& () const { return cb; } 03212 const Ifmgr01ConfigureAllInterfacesFromSystemRF& operator ->() const { return cb; } 03213 Ifmgr01ConfigureAllInterfacesFromSystemCB(const Ifmgr01ConfigureAllInterfacesFromSystemRF& cb) 03214 : cb(cb) { } 03215 03216 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03217 03218 void respond() const { 03219 cb->dispatch(XrlCmdError::OKAY()); 03220 } 03221 }; 03222 03223 struct Ifmgr01ConfigureAllInterfacesFromSystemRsp : 03224 public Ifmgr01ConfigureAllInterfacesFromSystemCB { 03225 Ifmgr01ConfigureAllInterfacesFromSystemRsp(const Ifmgr01ConfigureAllInterfacesFromSystemRF& cb) 03226 : Ifmgr01ConfigureAllInterfacesFromSystemCB(cb) { } 03227 03228 }; 03229 03230 virtual void async_ifmgr_0_1_configure_all_interfaces_from_system 03231 ( 03232 const uint32_t& tid, 03233 const bool& enable, 03234 Ifmgr01ConfigureAllInterfacesFromSystemCB); 03235 #endif 03236 03250 virtual XrlCmdError ifmgr_0_1_configure_interface_from_system( 03251 // Input values, 03252 const uint32_t& tid, 03253 const string& ifname, 03254 const bool& enable) = 0; 03255 #ifdef XORP_ENABLE_ASYNC_SERVER 03256 typedef 03257 XorpCallback1<void, const XrlCmdError &>::RefPtr 03258 Ifmgr01ConfigureInterfaceFromSystemRF; 03259 03260 class Ifmgr01ConfigureInterfaceFromSystemCB { 03261 Ifmgr01ConfigureInterfaceFromSystemRF cb; 03262 03263 public: 03264 operator const Ifmgr01ConfigureInterfaceFromSystemRF& () const { return cb; } 03265 const Ifmgr01ConfigureInterfaceFromSystemRF& operator ->() const { return cb; } 03266 Ifmgr01ConfigureInterfaceFromSystemCB(const Ifmgr01ConfigureInterfaceFromSystemRF& cb) 03267 : cb(cb) { } 03268 03269 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03270 03271 void respond() const { 03272 cb->dispatch(XrlCmdError::OKAY()); 03273 } 03274 }; 03275 03276 struct Ifmgr01ConfigureInterfaceFromSystemRsp : 03277 public Ifmgr01ConfigureInterfaceFromSystemCB { 03278 Ifmgr01ConfigureInterfaceFromSystemRsp(const Ifmgr01ConfigureInterfaceFromSystemRF& cb) 03279 : Ifmgr01ConfigureInterfaceFromSystemCB(cb) { } 03280 03281 }; 03282 03283 virtual void async_ifmgr_0_1_configure_interface_from_system 03284 ( 03285 const uint32_t& tid, 03286 const string& ifname, 03287 const bool& enable, 03288 Ifmgr01ConfigureInterfaceFromSystemCB); 03289 #endif 03290 03291 virtual XrlCmdError ifmgr_0_1_set_interface_enabled( 03292 // Input values, 03293 const uint32_t& tid, 03294 const string& ifname, 03295 const bool& enabled) = 0; 03296 #ifdef XORP_ENABLE_ASYNC_SERVER 03297 typedef 03298 XorpCallback1<void, const XrlCmdError &>::RefPtr 03299 Ifmgr01SetInterfaceEnabledRF; 03300 03301 class Ifmgr01SetInterfaceEnabledCB { 03302 Ifmgr01SetInterfaceEnabledRF cb; 03303 03304 public: 03305 operator const Ifmgr01SetInterfaceEnabledRF& () const { return cb; } 03306 const Ifmgr01SetInterfaceEnabledRF& operator ->() const { return cb; } 03307 Ifmgr01SetInterfaceEnabledCB(const Ifmgr01SetInterfaceEnabledRF& cb) 03308 : cb(cb) { } 03309 03310 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03311 03312 void respond() const { 03313 cb->dispatch(XrlCmdError::OKAY()); 03314 } 03315 }; 03316 03317 struct Ifmgr01SetInterfaceEnabledRsp : 03318 public Ifmgr01SetInterfaceEnabledCB { 03319 Ifmgr01SetInterfaceEnabledRsp(const Ifmgr01SetInterfaceEnabledRF& cb) 03320 : Ifmgr01SetInterfaceEnabledCB(cb) { } 03321 03322 }; 03323 03324 virtual void async_ifmgr_0_1_set_interface_enabled 03325 ( 03326 const uint32_t& tid, 03327 const string& ifname, 03328 const bool& enabled, 03329 Ifmgr01SetInterfaceEnabledCB); 03330 #endif 03331 03332 virtual XrlCmdError ifmgr_0_1_set_interface_discard( 03333 // Input values, 03334 const uint32_t& tid, 03335 const string& ifname, 03336 const bool& discard) = 0; 03337 #ifdef XORP_ENABLE_ASYNC_SERVER 03338 typedef 03339 XorpCallback1<void, const XrlCmdError &>::RefPtr 03340 Ifmgr01SetInterfaceDiscardRF; 03341 03342 class Ifmgr01SetInterfaceDiscardCB { 03343 Ifmgr01SetInterfaceDiscardRF cb; 03344 03345 public: 03346 operator const Ifmgr01SetInterfaceDiscardRF& () const { return cb; } 03347 const Ifmgr01SetInterfaceDiscardRF& operator ->() const { return cb; } 03348 Ifmgr01SetInterfaceDiscardCB(const Ifmgr01SetInterfaceDiscardRF& cb) 03349 : cb(cb) { } 03350 03351 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03352 03353 void respond() const { 03354 cb->dispatch(XrlCmdError::OKAY()); 03355 } 03356 }; 03357 03358 struct Ifmgr01SetInterfaceDiscardRsp : 03359 public Ifmgr01SetInterfaceDiscardCB { 03360 Ifmgr01SetInterfaceDiscardRsp(const Ifmgr01SetInterfaceDiscardRF& cb) 03361 : Ifmgr01SetInterfaceDiscardCB(cb) { } 03362 03363 }; 03364 03365 virtual void async_ifmgr_0_1_set_interface_discard 03366 ( 03367 const uint32_t& tid, 03368 const string& ifname, 03369 const bool& discard, 03370 Ifmgr01SetInterfaceDiscardCB); 03371 #endif 03372 03373 virtual XrlCmdError ifmgr_0_1_set_interface_unreachable( 03374 // Input values, 03375 const uint32_t& tid, 03376 const string& ifname, 03377 const bool& unreachable) = 0; 03378 #ifdef XORP_ENABLE_ASYNC_SERVER 03379 typedef 03380 XorpCallback1<void, const XrlCmdError &>::RefPtr 03381 Ifmgr01SetInterfaceUnreachableRF; 03382 03383 class Ifmgr01SetInterfaceUnreachableCB { 03384 Ifmgr01SetInterfaceUnreachableRF cb; 03385 03386 public: 03387 operator const Ifmgr01SetInterfaceUnreachableRF& () const { return cb; } 03388 const Ifmgr01SetInterfaceUnreachableRF& operator ->() const { return cb; } 03389 Ifmgr01SetInterfaceUnreachableCB(const Ifmgr01SetInterfaceUnreachableRF& cb) 03390 : cb(cb) { } 03391 03392 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03393 03394 void respond() const { 03395 cb->dispatch(XrlCmdError::OKAY()); 03396 } 03397 }; 03398 03399 struct Ifmgr01SetInterfaceUnreachableRsp : 03400 public Ifmgr01SetInterfaceUnreachableCB { 03401 Ifmgr01SetInterfaceUnreachableRsp(const Ifmgr01SetInterfaceUnreachableRF& cb) 03402 : Ifmgr01SetInterfaceUnreachableCB(cb) { } 03403 03404 }; 03405 03406 virtual void async_ifmgr_0_1_set_interface_unreachable 03407 ( 03408 const uint32_t& tid, 03409 const string& ifname, 03410 const bool& unreachable, 03411 Ifmgr01SetInterfaceUnreachableCB); 03412 #endif 03413 03414 virtual XrlCmdError ifmgr_0_1_set_interface_management( 03415 // Input values, 03416 const uint32_t& tid, 03417 const string& ifname, 03418 const bool& management) = 0; 03419 #ifdef XORP_ENABLE_ASYNC_SERVER 03420 typedef 03421 XorpCallback1<void, const XrlCmdError &>::RefPtr 03422 Ifmgr01SetInterfaceManagementRF; 03423 03424 class Ifmgr01SetInterfaceManagementCB { 03425 Ifmgr01SetInterfaceManagementRF cb; 03426 03427 public: 03428 operator const Ifmgr01SetInterfaceManagementRF& () const { return cb; } 03429 const Ifmgr01SetInterfaceManagementRF& operator ->() const { return cb; } 03430 Ifmgr01SetInterfaceManagementCB(const Ifmgr01SetInterfaceManagementRF& cb) 03431 : cb(cb) { } 03432 03433 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03434 03435 void respond() const { 03436 cb->dispatch(XrlCmdError::OKAY()); 03437 } 03438 }; 03439 03440 struct Ifmgr01SetInterfaceManagementRsp : 03441 public Ifmgr01SetInterfaceManagementCB { 03442 Ifmgr01SetInterfaceManagementRsp(const Ifmgr01SetInterfaceManagementRF& cb) 03443 : Ifmgr01SetInterfaceManagementCB(cb) { } 03444 03445 }; 03446 03447 virtual void async_ifmgr_0_1_set_interface_management 03448 ( 03449 const uint32_t& tid, 03450 const string& ifname, 03451 const bool& management, 03452 Ifmgr01SetInterfaceManagementCB); 03453 #endif 03454 03455 virtual XrlCmdError ifmgr_0_1_set_mac( 03456 // Input values, 03457 const uint32_t& tid, 03458 const string& ifname, 03459 const Mac& mac) = 0; 03460 #ifdef XORP_ENABLE_ASYNC_SERVER 03461 typedef 03462 XorpCallback1<void, const XrlCmdError &>::RefPtr 03463 Ifmgr01SetMacRF; 03464 03465 class Ifmgr01SetMacCB { 03466 Ifmgr01SetMacRF cb; 03467 03468 public: 03469 operator const Ifmgr01SetMacRF& () const { return cb; } 03470 const Ifmgr01SetMacRF& operator ->() const { return cb; } 03471 Ifmgr01SetMacCB(const Ifmgr01SetMacRF& cb) 03472 : cb(cb) { } 03473 03474 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03475 03476 void respond() const { 03477 cb->dispatch(XrlCmdError::OKAY()); 03478 } 03479 }; 03480 03481 struct Ifmgr01SetMacRsp : 03482 public Ifmgr01SetMacCB { 03483 Ifmgr01SetMacRsp(const Ifmgr01SetMacRF& cb) 03484 : Ifmgr01SetMacCB(cb) { } 03485 03486 }; 03487 03488 virtual void async_ifmgr_0_1_set_mac 03489 ( 03490 const uint32_t& tid, 03491 const string& ifname, 03492 const Mac& mac, 03493 Ifmgr01SetMacCB); 03494 #endif 03495 03496 virtual XrlCmdError ifmgr_0_1_create_mac( 03497 // Input values, 03498 const string& ifname, 03499 const Mac& mac) = 0; 03500 #ifdef XORP_ENABLE_ASYNC_SERVER 03501 typedef 03502 XorpCallback1<void, const XrlCmdError &>::RefPtr 03503 Ifmgr01CreateMacRF; 03504 03505 class Ifmgr01CreateMacCB { 03506 Ifmgr01CreateMacRF cb; 03507 03508 public: 03509 operator const Ifmgr01CreateMacRF& () const { return cb; } 03510 const Ifmgr01CreateMacRF& operator ->() const { return cb; } 03511 Ifmgr01CreateMacCB(const Ifmgr01CreateMacRF& cb) 03512 : cb(cb) { } 03513 03514 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03515 03516 void respond() const { 03517 cb->dispatch(XrlCmdError::OKAY()); 03518 } 03519 }; 03520 03521 struct Ifmgr01CreateMacRsp : 03522 public Ifmgr01CreateMacCB { 03523 Ifmgr01CreateMacRsp(const Ifmgr01CreateMacRF& cb) 03524 : Ifmgr01CreateMacCB(cb) { } 03525 03526 }; 03527 03528 virtual void async_ifmgr_0_1_create_mac 03529 ( 03530 const string& ifname, 03531 const Mac& mac, 03532 Ifmgr01CreateMacCB); 03533 #endif 03534 03535 virtual XrlCmdError ifmgr_0_1_delete_mac( 03536 // Input values, 03537 const string& ifname, 03538 const Mac& mac) = 0; 03539 #ifdef XORP_ENABLE_ASYNC_SERVER 03540 typedef 03541 XorpCallback1<void, const XrlCmdError &>::RefPtr 03542 Ifmgr01DeleteMacRF; 03543 03544 class Ifmgr01DeleteMacCB { 03545 Ifmgr01DeleteMacRF cb; 03546 03547 public: 03548 operator const Ifmgr01DeleteMacRF& () const { return cb; } 03549 const Ifmgr01DeleteMacRF& operator ->() const { return cb; } 03550 Ifmgr01DeleteMacCB(const Ifmgr01DeleteMacRF& cb) 03551 : cb(cb) { } 03552 03553 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03554 03555 void respond() const { 03556 cb->dispatch(XrlCmdError::OKAY()); 03557 } 03558 }; 03559 03560 struct Ifmgr01DeleteMacRsp : 03561 public Ifmgr01DeleteMacCB { 03562 Ifmgr01DeleteMacRsp(const Ifmgr01DeleteMacRF& cb) 03563 : Ifmgr01DeleteMacCB(cb) { } 03564 03565 }; 03566 03567 virtual void async_ifmgr_0_1_delete_mac 03568 ( 03569 const string& ifname, 03570 const Mac& mac, 03571 Ifmgr01DeleteMacCB); 03572 #endif 03573 03574 virtual XrlCmdError ifmgr_0_1_restore_original_mac( 03575 // Input values, 03576 const uint32_t& tid, 03577 const string& ifname) = 0; 03578 #ifdef XORP_ENABLE_ASYNC_SERVER 03579 typedef 03580 XorpCallback1<void, const XrlCmdError &>::RefPtr 03581 Ifmgr01RestoreOriginalMacRF; 03582 03583 class Ifmgr01RestoreOriginalMacCB { 03584 Ifmgr01RestoreOriginalMacRF cb; 03585 03586 public: 03587 operator const Ifmgr01RestoreOriginalMacRF& () const { return cb; } 03588 const Ifmgr01RestoreOriginalMacRF& operator ->() const { return cb; } 03589 Ifmgr01RestoreOriginalMacCB(const Ifmgr01RestoreOriginalMacRF& cb) 03590 : cb(cb) { } 03591 03592 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03593 03594 void respond() const { 03595 cb->dispatch(XrlCmdError::OKAY()); 03596 } 03597 }; 03598 03599 struct Ifmgr01RestoreOriginalMacRsp : 03600 public Ifmgr01RestoreOriginalMacCB { 03601 Ifmgr01RestoreOriginalMacRsp(const Ifmgr01RestoreOriginalMacRF& cb) 03602 : Ifmgr01RestoreOriginalMacCB(cb) { } 03603 03604 }; 03605 03606 virtual void async_ifmgr_0_1_restore_original_mac 03607 ( 03608 const uint32_t& tid, 03609 const string& ifname, 03610 Ifmgr01RestoreOriginalMacCB); 03611 #endif 03612 03613 virtual XrlCmdError ifmgr_0_1_set_mtu( 03614 // Input values, 03615 const uint32_t& tid, 03616 const string& ifname, 03617 const uint32_t& mtu) = 0; 03618 #ifdef XORP_ENABLE_ASYNC_SERVER 03619 typedef 03620 XorpCallback1<void, const XrlCmdError &>::RefPtr 03621 Ifmgr01SetMtuRF; 03622 03623 class Ifmgr01SetMtuCB { 03624 Ifmgr01SetMtuRF cb; 03625 03626 public: 03627 operator const Ifmgr01SetMtuRF& () const { return cb; } 03628 const Ifmgr01SetMtuRF& operator ->() const { return cb; } 03629 Ifmgr01SetMtuCB(const Ifmgr01SetMtuRF& cb) 03630 : cb(cb) { } 03631 03632 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03633 03634 void respond() const { 03635 cb->dispatch(XrlCmdError::OKAY()); 03636 } 03637 }; 03638 03639 struct Ifmgr01SetMtuRsp : 03640 public Ifmgr01SetMtuCB { 03641 Ifmgr01SetMtuRsp(const Ifmgr01SetMtuRF& cb) 03642 : Ifmgr01SetMtuCB(cb) { } 03643 03644 }; 03645 03646 virtual void async_ifmgr_0_1_set_mtu 03647 ( 03648 const uint32_t& tid, 03649 const string& ifname, 03650 const uint32_t& mtu, 03651 Ifmgr01SetMtuCB); 03652 #endif 03653 03654 virtual XrlCmdError ifmgr_0_1_restore_original_mtu( 03655 // Input values, 03656 const uint32_t& tid, 03657 const string& ifname) = 0; 03658 #ifdef XORP_ENABLE_ASYNC_SERVER 03659 typedef 03660 XorpCallback1<void, const XrlCmdError &>::RefPtr 03661 Ifmgr01RestoreOriginalMtuRF; 03662 03663 class Ifmgr01RestoreOriginalMtuCB { 03664 Ifmgr01RestoreOriginalMtuRF cb; 03665 03666 public: 03667 operator const Ifmgr01RestoreOriginalMtuRF& () const { return cb; } 03668 const Ifmgr01RestoreOriginalMtuRF& operator ->() const { return cb; } 03669 Ifmgr01RestoreOriginalMtuCB(const Ifmgr01RestoreOriginalMtuRF& cb) 03670 : cb(cb) { } 03671 03672 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03673 03674 void respond() const { 03675 cb->dispatch(XrlCmdError::OKAY()); 03676 } 03677 }; 03678 03679 struct Ifmgr01RestoreOriginalMtuRsp : 03680 public Ifmgr01RestoreOriginalMtuCB { 03681 Ifmgr01RestoreOriginalMtuRsp(const Ifmgr01RestoreOriginalMtuRF& cb) 03682 : Ifmgr01RestoreOriginalMtuCB(cb) { } 03683 03684 }; 03685 03686 virtual void async_ifmgr_0_1_restore_original_mtu 03687 ( 03688 const uint32_t& tid, 03689 const string& ifname, 03690 Ifmgr01RestoreOriginalMtuCB); 03691 #endif 03692 03704 virtual XrlCmdError ifmgr_0_1_create_vif( 03705 // Input values, 03706 const uint32_t& tid, 03707 const string& ifname, 03708 const string& vif) = 0; 03709 #ifdef XORP_ENABLE_ASYNC_SERVER 03710 typedef 03711 XorpCallback1<void, const XrlCmdError &>::RefPtr 03712 Ifmgr01CreateVifRF; 03713 03714 class Ifmgr01CreateVifCB { 03715 Ifmgr01CreateVifRF cb; 03716 03717 public: 03718 operator const Ifmgr01CreateVifRF& () const { return cb; } 03719 const Ifmgr01CreateVifRF& operator ->() const { return cb; } 03720 Ifmgr01CreateVifCB(const Ifmgr01CreateVifRF& cb) 03721 : cb(cb) { } 03722 03723 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03724 03725 void respond() const { 03726 cb->dispatch(XrlCmdError::OKAY()); 03727 } 03728 }; 03729 03730 struct Ifmgr01CreateVifRsp : 03731 public Ifmgr01CreateVifCB { 03732 Ifmgr01CreateVifRsp(const Ifmgr01CreateVifRF& cb) 03733 : Ifmgr01CreateVifCB(cb) { } 03734 03735 }; 03736 03737 virtual void async_ifmgr_0_1_create_vif 03738 ( 03739 const uint32_t& tid, 03740 const string& ifname, 03741 const string& vif, 03742 Ifmgr01CreateVifCB); 03743 #endif 03744 03745 virtual XrlCmdError ifmgr_0_1_delete_vif( 03746 // Input values, 03747 const uint32_t& tid, 03748 const string& ifname, 03749 const string& vif) = 0; 03750 #ifdef XORP_ENABLE_ASYNC_SERVER 03751 typedef 03752 XorpCallback1<void, const XrlCmdError &>::RefPtr 03753 Ifmgr01DeleteVifRF; 03754 03755 class Ifmgr01DeleteVifCB { 03756 Ifmgr01DeleteVifRF cb; 03757 03758 public: 03759 operator const Ifmgr01DeleteVifRF& () const { return cb; } 03760 const Ifmgr01DeleteVifRF& operator ->() const { return cb; } 03761 Ifmgr01DeleteVifCB(const Ifmgr01DeleteVifRF& cb) 03762 : cb(cb) { } 03763 03764 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03765 03766 void respond() const { 03767 cb->dispatch(XrlCmdError::OKAY()); 03768 } 03769 }; 03770 03771 struct Ifmgr01DeleteVifRsp : 03772 public Ifmgr01DeleteVifCB { 03773 Ifmgr01DeleteVifRsp(const Ifmgr01DeleteVifRF& cb) 03774 : Ifmgr01DeleteVifCB(cb) { } 03775 03776 }; 03777 03778 virtual void async_ifmgr_0_1_delete_vif 03779 ( 03780 const uint32_t& tid, 03781 const string& ifname, 03782 const string& vif, 03783 Ifmgr01DeleteVifCB); 03784 #endif 03785 03786 virtual XrlCmdError ifmgr_0_1_set_vif_enabled( 03787 // Input values, 03788 const uint32_t& tid, 03789 const string& ifname, 03790 const string& vif, 03791 const bool& enabled) = 0; 03792 #ifdef XORP_ENABLE_ASYNC_SERVER 03793 typedef 03794 XorpCallback1<void, const XrlCmdError &>::RefPtr 03795 Ifmgr01SetVifEnabledRF; 03796 03797 class Ifmgr01SetVifEnabledCB { 03798 Ifmgr01SetVifEnabledRF cb; 03799 03800 public: 03801 operator const Ifmgr01SetVifEnabledRF& () const { return cb; } 03802 const Ifmgr01SetVifEnabledRF& operator ->() const { return cb; } 03803 Ifmgr01SetVifEnabledCB(const Ifmgr01SetVifEnabledRF& cb) 03804 : cb(cb) { } 03805 03806 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03807 03808 void respond() const { 03809 cb->dispatch(XrlCmdError::OKAY()); 03810 } 03811 }; 03812 03813 struct Ifmgr01SetVifEnabledRsp : 03814 public Ifmgr01SetVifEnabledCB { 03815 Ifmgr01SetVifEnabledRsp(const Ifmgr01SetVifEnabledRF& cb) 03816 : Ifmgr01SetVifEnabledCB(cb) { } 03817 03818 }; 03819 03820 virtual void async_ifmgr_0_1_set_vif_enabled 03821 ( 03822 const uint32_t& tid, 03823 const string& ifname, 03824 const string& vif, 03825 const bool& enabled, 03826 Ifmgr01SetVifEnabledCB); 03827 #endif 03828 03829 virtual XrlCmdError ifmgr_0_1_set_parent_ifname( 03830 // Input values, 03831 const uint32_t& tid, 03832 const string& ifname, 03833 const string& parent_ifname) = 0; 03834 #ifdef XORP_ENABLE_ASYNC_SERVER 03835 typedef 03836 XorpCallback1<void, const XrlCmdError &>::RefPtr 03837 Ifmgr01SetParentIfnameRF; 03838 03839 class Ifmgr01SetParentIfnameCB { 03840 Ifmgr01SetParentIfnameRF cb; 03841 03842 public: 03843 operator const Ifmgr01SetParentIfnameRF& () const { return cb; } 03844 const Ifmgr01SetParentIfnameRF& operator ->() const { return cb; } 03845 Ifmgr01SetParentIfnameCB(const Ifmgr01SetParentIfnameRF& cb) 03846 : cb(cb) { } 03847 03848 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03849 03850 void respond() const { 03851 cb->dispatch(XrlCmdError::OKAY()); 03852 } 03853 }; 03854 03855 struct Ifmgr01SetParentIfnameRsp : 03856 public Ifmgr01SetParentIfnameCB { 03857 Ifmgr01SetParentIfnameRsp(const Ifmgr01SetParentIfnameRF& cb) 03858 : Ifmgr01SetParentIfnameCB(cb) { } 03859 03860 }; 03861 03862 virtual void async_ifmgr_0_1_set_parent_ifname 03863 ( 03864 const uint32_t& tid, 03865 const string& ifname, 03866 const string& parent_ifname, 03867 Ifmgr01SetParentIfnameCB); 03868 #endif 03869 03870 virtual XrlCmdError ifmgr_0_1_set_iface_type( 03871 // Input values, 03872 const uint32_t& tid, 03873 const string& ifname, 03874 const string& iface_type) = 0; 03875 #ifdef XORP_ENABLE_ASYNC_SERVER 03876 typedef 03877 XorpCallback1<void, const XrlCmdError &>::RefPtr 03878 Ifmgr01SetIfaceTypeRF; 03879 03880 class Ifmgr01SetIfaceTypeCB { 03881 Ifmgr01SetIfaceTypeRF cb; 03882 03883 public: 03884 operator const Ifmgr01SetIfaceTypeRF& () const { return cb; } 03885 const Ifmgr01SetIfaceTypeRF& operator ->() const { return cb; } 03886 Ifmgr01SetIfaceTypeCB(const Ifmgr01SetIfaceTypeRF& cb) 03887 : cb(cb) { } 03888 03889 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03890 03891 void respond() const { 03892 cb->dispatch(XrlCmdError::OKAY()); 03893 } 03894 }; 03895 03896 struct Ifmgr01SetIfaceTypeRsp : 03897 public Ifmgr01SetIfaceTypeCB { 03898 Ifmgr01SetIfaceTypeRsp(const Ifmgr01SetIfaceTypeRF& cb) 03899 : Ifmgr01SetIfaceTypeCB(cb) { } 03900 03901 }; 03902 03903 virtual void async_ifmgr_0_1_set_iface_type 03904 ( 03905 const uint32_t& tid, 03906 const string& ifname, 03907 const string& iface_type, 03908 Ifmgr01SetIfaceTypeCB); 03909 #endif 03910 03911 virtual XrlCmdError ifmgr_0_1_set_vid( 03912 // Input values, 03913 const uint32_t& tid, 03914 const string& ifname, 03915 const string& vid) = 0; 03916 #ifdef XORP_ENABLE_ASYNC_SERVER 03917 typedef 03918 XorpCallback1<void, const XrlCmdError &>::RefPtr 03919 Ifmgr01SetVidRF; 03920 03921 class Ifmgr01SetVidCB { 03922 Ifmgr01SetVidRF cb; 03923 03924 public: 03925 operator const Ifmgr01SetVidRF& () const { return cb; } 03926 const Ifmgr01SetVidRF& operator ->() const { return cb; } 03927 Ifmgr01SetVidCB(const Ifmgr01SetVidRF& cb) 03928 : cb(cb) { } 03929 03930 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03931 03932 void respond() const { 03933 cb->dispatch(XrlCmdError::OKAY()); 03934 } 03935 }; 03936 03937 struct Ifmgr01SetVidRsp : 03938 public Ifmgr01SetVidCB { 03939 Ifmgr01SetVidRsp(const Ifmgr01SetVidRF& cb) 03940 : Ifmgr01SetVidCB(cb) { } 03941 03942 }; 03943 03944 virtual void async_ifmgr_0_1_set_vid 03945 ( 03946 const uint32_t& tid, 03947 const string& ifname, 03948 const string& vid, 03949 Ifmgr01SetVidCB); 03950 #endif 03951 03952 virtual XrlCmdError ifmgr_0_1_create_address4( 03953 // Input values, 03954 const uint32_t& tid, 03955 const string& ifname, 03956 const string& vif, 03957 const IPv4& address) = 0; 03958 #ifdef XORP_ENABLE_ASYNC_SERVER 03959 typedef 03960 XorpCallback1<void, const XrlCmdError &>::RefPtr 03961 Ifmgr01CreateAddress4RF; 03962 03963 class Ifmgr01CreateAddress4CB { 03964 Ifmgr01CreateAddress4RF cb; 03965 03966 public: 03967 operator const Ifmgr01CreateAddress4RF& () const { return cb; } 03968 const Ifmgr01CreateAddress4RF& operator ->() const { return cb; } 03969 Ifmgr01CreateAddress4CB(const Ifmgr01CreateAddress4RF& cb) 03970 : cb(cb) { } 03971 03972 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 03973 03974 void respond() const { 03975 cb->dispatch(XrlCmdError::OKAY()); 03976 } 03977 }; 03978 03979 struct Ifmgr01CreateAddress4Rsp : 03980 public Ifmgr01CreateAddress4CB { 03981 Ifmgr01CreateAddress4Rsp(const Ifmgr01CreateAddress4RF& cb) 03982 : Ifmgr01CreateAddress4CB(cb) { } 03983 03984 }; 03985 03986 virtual void async_ifmgr_0_1_create_address4 03987 ( 03988 const uint32_t& tid, 03989 const string& ifname, 03990 const string& vif, 03991 const IPv4& address, 03992 Ifmgr01CreateAddress4CB); 03993 #endif 03994 03995 virtual XrlCmdError ifmgr_0_1_delete_address4( 03996 // Input values, 03997 const uint32_t& tid, 03998 const string& ifname, 03999 const string& vif, 04000 const IPv4& address) = 0; 04001 #ifdef XORP_ENABLE_ASYNC_SERVER 04002 typedef 04003 XorpCallback1<void, const XrlCmdError &>::RefPtr 04004 Ifmgr01DeleteAddress4RF; 04005 04006 class Ifmgr01DeleteAddress4CB { 04007 Ifmgr01DeleteAddress4RF cb; 04008 04009 public: 04010 operator const Ifmgr01DeleteAddress4RF& () const { return cb; } 04011 const Ifmgr01DeleteAddress4RF& operator ->() const { return cb; } 04012 Ifmgr01DeleteAddress4CB(const Ifmgr01DeleteAddress4RF& cb) 04013 : cb(cb) { } 04014 04015 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04016 04017 void respond() const { 04018 cb->dispatch(XrlCmdError::OKAY()); 04019 } 04020 }; 04021 04022 struct Ifmgr01DeleteAddress4Rsp : 04023 public Ifmgr01DeleteAddress4CB { 04024 Ifmgr01DeleteAddress4Rsp(const Ifmgr01DeleteAddress4RF& cb) 04025 : Ifmgr01DeleteAddress4CB(cb) { } 04026 04027 }; 04028 04029 virtual void async_ifmgr_0_1_delete_address4 04030 ( 04031 const uint32_t& tid, 04032 const string& ifname, 04033 const string& vif, 04034 const IPv4& address, 04035 Ifmgr01DeleteAddress4CB); 04036 #endif 04037 04038 virtual XrlCmdError ifmgr_0_1_create_address_atomic( 04039 // Input values, 04040 const string& ifname, 04041 const string& vif, 04042 const IPv4& address, 04043 const uint32_t& prefix_length) = 0; 04044 #ifdef XORP_ENABLE_ASYNC_SERVER 04045 typedef 04046 XorpCallback1<void, const XrlCmdError &>::RefPtr 04047 Ifmgr01CreateAddressAtomicRF; 04048 04049 class Ifmgr01CreateAddressAtomicCB { 04050 Ifmgr01CreateAddressAtomicRF cb; 04051 04052 public: 04053 operator const Ifmgr01CreateAddressAtomicRF& () const { return cb; } 04054 const Ifmgr01CreateAddressAtomicRF& operator ->() const { return cb; } 04055 Ifmgr01CreateAddressAtomicCB(const Ifmgr01CreateAddressAtomicRF& cb) 04056 : cb(cb) { } 04057 04058 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04059 04060 void respond() const { 04061 cb->dispatch(XrlCmdError::OKAY()); 04062 } 04063 }; 04064 04065 struct Ifmgr01CreateAddressAtomicRsp : 04066 public Ifmgr01CreateAddressAtomicCB { 04067 Ifmgr01CreateAddressAtomicRsp(const Ifmgr01CreateAddressAtomicRF& cb) 04068 : Ifmgr01CreateAddressAtomicCB(cb) { } 04069 04070 }; 04071 04072 virtual void async_ifmgr_0_1_create_address_atomic 04073 ( 04074 const string& ifname, 04075 const string& vif, 04076 const IPv4& address, 04077 const uint32_t& prefix_length, 04078 Ifmgr01CreateAddressAtomicCB); 04079 #endif 04080 04081 virtual XrlCmdError ifmgr_0_1_delete_address_atomic( 04082 // Input values, 04083 const string& ifname, 04084 const string& vif, 04085 const IPv4& address) = 0; 04086 #ifdef XORP_ENABLE_ASYNC_SERVER 04087 typedef 04088 XorpCallback1<void, const XrlCmdError &>::RefPtr 04089 Ifmgr01DeleteAddressAtomicRF; 04090 04091 class Ifmgr01DeleteAddressAtomicCB { 04092 Ifmgr01DeleteAddressAtomicRF cb; 04093 04094 public: 04095 operator const Ifmgr01DeleteAddressAtomicRF& () const { return cb; } 04096 const Ifmgr01DeleteAddressAtomicRF& operator ->() const { return cb; } 04097 Ifmgr01DeleteAddressAtomicCB(const Ifmgr01DeleteAddressAtomicRF& cb) 04098 : cb(cb) { } 04099 04100 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04101 04102 void respond() const { 04103 cb->dispatch(XrlCmdError::OKAY()); 04104 } 04105 }; 04106 04107 struct Ifmgr01DeleteAddressAtomicRsp : 04108 public Ifmgr01DeleteAddressAtomicCB { 04109 Ifmgr01DeleteAddressAtomicRsp(const Ifmgr01DeleteAddressAtomicRF& cb) 04110 : Ifmgr01DeleteAddressAtomicCB(cb) { } 04111 04112 }; 04113 04114 virtual void async_ifmgr_0_1_delete_address_atomic 04115 ( 04116 const string& ifname, 04117 const string& vif, 04118 const IPv4& address, 04119 Ifmgr01DeleteAddressAtomicCB); 04120 #endif 04121 04122 virtual XrlCmdError ifmgr_0_1_set_address_enabled4( 04123 // Input values, 04124 const uint32_t& tid, 04125 const string& ifname, 04126 const string& vif, 04127 const IPv4& address, 04128 const bool& enabled) = 0; 04129 #ifdef XORP_ENABLE_ASYNC_SERVER 04130 typedef 04131 XorpCallback1<void, const XrlCmdError &>::RefPtr 04132 Ifmgr01SetAddressEnabled4RF; 04133 04134 class Ifmgr01SetAddressEnabled4CB { 04135 Ifmgr01SetAddressEnabled4RF cb; 04136 04137 public: 04138 operator const Ifmgr01SetAddressEnabled4RF& () const { return cb; } 04139 const Ifmgr01SetAddressEnabled4RF& operator ->() const { return cb; } 04140 Ifmgr01SetAddressEnabled4CB(const Ifmgr01SetAddressEnabled4RF& cb) 04141 : cb(cb) { } 04142 04143 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04144 04145 void respond() const { 04146 cb->dispatch(XrlCmdError::OKAY()); 04147 } 04148 }; 04149 04150 struct Ifmgr01SetAddressEnabled4Rsp : 04151 public Ifmgr01SetAddressEnabled4CB { 04152 Ifmgr01SetAddressEnabled4Rsp(const Ifmgr01SetAddressEnabled4RF& cb) 04153 : Ifmgr01SetAddressEnabled4CB(cb) { } 04154 04155 }; 04156 04157 virtual void async_ifmgr_0_1_set_address_enabled4 04158 ( 04159 const uint32_t& tid, 04160 const string& ifname, 04161 const string& vif, 04162 const IPv4& address, 04163 const bool& enabled, 04164 Ifmgr01SetAddressEnabled4CB); 04165 #endif 04166 04167 virtual XrlCmdError ifmgr_0_1_get_configured_address_enabled4( 04168 // Input values, 04169 const string& ifname, 04170 const string& vif, 04171 const IPv4& address, 04172 // Output values, 04173 bool& enabled) = 0; 04174 #ifdef XORP_ENABLE_ASYNC_SERVER 04175 typedef 04176 XorpCallback2<void, const XrlCmdError &, 04177 const bool*>::RefPtr 04178 Ifmgr01GetConfiguredAddressEnabled4RF; 04179 04180 class Ifmgr01GetConfiguredAddressEnabled4CB { 04181 Ifmgr01GetConfiguredAddressEnabled4RF cb; 04182 04183 public: 04184 operator const Ifmgr01GetConfiguredAddressEnabled4RF& () const { return cb; } 04185 const Ifmgr01GetConfiguredAddressEnabled4RF& operator ->() const { return cb; } 04186 Ifmgr01GetConfiguredAddressEnabled4CB(const Ifmgr01GetConfiguredAddressEnabled4RF& cb) 04187 : cb(cb) { } 04188 04189 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 04190 04191 void respond(const bool& arg_enabled) const { 04192 cb->dispatch(XrlCmdError::OKAY(), 04193 &arg_enabled); 04194 } 04195 }; 04196 04197 struct Ifmgr01GetConfiguredAddressEnabled4Rsp : 04198 public Ifmgr01GetConfiguredAddressEnabled4CB { 04199 struct args_str { 04200 bool enabled; 04201 }; 04202 04203 private: 04204 args_str args; 04205 04206 public: 04207 Ifmgr01GetConfiguredAddressEnabled4Rsp(const Ifmgr01GetConfiguredAddressEnabled4RF& cb) 04208 : Ifmgr01GetConfiguredAddressEnabled4CB(cb) { } 04209 04210 void respond() const { 04211 Ifmgr01GetConfiguredAddressEnabled4CB:: 04212 respond(args.enabled); 04213 } 04214 04215 args_str* operator ->() { 04216 return &args; 04217 } 04218 }; 04219 04220 virtual void async_ifmgr_0_1_get_configured_address_enabled4 04221 ( 04222 const string& ifname, 04223 const string& vif, 04224 const IPv4& address, 04225 Ifmgr01GetConfiguredAddressEnabled4CB); 04226 #endif 04227 04228 virtual XrlCmdError ifmgr_0_1_set_prefix4( 04229 // Input values, 04230 const uint32_t& tid, 04231 const string& ifname, 04232 const string& vif, 04233 const IPv4& address, 04234 const uint32_t& prefix_len) = 0; 04235 #ifdef XORP_ENABLE_ASYNC_SERVER 04236 typedef 04237 XorpCallback1<void, const XrlCmdError &>::RefPtr 04238 Ifmgr01SetPrefix4RF; 04239 04240 class Ifmgr01SetPrefix4CB { 04241 Ifmgr01SetPrefix4RF cb; 04242 04243 public: 04244 operator const Ifmgr01SetPrefix4RF& () const { return cb; } 04245 const Ifmgr01SetPrefix4RF& operator ->() const { return cb; } 04246 Ifmgr01SetPrefix4CB(const Ifmgr01SetPrefix4RF& cb) 04247 : cb(cb) { } 04248 04249 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04250 04251 void respond() const { 04252 cb->dispatch(XrlCmdError::OKAY()); 04253 } 04254 }; 04255 04256 struct Ifmgr01SetPrefix4Rsp : 04257 public Ifmgr01SetPrefix4CB { 04258 Ifmgr01SetPrefix4Rsp(const Ifmgr01SetPrefix4RF& cb) 04259 : Ifmgr01SetPrefix4CB(cb) { } 04260 04261 }; 04262 04263 virtual void async_ifmgr_0_1_set_prefix4 04264 ( 04265 const uint32_t& tid, 04266 const string& ifname, 04267 const string& vif, 04268 const IPv4& address, 04269 const uint32_t& prefix_len, 04270 Ifmgr01SetPrefix4CB); 04271 #endif 04272 04273 virtual XrlCmdError ifmgr_0_1_set_broadcast4( 04274 // Input values, 04275 const uint32_t& tid, 04276 const string& ifname, 04277 const string& vif, 04278 const IPv4& address, 04279 const IPv4& broadcast) = 0; 04280 #ifdef XORP_ENABLE_ASYNC_SERVER 04281 typedef 04282 XorpCallback1<void, const XrlCmdError &>::RefPtr 04283 Ifmgr01SetBroadcast4RF; 04284 04285 class Ifmgr01SetBroadcast4CB { 04286 Ifmgr01SetBroadcast4RF cb; 04287 04288 public: 04289 operator const Ifmgr01SetBroadcast4RF& () const { return cb; } 04290 const Ifmgr01SetBroadcast4RF& operator ->() const { return cb; } 04291 Ifmgr01SetBroadcast4CB(const Ifmgr01SetBroadcast4RF& cb) 04292 : cb(cb) { } 04293 04294 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04295 04296 void respond() const { 04297 cb->dispatch(XrlCmdError::OKAY()); 04298 } 04299 }; 04300 04301 struct Ifmgr01SetBroadcast4Rsp : 04302 public Ifmgr01SetBroadcast4CB { 04303 Ifmgr01SetBroadcast4Rsp(const Ifmgr01SetBroadcast4RF& cb) 04304 : Ifmgr01SetBroadcast4CB(cb) { } 04305 04306 }; 04307 04308 virtual void async_ifmgr_0_1_set_broadcast4 04309 ( 04310 const uint32_t& tid, 04311 const string& ifname, 04312 const string& vif, 04313 const IPv4& address, 04314 const IPv4& broadcast, 04315 Ifmgr01SetBroadcast4CB); 04316 #endif 04317 04318 virtual XrlCmdError ifmgr_0_1_set_endpoint4( 04319 // Input values, 04320 const uint32_t& tid, 04321 const string& ifname, 04322 const string& vif, 04323 const IPv4& address, 04324 const IPv4& endpoint) = 0; 04325 #ifdef XORP_ENABLE_ASYNC_SERVER 04326 typedef 04327 XorpCallback1<void, const XrlCmdError &>::RefPtr 04328 Ifmgr01SetEndpoint4RF; 04329 04330 class Ifmgr01SetEndpoint4CB { 04331 Ifmgr01SetEndpoint4RF cb; 04332 04333 public: 04334 operator const Ifmgr01SetEndpoint4RF& () const { return cb; } 04335 const Ifmgr01SetEndpoint4RF& operator ->() const { return cb; } 04336 Ifmgr01SetEndpoint4CB(const Ifmgr01SetEndpoint4RF& cb) 04337 : cb(cb) { } 04338 04339 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04340 04341 void respond() const { 04342 cb->dispatch(XrlCmdError::OKAY()); 04343 } 04344 }; 04345 04346 struct Ifmgr01SetEndpoint4Rsp : 04347 public Ifmgr01SetEndpoint4CB { 04348 Ifmgr01SetEndpoint4Rsp(const Ifmgr01SetEndpoint4RF& cb) 04349 : Ifmgr01SetEndpoint4CB(cb) { } 04350 04351 }; 04352 04353 virtual void async_ifmgr_0_1_set_endpoint4 04354 ( 04355 const uint32_t& tid, 04356 const string& ifname, 04357 const string& vif, 04358 const IPv4& address, 04359 const IPv4& endpoint, 04360 Ifmgr01SetEndpoint4CB); 04361 #endif 04362 04363 virtual XrlCmdError ifmgr_0_1_startup_ifmgr() = 0; 04364 #ifdef XORP_ENABLE_ASYNC_SERVER 04365 typedef 04366 XorpCallback1<void, const XrlCmdError &>::RefPtr 04367 Ifmgr01StartupIfmgrRF; 04368 04369 class Ifmgr01StartupIfmgrCB { 04370 Ifmgr01StartupIfmgrRF cb; 04371 04372 public: 04373 operator const Ifmgr01StartupIfmgrRF& () const { return cb; } 04374 const Ifmgr01StartupIfmgrRF& operator ->() const { return cb; } 04375 Ifmgr01StartupIfmgrCB(const Ifmgr01StartupIfmgrRF& cb) 04376 : cb(cb) { } 04377 04378 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04379 04380 void respond() const { 04381 cb->dispatch(XrlCmdError::OKAY()); 04382 } 04383 }; 04384 04385 struct Ifmgr01StartupIfmgrRsp : 04386 public Ifmgr01StartupIfmgrCB { 04387 Ifmgr01StartupIfmgrRsp(const Ifmgr01StartupIfmgrRF& cb) 04388 : Ifmgr01StartupIfmgrCB(cb) { } 04389 04390 }; 04391 04392 virtual void async_ifmgr_0_1_startup_ifmgr 04393 ( 04394 Ifmgr01StartupIfmgrCB); 04395 #endif 04396 04397 virtual XrlCmdError ifmgr_0_1_get_configured_vif_addresses6( 04398 // Input values, 04399 const string& ifname, 04400 const string& vif, 04401 // Output values, 04402 XrlAtomList& addresses) = 0; 04403 #ifdef XORP_ENABLE_ASYNC_SERVER 04404 typedef 04405 XorpCallback2<void, const XrlCmdError &, 04406 const XrlAtomList*>::RefPtr 04407 Ifmgr01GetConfiguredVifAddresses6RF; 04408 04409 class Ifmgr01GetConfiguredVifAddresses6CB { 04410 Ifmgr01GetConfiguredVifAddresses6RF cb; 04411 04412 public: 04413 operator const Ifmgr01GetConfiguredVifAddresses6RF& () const { return cb; } 04414 const Ifmgr01GetConfiguredVifAddresses6RF& operator ->() const { return cb; } 04415 Ifmgr01GetConfiguredVifAddresses6CB(const Ifmgr01GetConfiguredVifAddresses6RF& cb) 04416 : cb(cb) { } 04417 04418 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 04419 04420 void respond(const XrlAtomList& arg_addresses) const { 04421 cb->dispatch(XrlCmdError::OKAY(), 04422 &arg_addresses); 04423 } 04424 }; 04425 04426 struct Ifmgr01GetConfiguredVifAddresses6Rsp : 04427 public Ifmgr01GetConfiguredVifAddresses6CB { 04428 struct args_str { 04429 XrlAtomList addresses; 04430 }; 04431 04432 private: 04433 args_str args; 04434 04435 public: 04436 Ifmgr01GetConfiguredVifAddresses6Rsp(const Ifmgr01GetConfiguredVifAddresses6RF& cb) 04437 : Ifmgr01GetConfiguredVifAddresses6CB(cb) { } 04438 04439 void respond() const { 04440 Ifmgr01GetConfiguredVifAddresses6CB:: 04441 respond(args.addresses); 04442 } 04443 04444 args_str* operator ->() { 04445 return &args; 04446 } 04447 }; 04448 04449 virtual void async_ifmgr_0_1_get_configured_vif_addresses6 04450 ( 04451 const string& ifname, 04452 const string& vif, 04453 Ifmgr01GetConfiguredVifAddresses6CB); 04454 #endif 04455 04456 virtual XrlCmdError ifmgr_0_1_get_configured_address_flags6( 04457 // Input values, 04458 const string& ifname, 04459 const string& vif, 04460 const IPv6& address, 04461 // Output values, 04462 bool& enabled, 04463 bool& loopback, 04464 bool& point_to_point, 04465 bool& multicast) = 0; 04466 #ifdef XORP_ENABLE_ASYNC_SERVER 04467 typedef 04468 XorpCallback5<void, const XrlCmdError &, 04469 const bool*, 04470 const bool*, 04471 const bool*, 04472 const bool*>::RefPtr 04473 Ifmgr01GetConfiguredAddressFlags6RF; 04474 04475 class Ifmgr01GetConfiguredAddressFlags6CB { 04476 Ifmgr01GetConfiguredAddressFlags6RF cb; 04477 04478 public: 04479 operator const Ifmgr01GetConfiguredAddressFlags6RF& () const { return cb; } 04480 const Ifmgr01GetConfiguredAddressFlags6RF& operator ->() const { return cb; } 04481 Ifmgr01GetConfiguredAddressFlags6CB(const Ifmgr01GetConfiguredAddressFlags6RF& cb) 04482 : cb(cb) { } 04483 04484 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL); } 04485 04486 void respond(const bool& arg_enabled, 04487 const bool& arg_loopback, 04488 const bool& arg_point_to_point, 04489 const bool& arg_multicast) const { 04490 cb->dispatch(XrlCmdError::OKAY(), 04491 &arg_enabled, 04492 &arg_loopback, 04493 &arg_point_to_point, 04494 &arg_multicast); 04495 } 04496 }; 04497 04498 struct Ifmgr01GetConfiguredAddressFlags6Rsp : 04499 public Ifmgr01GetConfiguredAddressFlags6CB { 04500 struct args_str { 04501 bool enabled; 04502 bool loopback; 04503 bool point_to_point; 04504 bool multicast; 04505 }; 04506 04507 private: 04508 args_str args; 04509 04510 public: 04511 Ifmgr01GetConfiguredAddressFlags6Rsp(const Ifmgr01GetConfiguredAddressFlags6RF& cb) 04512 : Ifmgr01GetConfiguredAddressFlags6CB(cb) { } 04513 04514 void respond() const { 04515 Ifmgr01GetConfiguredAddressFlags6CB:: 04516 respond(args.enabled, 04517 args.loopback, 04518 args.point_to_point, 04519 args.multicast); 04520 } 04521 04522 args_str* operator ->() { 04523 return &args; 04524 } 04525 }; 04526 04527 virtual void async_ifmgr_0_1_get_configured_address_flags6 04528 ( 04529 const string& ifname, 04530 const string& vif, 04531 const IPv6& address, 04532 Ifmgr01GetConfiguredAddressFlags6CB); 04533 #endif 04534 04535 virtual XrlCmdError ifmgr_0_1_get_configured_prefix6( 04536 // Input values, 04537 const string& ifname, 04538 const string& vif, 04539 const IPv6& address, 04540 // Output values, 04541 uint32_t& prefix_len) = 0; 04542 #ifdef XORP_ENABLE_ASYNC_SERVER 04543 typedef 04544 XorpCallback2<void, const XrlCmdError &, 04545 const uint32_t*>::RefPtr 04546 Ifmgr01GetConfiguredPrefix6RF; 04547 04548 class Ifmgr01GetConfiguredPrefix6CB { 04549 Ifmgr01GetConfiguredPrefix6RF cb; 04550 04551 public: 04552 operator const Ifmgr01GetConfiguredPrefix6RF& () const { return cb; } 04553 const Ifmgr01GetConfiguredPrefix6RF& operator ->() const { return cb; } 04554 Ifmgr01GetConfiguredPrefix6CB(const Ifmgr01GetConfiguredPrefix6RF& cb) 04555 : cb(cb) { } 04556 04557 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 04558 04559 void respond(const uint32_t& arg_prefix_len) const { 04560 cb->dispatch(XrlCmdError::OKAY(), 04561 &arg_prefix_len); 04562 } 04563 }; 04564 04565 struct Ifmgr01GetConfiguredPrefix6Rsp : 04566 public Ifmgr01GetConfiguredPrefix6CB { 04567 struct args_str { 04568 uint32_t prefix_len; 04569 }; 04570 04571 private: 04572 args_str args; 04573 04574 public: 04575 Ifmgr01GetConfiguredPrefix6Rsp(const Ifmgr01GetConfiguredPrefix6RF& cb) 04576 : Ifmgr01GetConfiguredPrefix6CB(cb) { } 04577 04578 void respond() const { 04579 Ifmgr01GetConfiguredPrefix6CB:: 04580 respond(args.prefix_len); 04581 } 04582 04583 args_str* operator ->() { 04584 return &args; 04585 } 04586 }; 04587 04588 virtual void async_ifmgr_0_1_get_configured_prefix6 04589 ( 04590 const string& ifname, 04591 const string& vif, 04592 const IPv6& address, 04593 Ifmgr01GetConfiguredPrefix6CB); 04594 #endif 04595 04596 virtual XrlCmdError ifmgr_0_1_get_configured_endpoint6( 04597 // Input values, 04598 const string& ifname, 04599 const string& vif, 04600 const IPv6& address, 04601 // Output values, 04602 IPv6& endpoint) = 0; 04603 #ifdef XORP_ENABLE_ASYNC_SERVER 04604 typedef 04605 XorpCallback2<void, const XrlCmdError &, 04606 const IPv6*>::RefPtr 04607 Ifmgr01GetConfiguredEndpoint6RF; 04608 04609 class Ifmgr01GetConfiguredEndpoint6CB { 04610 Ifmgr01GetConfiguredEndpoint6RF cb; 04611 04612 public: 04613 operator const Ifmgr01GetConfiguredEndpoint6RF& () const { return cb; } 04614 const Ifmgr01GetConfiguredEndpoint6RF& operator ->() const { return cb; } 04615 Ifmgr01GetConfiguredEndpoint6CB(const Ifmgr01GetConfiguredEndpoint6RF& cb) 04616 : cb(cb) { } 04617 04618 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 04619 04620 void respond(const IPv6& arg_endpoint) const { 04621 cb->dispatch(XrlCmdError::OKAY(), 04622 &arg_endpoint); 04623 } 04624 }; 04625 04626 struct Ifmgr01GetConfiguredEndpoint6Rsp : 04627 public Ifmgr01GetConfiguredEndpoint6CB { 04628 struct args_str { 04629 IPv6 endpoint; 04630 }; 04631 04632 private: 04633 args_str args; 04634 04635 public: 04636 Ifmgr01GetConfiguredEndpoint6Rsp(const Ifmgr01GetConfiguredEndpoint6RF& cb) 04637 : Ifmgr01GetConfiguredEndpoint6CB(cb) { } 04638 04639 void respond() const { 04640 Ifmgr01GetConfiguredEndpoint6CB:: 04641 respond(args.endpoint); 04642 } 04643 04644 args_str* operator ->() { 04645 return &args; 04646 } 04647 }; 04648 04649 virtual void async_ifmgr_0_1_get_configured_endpoint6 04650 ( 04651 const string& ifname, 04652 const string& vif, 04653 const IPv6& address, 04654 Ifmgr01GetConfiguredEndpoint6CB); 04655 #endif 04656 04657 virtual XrlCmdError ifmgr_0_1_create_address6( 04658 // Input values, 04659 const uint32_t& tid, 04660 const string& ifname, 04661 const string& vif, 04662 const IPv6& address) = 0; 04663 #ifdef XORP_ENABLE_ASYNC_SERVER 04664 typedef 04665 XorpCallback1<void, const XrlCmdError &>::RefPtr 04666 Ifmgr01CreateAddress6RF; 04667 04668 class Ifmgr01CreateAddress6CB { 04669 Ifmgr01CreateAddress6RF cb; 04670 04671 public: 04672 operator const Ifmgr01CreateAddress6RF& () const { return cb; } 04673 const Ifmgr01CreateAddress6RF& operator ->() const { return cb; } 04674 Ifmgr01CreateAddress6CB(const Ifmgr01CreateAddress6RF& cb) 04675 : cb(cb) { } 04676 04677 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04678 04679 void respond() const { 04680 cb->dispatch(XrlCmdError::OKAY()); 04681 } 04682 }; 04683 04684 struct Ifmgr01CreateAddress6Rsp : 04685 public Ifmgr01CreateAddress6CB { 04686 Ifmgr01CreateAddress6Rsp(const Ifmgr01CreateAddress6RF& cb) 04687 : Ifmgr01CreateAddress6CB(cb) { } 04688 04689 }; 04690 04691 virtual void async_ifmgr_0_1_create_address6 04692 ( 04693 const uint32_t& tid, 04694 const string& ifname, 04695 const string& vif, 04696 const IPv6& address, 04697 Ifmgr01CreateAddress6CB); 04698 #endif 04699 04700 virtual XrlCmdError ifmgr_0_1_delete_address6( 04701 // Input values, 04702 const uint32_t& tid, 04703 const string& ifname, 04704 const string& vif, 04705 const IPv6& address) = 0; 04706 #ifdef XORP_ENABLE_ASYNC_SERVER 04707 typedef 04708 XorpCallback1<void, const XrlCmdError &>::RefPtr 04709 Ifmgr01DeleteAddress6RF; 04710 04711 class Ifmgr01DeleteAddress6CB { 04712 Ifmgr01DeleteAddress6RF cb; 04713 04714 public: 04715 operator const Ifmgr01DeleteAddress6RF& () const { return cb; } 04716 const Ifmgr01DeleteAddress6RF& operator ->() const { return cb; } 04717 Ifmgr01DeleteAddress6CB(const Ifmgr01DeleteAddress6RF& cb) 04718 : cb(cb) { } 04719 04720 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04721 04722 void respond() const { 04723 cb->dispatch(XrlCmdError::OKAY()); 04724 } 04725 }; 04726 04727 struct Ifmgr01DeleteAddress6Rsp : 04728 public Ifmgr01DeleteAddress6CB { 04729 Ifmgr01DeleteAddress6Rsp(const Ifmgr01DeleteAddress6RF& cb) 04730 : Ifmgr01DeleteAddress6CB(cb) { } 04731 04732 }; 04733 04734 virtual void async_ifmgr_0_1_delete_address6 04735 ( 04736 const uint32_t& tid, 04737 const string& ifname, 04738 const string& vif, 04739 const IPv6& address, 04740 Ifmgr01DeleteAddress6CB); 04741 #endif 04742 04743 virtual XrlCmdError ifmgr_0_1_set_address_enabled6( 04744 // Input values, 04745 const uint32_t& tid, 04746 const string& ifname, 04747 const string& vif, 04748 const IPv6& address, 04749 const bool& enabled) = 0; 04750 #ifdef XORP_ENABLE_ASYNC_SERVER 04751 typedef 04752 XorpCallback1<void, const XrlCmdError &>::RefPtr 04753 Ifmgr01SetAddressEnabled6RF; 04754 04755 class Ifmgr01SetAddressEnabled6CB { 04756 Ifmgr01SetAddressEnabled6RF cb; 04757 04758 public: 04759 operator const Ifmgr01SetAddressEnabled6RF& () const { return cb; } 04760 const Ifmgr01SetAddressEnabled6RF& operator ->() const { return cb; } 04761 Ifmgr01SetAddressEnabled6CB(const Ifmgr01SetAddressEnabled6RF& cb) 04762 : cb(cb) { } 04763 04764 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04765 04766 void respond() const { 04767 cb->dispatch(XrlCmdError::OKAY()); 04768 } 04769 }; 04770 04771 struct Ifmgr01SetAddressEnabled6Rsp : 04772 public Ifmgr01SetAddressEnabled6CB { 04773 Ifmgr01SetAddressEnabled6Rsp(const Ifmgr01SetAddressEnabled6RF& cb) 04774 : Ifmgr01SetAddressEnabled6CB(cb) { } 04775 04776 }; 04777 04778 virtual void async_ifmgr_0_1_set_address_enabled6 04779 ( 04780 const uint32_t& tid, 04781 const string& ifname, 04782 const string& vif, 04783 const IPv6& address, 04784 const bool& enabled, 04785 Ifmgr01SetAddressEnabled6CB); 04786 #endif 04787 04788 virtual XrlCmdError ifmgr_0_1_get_configured_address_enabled6( 04789 // Input values, 04790 const string& ifname, 04791 const string& vif, 04792 const IPv6& address, 04793 // Output values, 04794 bool& enabled) = 0; 04795 #ifdef XORP_ENABLE_ASYNC_SERVER 04796 typedef 04797 XorpCallback2<void, const XrlCmdError &, 04798 const bool*>::RefPtr 04799 Ifmgr01GetConfiguredAddressEnabled6RF; 04800 04801 class Ifmgr01GetConfiguredAddressEnabled6CB { 04802 Ifmgr01GetConfiguredAddressEnabled6RF cb; 04803 04804 public: 04805 operator const Ifmgr01GetConfiguredAddressEnabled6RF& () const { return cb; } 04806 const Ifmgr01GetConfiguredAddressEnabled6RF& operator ->() const { return cb; } 04807 Ifmgr01GetConfiguredAddressEnabled6CB(const Ifmgr01GetConfiguredAddressEnabled6RF& cb) 04808 : cb(cb) { } 04809 04810 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 04811 04812 void respond(const bool& arg_enabled) const { 04813 cb->dispatch(XrlCmdError::OKAY(), 04814 &arg_enabled); 04815 } 04816 }; 04817 04818 struct Ifmgr01GetConfiguredAddressEnabled6Rsp : 04819 public Ifmgr01GetConfiguredAddressEnabled6CB { 04820 struct args_str { 04821 bool enabled; 04822 }; 04823 04824 private: 04825 args_str args; 04826 04827 public: 04828 Ifmgr01GetConfiguredAddressEnabled6Rsp(const Ifmgr01GetConfiguredAddressEnabled6RF& cb) 04829 : Ifmgr01GetConfiguredAddressEnabled6CB(cb) { } 04830 04831 void respond() const { 04832 Ifmgr01GetConfiguredAddressEnabled6CB:: 04833 respond(args.enabled); 04834 } 04835 04836 args_str* operator ->() { 04837 return &args; 04838 } 04839 }; 04840 04841 virtual void async_ifmgr_0_1_get_configured_address_enabled6 04842 ( 04843 const string& ifname, 04844 const string& vif, 04845 const IPv6& address, 04846 Ifmgr01GetConfiguredAddressEnabled6CB); 04847 #endif 04848 04849 virtual XrlCmdError ifmgr_0_1_set_prefix6( 04850 // Input values, 04851 const uint32_t& tid, 04852 const string& ifname, 04853 const string& vif, 04854 const IPv6& address, 04855 const uint32_t& prefix_len) = 0; 04856 #ifdef XORP_ENABLE_ASYNC_SERVER 04857 typedef 04858 XorpCallback1<void, const XrlCmdError &>::RefPtr 04859 Ifmgr01SetPrefix6RF; 04860 04861 class Ifmgr01SetPrefix6CB { 04862 Ifmgr01SetPrefix6RF cb; 04863 04864 public: 04865 operator const Ifmgr01SetPrefix6RF& () const { return cb; } 04866 const Ifmgr01SetPrefix6RF& operator ->() const { return cb; } 04867 Ifmgr01SetPrefix6CB(const Ifmgr01SetPrefix6RF& cb) 04868 : cb(cb) { } 04869 04870 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04871 04872 void respond() const { 04873 cb->dispatch(XrlCmdError::OKAY()); 04874 } 04875 }; 04876 04877 struct Ifmgr01SetPrefix6Rsp : 04878 public Ifmgr01SetPrefix6CB { 04879 Ifmgr01SetPrefix6Rsp(const Ifmgr01SetPrefix6RF& cb) 04880 : Ifmgr01SetPrefix6CB(cb) { } 04881 04882 }; 04883 04884 virtual void async_ifmgr_0_1_set_prefix6 04885 ( 04886 const uint32_t& tid, 04887 const string& ifname, 04888 const string& vif, 04889 const IPv6& address, 04890 const uint32_t& prefix_len, 04891 Ifmgr01SetPrefix6CB); 04892 #endif 04893 04894 virtual XrlCmdError ifmgr_0_1_set_endpoint6( 04895 // Input values, 04896 const uint32_t& tid, 04897 const string& ifname, 04898 const string& vif, 04899 const IPv6& address, 04900 const IPv6& endpoint) = 0; 04901 #ifdef XORP_ENABLE_ASYNC_SERVER 04902 typedef 04903 XorpCallback1<void, const XrlCmdError &>::RefPtr 04904 Ifmgr01SetEndpoint6RF; 04905 04906 class Ifmgr01SetEndpoint6CB { 04907 Ifmgr01SetEndpoint6RF cb; 04908 04909 public: 04910 operator const Ifmgr01SetEndpoint6RF& () const { return cb; } 04911 const Ifmgr01SetEndpoint6RF& operator ->() const { return cb; } 04912 Ifmgr01SetEndpoint6CB(const Ifmgr01SetEndpoint6RF& cb) 04913 : cb(cb) { } 04914 04915 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04916 04917 void respond() const { 04918 cb->dispatch(XrlCmdError::OKAY()); 04919 } 04920 }; 04921 04922 struct Ifmgr01SetEndpoint6Rsp : 04923 public Ifmgr01SetEndpoint6CB { 04924 Ifmgr01SetEndpoint6Rsp(const Ifmgr01SetEndpoint6RF& cb) 04925 : Ifmgr01SetEndpoint6CB(cb) { } 04926 04927 }; 04928 04929 virtual void async_ifmgr_0_1_set_endpoint6 04930 ( 04931 const uint32_t& tid, 04932 const string& ifname, 04933 const string& vif, 04934 const IPv6& address, 04935 const IPv6& endpoint, 04936 Ifmgr01SetEndpoint6CB); 04937 #endif 04938 04944 virtual XrlCmdError ifmgr_replicator_0_1_register_ifmgr_mirror( 04945 // Input values, 04946 const string& clientname) = 0; 04947 #ifdef XORP_ENABLE_ASYNC_SERVER 04948 typedef 04949 XorpCallback1<void, const XrlCmdError &>::RefPtr 04950 IfmgrReplicator01RegisterIfmgrMirrorRF; 04951 04952 class IfmgrReplicator01RegisterIfmgrMirrorCB { 04953 IfmgrReplicator01RegisterIfmgrMirrorRF cb; 04954 04955 public: 04956 operator const IfmgrReplicator01RegisterIfmgrMirrorRF& () const { return cb; } 04957 const IfmgrReplicator01RegisterIfmgrMirrorRF& operator ->() const { return cb; } 04958 IfmgrReplicator01RegisterIfmgrMirrorCB(const IfmgrReplicator01RegisterIfmgrMirrorRF& cb) 04959 : cb(cb) { } 04960 04961 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 04962 04963 void respond() const { 04964 cb->dispatch(XrlCmdError::OKAY()); 04965 } 04966 }; 04967 04968 struct IfmgrReplicator01RegisterIfmgrMirrorRsp : 04969 public IfmgrReplicator01RegisterIfmgrMirrorCB { 04970 IfmgrReplicator01RegisterIfmgrMirrorRsp(const IfmgrReplicator01RegisterIfmgrMirrorRF& cb) 04971 : IfmgrReplicator01RegisterIfmgrMirrorCB(cb) { } 04972 04973 }; 04974 04975 virtual void async_ifmgr_replicator_0_1_register_ifmgr_mirror 04976 ( 04977 const string& clientname, 04978 IfmgrReplicator01RegisterIfmgrMirrorCB); 04979 #endif 04980 04986 virtual XrlCmdError ifmgr_replicator_0_1_unregister_ifmgr_mirror( 04987 // Input values, 04988 const string& clientname) = 0; 04989 #ifdef XORP_ENABLE_ASYNC_SERVER 04990 typedef 04991 XorpCallback1<void, const XrlCmdError &>::RefPtr 04992 IfmgrReplicator01UnregisterIfmgrMirrorRF; 04993 04994 class IfmgrReplicator01UnregisterIfmgrMirrorCB { 04995 IfmgrReplicator01UnregisterIfmgrMirrorRF cb; 04996 04997 public: 04998 operator const IfmgrReplicator01UnregisterIfmgrMirrorRF& () const { return cb; } 04999 const IfmgrReplicator01UnregisterIfmgrMirrorRF& operator ->() const { return cb; } 05000 IfmgrReplicator01UnregisterIfmgrMirrorCB(const IfmgrReplicator01UnregisterIfmgrMirrorRF& cb) 05001 : cb(cb) { } 05002 05003 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 05004 05005 void respond() const { 05006 cb->dispatch(XrlCmdError::OKAY()); 05007 } 05008 }; 05009 05010 struct IfmgrReplicator01UnregisterIfmgrMirrorRsp : 05011 public IfmgrReplicator01UnregisterIfmgrMirrorCB { 05012 IfmgrReplicator01UnregisterIfmgrMirrorRsp(const IfmgrReplicator01UnregisterIfmgrMirrorRF& cb) 05013 : IfmgrReplicator01UnregisterIfmgrMirrorCB(cb) { } 05014 05015 }; 05016 05017 virtual void async_ifmgr_replicator_0_1_unregister_ifmgr_mirror 05018 ( 05019 const string& clientname, 05020 IfmgrReplicator01UnregisterIfmgrMirrorCB); 05021 #endif 05022 05043 virtual XrlCmdError fti_0_2_lookup_route_by_dest4( 05044 // Input values, 05045 const IPv4& dst, 05046 // Output values, 05047 IPv4Net& netmask, 05048 IPv4& nexthop, 05049 string& ifname, 05050 string& vifname, 05051 uint32_t& metric, 05052 uint32_t& admin_distance, 05053 string& protocol_origin) = 0; 05054 #ifdef XORP_ENABLE_ASYNC_SERVER 05055 typedef 05056 XorpCallback8<void, const XrlCmdError &, 05057 const IPv4Net*, 05058 const IPv4*, 05059 const string*, 05060 const string*, 05061 const uint32_t*, 05062 const uint32_t*, 05063 const string*>::RefPtr 05064 Fti02LookupRouteByDest4RF; 05065 05066 class Fti02LookupRouteByDest4CB { 05067 Fti02LookupRouteByDest4RF cb; 05068 05069 public: 05070 operator const Fti02LookupRouteByDest4RF& () const { return cb; } 05071 const Fti02LookupRouteByDest4RF& operator ->() const { return cb; } 05072 Fti02LookupRouteByDest4CB(const Fti02LookupRouteByDest4RF& cb) 05073 : cb(cb) { } 05074 05075 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL, NULL, NULL, NULL); } 05076 05077 void respond(const IPv4Net& arg_netmask, 05078 const IPv4& arg_nexthop, 05079 const string& arg_ifname, 05080 const string& arg_vifname, 05081 const uint32_t& arg_metric, 05082 const uint32_t& arg_admin_distance, 05083 const string& arg_protocol_origin) const { 05084 cb->dispatch(XrlCmdError::OKAY(), 05085 &arg_netmask, 05086 &arg_nexthop, 05087 &arg_ifname, 05088 &arg_vifname, 05089 &arg_metric, 05090 &arg_admin_distance, 05091 &arg_protocol_origin); 05092 } 05093 }; 05094 05095 struct Fti02LookupRouteByDest4Rsp : 05096 public Fti02LookupRouteByDest4CB { 05097 struct args_str { 05098 IPv4Net netmask; 05099 IPv4 nexthop; 05100 string ifname; 05101 string vifname; 05102 uint32_t metric; 05103 uint32_t admin_distance; 05104 string protocol_origin; 05105 }; 05106 05107 private: 05108 args_str args; 05109 05110 public: 05111 Fti02LookupRouteByDest4Rsp(const Fti02LookupRouteByDest4RF& cb) 05112 : Fti02LookupRouteByDest4CB(cb) { } 05113 05114 void respond() const { 05115 Fti02LookupRouteByDest4CB:: 05116 respond(args.netmask, 05117 args.nexthop, 05118 args.ifname, 05119 args.vifname, 05120 args.metric, 05121 args.admin_distance, 05122 args.protocol_origin); 05123 } 05124 05125 args_str* operator ->() { 05126 return &args; 05127 } 05128 }; 05129 05130 virtual void async_fti_0_2_lookup_route_by_dest4 05131 ( 05132 const IPv4& dst, 05133 Fti02LookupRouteByDest4CB); 05134 #endif 05135 05156 virtual XrlCmdError fti_0_2_lookup_route_by_network4( 05157 // Input values, 05158 const IPv4Net& dst, 05159 // Output values, 05160 IPv4& nexthop, 05161 string& ifname, 05162 string& vifname, 05163 uint32_t& metric, 05164 uint32_t& admin_distance, 05165 string& protocol_origin) = 0; 05166 #ifdef XORP_ENABLE_ASYNC_SERVER 05167 typedef 05168 XorpCallback7<void, const XrlCmdError &, 05169 const IPv4*, 05170 const string*, 05171 const string*, 05172 const uint32_t*, 05173 const uint32_t*, 05174 const string*>::RefPtr 05175 Fti02LookupRouteByNetwork4RF; 05176 05177 class Fti02LookupRouteByNetwork4CB { 05178 Fti02LookupRouteByNetwork4RF cb; 05179 05180 public: 05181 operator const Fti02LookupRouteByNetwork4RF& () const { return cb; } 05182 const Fti02LookupRouteByNetwork4RF& operator ->() const { return cb; } 05183 Fti02LookupRouteByNetwork4CB(const Fti02LookupRouteByNetwork4RF& cb) 05184 : cb(cb) { } 05185 05186 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL, NULL, NULL); } 05187 05188 void respond(const IPv4& arg_nexthop, 05189 const string& arg_ifname, 05190 const string& arg_vifname, 05191 const uint32_t& arg_metric, 05192 const uint32_t& arg_admin_distance, 05193 const string& arg_protocol_origin) const { 05194 cb->dispatch(XrlCmdError::OKAY(), 05195 &arg_nexthop, 05196 &arg_ifname, 05197 &arg_vifname, 05198 &arg_metric, 05199 &arg_admin_distance, 05200 &arg_protocol_origin); 05201 } 05202 }; 05203 05204 struct Fti02LookupRouteByNetwork4Rsp : 05205 public Fti02LookupRouteByNetwork4CB { 05206 struct args_str { 05207 IPv4 nexthop; 05208 string ifname; 05209 string vifname; 05210 uint32_t metric; 05211 uint32_t admin_distance; 05212 string protocol_origin; 05213 }; 05214 05215 private: 05216 args_str args; 05217 05218 public: 05219 Fti02LookupRouteByNetwork4Rsp(const Fti02LookupRouteByNetwork4RF& cb) 05220 : Fti02LookupRouteByNetwork4CB(cb) { } 05221 05222 void respond() const { 05223 Fti02LookupRouteByNetwork4CB:: 05224 respond(args.nexthop, 05225 args.ifname, 05226 args.vifname, 05227 args.metric, 05228 args.admin_distance, 05229 args.protocol_origin); 05230 } 05231 05232 args_str* operator ->() { 05233 return &args; 05234 } 05235 }; 05236 05237 virtual void async_fti_0_2_lookup_route_by_network4 05238 ( 05239 const IPv4Net& dst, 05240 Fti02LookupRouteByNetwork4CB); 05241 #endif 05242 05251 virtual XrlCmdError fti_0_2_have_ipv4( 05252 // Output values, 05253 bool& result) = 0; 05254 #ifdef XORP_ENABLE_ASYNC_SERVER 05255 typedef 05256 XorpCallback2<void, const XrlCmdError &, 05257 const bool*>::RefPtr 05258 Fti02HaveIpv4RF; 05259 05260 class Fti02HaveIpv4CB { 05261 Fti02HaveIpv4RF cb; 05262 05263 public: 05264 operator const Fti02HaveIpv4RF& () const { return cb; } 05265 const Fti02HaveIpv4RF& operator ->() const { return cb; } 05266 Fti02HaveIpv4CB(const Fti02HaveIpv4RF& cb) 05267 : cb(cb) { } 05268 05269 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 05270 05271 void respond(const bool& arg_result) const { 05272 cb->dispatch(XrlCmdError::OKAY(), 05273 &arg_result); 05274 } 05275 }; 05276 05277 struct Fti02HaveIpv4Rsp : 05278 public Fti02HaveIpv4CB { 05279 struct args_str { 05280 bool result; 05281 }; 05282 05283 private: 05284 args_str args; 05285 05286 public: 05287 Fti02HaveIpv4Rsp(const Fti02HaveIpv4RF& cb) 05288 : Fti02HaveIpv4CB(cb) { } 05289 05290 void respond() const { 05291 Fti02HaveIpv4CB:: 05292 respond(args.result); 05293 } 05294 05295 args_str* operator ->() { 05296 return &args; 05297 } 05298 }; 05299 05300 virtual void async_fti_0_2_have_ipv4 05301 ( 05302 Fti02HaveIpv4CB); 05303 #endif 05304 05314 virtual XrlCmdError fti_0_2_get_unicast_forwarding_enabled4( 05315 // Output values, 05316 bool& enabled) = 0; 05317 #ifdef XORP_ENABLE_ASYNC_SERVER 05318 typedef 05319 XorpCallback2<void, const XrlCmdError &, 05320 const bool*>::RefPtr 05321 Fti02GetUnicastForwardingEnabled4RF; 05322 05323 class Fti02GetUnicastForwardingEnabled4CB { 05324 Fti02GetUnicastForwardingEnabled4RF cb; 05325 05326 public: 05327 operator const Fti02GetUnicastForwardingEnabled4RF& () const { return cb; } 05328 const Fti02GetUnicastForwardingEnabled4RF& operator ->() const { return cb; } 05329 Fti02GetUnicastForwardingEnabled4CB(const Fti02GetUnicastForwardingEnabled4RF& cb) 05330 : cb(cb) { } 05331 05332 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 05333 05334 void respond(const bool& arg_enabled) const { 05335 cb->dispatch(XrlCmdError::OKAY(), 05336 &arg_enabled); 05337 } 05338 }; 05339 05340 struct Fti02GetUnicastForwardingEnabled4Rsp : 05341 public Fti02GetUnicastForwardingEnabled4CB { 05342 struct args_str { 05343 bool enabled; 05344 }; 05345 05346 private: 05347 args_str args; 05348 05349 public: 05350 Fti02GetUnicastForwardingEnabled4Rsp(const Fti02GetUnicastForwardingEnabled4RF& cb) 05351 : Fti02GetUnicastForwardingEnabled4CB(cb) { } 05352 05353 void respond() const { 05354 Fti02GetUnicastForwardingEnabled4CB:: 05355 respond(args.enabled); 05356 } 05357 05358 args_str* operator ->() { 05359 return &args; 05360 } 05361 }; 05362 05363 virtual void async_fti_0_2_get_unicast_forwarding_enabled4 05364 ( 05365 Fti02GetUnicastForwardingEnabled4CB); 05366 #endif 05367 05377 virtual XrlCmdError fti_0_2_set_unicast_forwarding_enabled4( 05378 // Input values, 05379 const bool& enabled) = 0; 05380 #ifdef XORP_ENABLE_ASYNC_SERVER 05381 typedef 05382 XorpCallback1<void, const XrlCmdError &>::RefPtr 05383 Fti02SetUnicastForwardingEnabled4RF; 05384 05385 class Fti02SetUnicastForwardingEnabled4CB { 05386 Fti02SetUnicastForwardingEnabled4RF cb; 05387 05388 public: 05389 operator const Fti02SetUnicastForwardingEnabled4RF& () const { return cb; } 05390 const Fti02SetUnicastForwardingEnabled4RF& operator ->() const { return cb; } 05391 Fti02SetUnicastForwardingEnabled4CB(const Fti02SetUnicastForwardingEnabled4RF& cb) 05392 : cb(cb) { } 05393 05394 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 05395 05396 void respond() const { 05397 cb->dispatch(XrlCmdError::OKAY()); 05398 } 05399 }; 05400 05401 struct Fti02SetUnicastForwardingEnabled4Rsp : 05402 public Fti02SetUnicastForwardingEnabled4CB { 05403 Fti02SetUnicastForwardingEnabled4Rsp(const Fti02SetUnicastForwardingEnabled4RF& cb) 05404 : Fti02SetUnicastForwardingEnabled4CB(cb) { } 05405 05406 }; 05407 05408 virtual void async_fti_0_2_set_unicast_forwarding_enabled4 05409 ( 05410 const bool& enabled, 05411 Fti02SetUnicastForwardingEnabled4CB); 05412 #endif 05413 05423 virtual XrlCmdError fti_0_2_set_unicast_forwarding_entries_retain_on_startup4( 05424 // Input values, 05425 const bool& retain) = 0; 05426 #ifdef XORP_ENABLE_ASYNC_SERVER 05427 typedef 05428 XorpCallback1<void, const XrlCmdError &>::RefPtr 05429 Fti02SetUnicastForwardingEntriesRetainOnStartup4RF; 05430 05431 class Fti02SetUnicastForwardingEntriesRetainOnStartup4CB { 05432 Fti02SetUnicastForwardingEntriesRetainOnStartup4RF cb; 05433 05434 public: 05435 operator const Fti02SetUnicastForwardingEntriesRetainOnStartup4RF& () const { return cb; } 05436 const Fti02SetUnicastForwardingEntriesRetainOnStartup4RF& operator ->() const { return cb; } 05437 Fti02SetUnicastForwardingEntriesRetainOnStartup4CB(const Fti02SetUnicastForwardingEntriesRetainOnStartup4RF& cb) 05438 : cb(cb) { } 05439 05440 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 05441 05442 void respond() const { 05443 cb->dispatch(XrlCmdError::OKAY()); 05444 } 05445 }; 05446 05447 struct Fti02SetUnicastForwardingEntriesRetainOnStartup4Rsp : 05448 public Fti02SetUnicastForwardingEntriesRetainOnStartup4CB { 05449 Fti02SetUnicastForwardingEntriesRetainOnStartup4Rsp(const Fti02SetUnicastForwardingEntriesRetainOnStartup4RF& cb) 05450 : Fti02SetUnicastForwardingEntriesRetainOnStartup4CB(cb) { } 05451 05452 }; 05453 05454 virtual void async_fti_0_2_set_unicast_forwarding_entries_retain_on_startup4 05455 ( 05456 const bool& retain, 05457 Fti02SetUnicastForwardingEntriesRetainOnStartup4CB); 05458 #endif 05459 05469 virtual XrlCmdError fti_0_2_set_unicast_forwarding_entries_retain_on_shutdown4( 05470 // Input values, 05471 const bool& retain) = 0; 05472 #ifdef XORP_ENABLE_ASYNC_SERVER 05473 typedef 05474 XorpCallback1<void, const XrlCmdError &>::RefPtr 05475 Fti02SetUnicastForwardingEntriesRetainOnShutdown4RF; 05476 05477 class Fti02SetUnicastForwardingEntriesRetainOnShutdown4CB { 05478 Fti02SetUnicastForwardingEntriesRetainOnShutdown4RF cb; 05479 05480 public: 05481 operator const Fti02SetUnicastForwardingEntriesRetainOnShutdown4RF& () const { return cb; } 05482 const Fti02SetUnicastForwardingEntriesRetainOnShutdown4RF& operator ->() const { return cb; } 05483 Fti02SetUnicastForwardingEntriesRetainOnShutdown4CB(const Fti02SetUnicastForwardingEntriesRetainOnShutdown4RF& cb) 05484 : cb(cb) { } 05485 05486 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 05487 05488 void respond() const { 05489 cb->dispatch(XrlCmdError::OKAY()); 05490 } 05491 }; 05492 05493 struct Fti02SetUnicastForwardingEntriesRetainOnShutdown4Rsp : 05494 public Fti02SetUnicastForwardingEntriesRetainOnShutdown4CB { 05495 Fti02SetUnicastForwardingEntriesRetainOnShutdown4Rsp(const Fti02SetUnicastForwardingEntriesRetainOnShutdown4RF& cb) 05496 : Fti02SetUnicastForwardingEntriesRetainOnShutdown4CB(cb) { } 05497 05498 }; 05499 05500 virtual void async_fti_0_2_set_unicast_forwarding_entries_retain_on_shutdown4 05501 ( 05502 const bool& retain, 05503 Fti02SetUnicastForwardingEntriesRetainOnShutdown4CB); 05504 #endif 05505 05516 virtual XrlCmdError fti_0_2_set_unicast_forwarding_table_id4( 05517 // Input values, 05518 const bool& is_configured, 05519 const uint32_t& table_id) = 0; 05520 #ifdef XORP_ENABLE_ASYNC_SERVER 05521 typedef 05522 XorpCallback1<void, const XrlCmdError &>::RefPtr 05523 Fti02SetUnicastForwardingTableId4RF; 05524 05525 class Fti02SetUnicastForwardingTableId4CB { 05526 Fti02SetUnicastForwardingTableId4RF cb; 05527 05528 public: 05529 operator const Fti02SetUnicastForwardingTableId4RF& () const { return cb; } 05530 const Fti02SetUnicastForwardingTableId4RF& operator ->() const { return cb; } 05531 Fti02SetUnicastForwardingTableId4CB(const Fti02SetUnicastForwardingTableId4RF& cb) 05532 : cb(cb) { } 05533 05534 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 05535 05536 void respond() const { 05537 cb->dispatch(XrlCmdError::OKAY()); 05538 } 05539 }; 05540 05541 struct Fti02SetUnicastForwardingTableId4Rsp : 05542 public Fti02SetUnicastForwardingTableId4CB { 05543 Fti02SetUnicastForwardingTableId4Rsp(const Fti02SetUnicastForwardingTableId4RF& cb) 05544 : Fti02SetUnicastForwardingTableId4CB(cb) { } 05545 05546 }; 05547 05548 virtual void async_fti_0_2_set_unicast_forwarding_table_id4 05549 ( 05550 const bool& is_configured, 05551 const uint32_t& table_id, 05552 Fti02SetUnicastForwardingTableId4CB); 05553 #endif 05554 05575 virtual XrlCmdError fti_0_2_lookup_route_by_dest6( 05576 // Input values, 05577 const IPv6& dst, 05578 // Output values, 05579 IPv6Net& netmask, 05580 IPv6& nexthop, 05581 string& ifname, 05582 string& vifname, 05583 uint32_t& metric, 05584 uint32_t& admin_distance, 05585 string& protocol_origin) = 0; 05586 #ifdef XORP_ENABLE_ASYNC_SERVER 05587 typedef 05588 XorpCallback8<void, const XrlCmdError &, 05589 const IPv6Net*, 05590 const IPv6*, 05591 const string*, 05592 const string*, 05593 const uint32_t*, 05594 const uint32_t*, 05595 const string*>::RefPtr 05596 Fti02LookupRouteByDest6RF; 05597 05598 class Fti02LookupRouteByDest6CB { 05599 Fti02LookupRouteByDest6RF cb; 05600 05601 public: 05602 operator const Fti02LookupRouteByDest6RF& () const { return cb; } 05603 const Fti02LookupRouteByDest6RF& operator ->() const { return cb; } 05604 Fti02LookupRouteByDest6CB(const Fti02LookupRouteByDest6RF& cb) 05605 : cb(cb) { } 05606 05607 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL, NULL, NULL, NULL); } 05608 05609 void respond(const IPv6Net& arg_netmask, 05610 const IPv6& arg_nexthop, 05611 const string& arg_ifname, 05612 const string& arg_vifname, 05613 const uint32_t& arg_metric, 05614 const uint32_t& arg_admin_distance, 05615 const string& arg_protocol_origin) const { 05616 cb->dispatch(XrlCmdError::OKAY(), 05617 &arg_netmask, 05618 &arg_nexthop, 05619 &arg_ifname, 05620 &arg_vifname, 05621 &arg_metric, 05622 &arg_admin_distance, 05623 &arg_protocol_origin); 05624 } 05625 }; 05626 05627 struct Fti02LookupRouteByDest6Rsp : 05628 public Fti02LookupRouteByDest6CB { 05629 struct args_str { 05630 IPv6Net netmask; 05631 IPv6 nexthop; 05632 string ifname; 05633 string vifname; 05634 uint32_t metric; 05635 uint32_t admin_distance; 05636 string protocol_origin; 05637 }; 05638 05639 private: 05640 args_str args; 05641 05642 public: 05643 Fti02LookupRouteByDest6Rsp(const Fti02LookupRouteByDest6RF& cb) 05644 : Fti02LookupRouteByDest6CB(cb) { } 05645 05646 void respond() const { 05647 Fti02LookupRouteByDest6CB:: 05648 respond(args.netmask, 05649 args.nexthop, 05650 args.ifname, 05651 args.vifname, 05652 args.metric, 05653 args.admin_distance, 05654 args.protocol_origin); 05655 } 05656 05657 args_str* operator ->() { 05658 return &args; 05659 } 05660 }; 05661 05662 virtual void async_fti_0_2_lookup_route_by_dest6 05663 ( 05664 const IPv6& dst, 05665 Fti02LookupRouteByDest6CB); 05666 #endif 05667 05688 virtual XrlCmdError fti_0_2_lookup_route_by_network6( 05689 // Input values, 05690 const IPv6Net& dst, 05691 // Output values, 05692 IPv6& nexthop, 05693 string& ifname, 05694 string& vifname, 05695 uint32_t& metric, 05696 uint32_t& admin_distance, 05697 string& protocol_origin) = 0; 05698 #ifdef XORP_ENABLE_ASYNC_SERVER 05699 typedef 05700 XorpCallback7<void, const XrlCmdError &, 05701 const IPv6*, 05702 const string*, 05703 const string*, 05704 const uint32_t*, 05705 const uint32_t*, 05706 const string*>::RefPtr 05707 Fti02LookupRouteByNetwork6RF; 05708 05709 class Fti02LookupRouteByNetwork6CB { 05710 Fti02LookupRouteByNetwork6RF cb; 05711 05712 public: 05713 operator const Fti02LookupRouteByNetwork6RF& () const { return cb; } 05714 const Fti02LookupRouteByNetwork6RF& operator ->() const { return cb; } 05715 Fti02LookupRouteByNetwork6CB(const Fti02LookupRouteByNetwork6RF& cb) 05716 : cb(cb) { } 05717 05718 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL, NULL, NULL); } 05719 05720 void respond(const IPv6& arg_nexthop, 05721 const string& arg_ifname, 05722 const string& arg_vifname, 05723 const uint32_t& arg_metric, 05724 const uint32_t& arg_admin_distance, 05725 const string& arg_protocol_origin) const { 05726 cb->dispatch(XrlCmdError::OKAY(), 05727 &arg_nexthop, 05728 &arg_ifname, 05729 &arg_vifname, 05730 &arg_metric, 05731 &arg_admin_distance, 05732 &arg_protocol_origin); 05733 } 05734 }; 05735 05736 struct Fti02LookupRouteByNetwork6Rsp : 05737 public Fti02LookupRouteByNetwork6CB { 05738 struct args_str { 05739 IPv6 nexthop; 05740 string ifname; 05741 string vifname; 05742 uint32_t metric; 05743 uint32_t admin_distance; 05744 string protocol_origin; 05745 }; 05746 05747 private: 05748 args_str args; 05749 05750 public: 05751 Fti02LookupRouteByNetwork6Rsp(const Fti02LookupRouteByNetwork6RF& cb) 05752 : Fti02LookupRouteByNetwork6CB(cb) { } 05753 05754 void respond() const { 05755 Fti02LookupRouteByNetwork6CB:: 05756 respond(args.nexthop, 05757 args.ifname, 05758 args.vifname, 05759 args.metric, 05760 args.admin_distance, 05761 args.protocol_origin); 05762 } 05763 05764 args_str* operator ->() { 05765 return &args; 05766 } 05767 }; 05768 05769 virtual void async_fti_0_2_lookup_route_by_network6 05770 ( 05771 const IPv6Net& dst, 05772 Fti02LookupRouteByNetwork6CB); 05773 #endif 05774 05783 virtual XrlCmdError fti_0_2_have_ipv6( 05784 // Output values, 05785 bool& result) = 0; 05786 #ifdef XORP_ENABLE_ASYNC_SERVER 05787 typedef 05788 XorpCallback2<void, const XrlCmdError &, 05789 const bool*>::RefPtr 05790 Fti02HaveIpv6RF; 05791 05792 class Fti02HaveIpv6CB { 05793 Fti02HaveIpv6RF cb; 05794 05795 public: 05796 operator const Fti02HaveIpv6RF& () const { return cb; } 05797 const Fti02HaveIpv6RF& operator ->() const { return cb; } 05798 Fti02HaveIpv6CB(const Fti02HaveIpv6RF& cb) 05799 : cb(cb) { } 05800 05801 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 05802 05803 void respond(const bool& arg_result) const { 05804 cb->dispatch(XrlCmdError::OKAY(), 05805 &arg_result); 05806 } 05807 }; 05808 05809 struct Fti02HaveIpv6Rsp : 05810 public Fti02HaveIpv6CB { 05811 struct args_str { 05812 bool result; 05813 }; 05814 05815 private: 05816 args_str args; 05817 05818 public: 05819 Fti02HaveIpv6Rsp(const Fti02HaveIpv6RF& cb) 05820 : Fti02HaveIpv6CB(cb) { } 05821 05822 void respond() const { 05823 Fti02HaveIpv6CB:: 05824 respond(args.result); 05825 } 05826 05827 args_str* operator ->() { 05828 return &args; 05829 } 05830 }; 05831 05832 virtual void async_fti_0_2_have_ipv6 05833 ( 05834 Fti02HaveIpv6CB); 05835 #endif 05836 05846 virtual XrlCmdError fti_0_2_get_unicast_forwarding_enabled6( 05847 // Output values, 05848 bool& enabled) = 0; 05849 #ifdef XORP_ENABLE_ASYNC_SERVER 05850 typedef 05851 XorpCallback2<void, const XrlCmdError &, 05852 const bool*>::RefPtr 05853 Fti02GetUnicastForwardingEnabled6RF; 05854 05855 class Fti02GetUnicastForwardingEnabled6CB { 05856 Fti02GetUnicastForwardingEnabled6RF cb; 05857 05858 public: 05859 operator const Fti02GetUnicastForwardingEnabled6RF& () const { return cb; } 05860 const Fti02GetUnicastForwardingEnabled6RF& operator ->() const { return cb; } 05861 Fti02GetUnicastForwardingEnabled6CB(const Fti02GetUnicastForwardingEnabled6RF& cb) 05862 : cb(cb) { } 05863 05864 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 05865 05866 void respond(const bool& arg_enabled) const { 05867 cb->dispatch(XrlCmdError::OKAY(), 05868 &arg_enabled); 05869 } 05870 }; 05871 05872 struct Fti02GetUnicastForwardingEnabled6Rsp : 05873 public Fti02GetUnicastForwardingEnabled6CB { 05874 struct args_str { 05875 bool enabled; 05876 }; 05877 05878 private: 05879 args_str args; 05880 05881 public: 05882 Fti02GetUnicastForwardingEnabled6Rsp(const Fti02GetUnicastForwardingEnabled6RF& cb) 05883 : Fti02GetUnicastForwardingEnabled6CB(cb) { } 05884 05885 void respond() const { 05886 Fti02GetUnicastForwardingEnabled6CB:: 05887 respond(args.enabled); 05888 } 05889 05890 args_str* operator ->() { 05891 return &args; 05892 } 05893 }; 05894 05895 virtual void async_fti_0_2_get_unicast_forwarding_enabled6 05896 ( 05897 Fti02GetUnicastForwardingEnabled6CB); 05898 #endif 05899 05909 virtual XrlCmdError fti_0_2_set_unicast_forwarding_enabled6( 05910 // Input values, 05911 const bool& enabled) = 0; 05912 #ifdef XORP_ENABLE_ASYNC_SERVER 05913 typedef 05914 XorpCallback1<void, const XrlCmdError &>::RefPtr 05915 Fti02SetUnicastForwardingEnabled6RF; 05916 05917 class Fti02SetUnicastForwardingEnabled6CB { 05918 Fti02SetUnicastForwardingEnabled6RF cb; 05919 05920 public: 05921 operator const Fti02SetUnicastForwardingEnabled6RF& () const { return cb; } 05922 const Fti02SetUnicastForwardingEnabled6RF& operator ->() const { return cb; } 05923 Fti02SetUnicastForwardingEnabled6CB(const Fti02SetUnicastForwardingEnabled6RF& cb) 05924 : cb(cb) { } 05925 05926 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 05927 05928 void respond() const { 05929 cb->dispatch(XrlCmdError::OKAY()); 05930 } 05931 }; 05932 05933 struct Fti02SetUnicastForwardingEnabled6Rsp : 05934 public Fti02SetUnicastForwardingEnabled6CB { 05935 Fti02SetUnicastForwardingEnabled6Rsp(const Fti02SetUnicastForwardingEnabled6RF& cb) 05936 : Fti02SetUnicastForwardingEnabled6CB(cb) { } 05937 05938 }; 05939 05940 virtual void async_fti_0_2_set_unicast_forwarding_enabled6 05941 ( 05942 const bool& enabled, 05943 Fti02SetUnicastForwardingEnabled6CB); 05944 #endif 05945 05955 virtual XrlCmdError fti_0_2_set_unicast_forwarding_entries_retain_on_startup6( 05956 // Input values, 05957 const bool& retain) = 0; 05958 #ifdef XORP_ENABLE_ASYNC_SERVER 05959 typedef 05960 XorpCallback1<void, const XrlCmdError &>::RefPtr 05961 Fti02SetUnicastForwardingEntriesRetainOnStartup6RF; 05962 05963 class Fti02SetUnicastForwardingEntriesRetainOnStartup6CB { 05964 Fti02SetUnicastForwardingEntriesRetainOnStartup6RF cb; 05965 05966 public: 05967 operator const Fti02SetUnicastForwardingEntriesRetainOnStartup6RF& () const { return cb; } 05968 const Fti02SetUnicastForwardingEntriesRetainOnStartup6RF& operator ->() const { return cb; } 05969 Fti02SetUnicastForwardingEntriesRetainOnStartup6CB(const Fti02SetUnicastForwardingEntriesRetainOnStartup6RF& cb) 05970 : cb(cb) { } 05971 05972 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 05973 05974 void respond() const { 05975 cb->dispatch(XrlCmdError::OKAY()); 05976 } 05977 }; 05978 05979 struct Fti02SetUnicastForwardingEntriesRetainOnStartup6Rsp : 05980 public Fti02SetUnicastForwardingEntriesRetainOnStartup6CB { 05981 Fti02SetUnicastForwardingEntriesRetainOnStartup6Rsp(const Fti02SetUnicastForwardingEntriesRetainOnStartup6RF& cb) 05982 : Fti02SetUnicastForwardingEntriesRetainOnStartup6CB(cb) { } 05983 05984 }; 05985 05986 virtual void async_fti_0_2_set_unicast_forwarding_entries_retain_on_startup6 05987 ( 05988 const bool& retain, 05989 Fti02SetUnicastForwardingEntriesRetainOnStartup6CB); 05990 #endif 05991 06001 virtual XrlCmdError fti_0_2_set_unicast_forwarding_entries_retain_on_shutdown6( 06002 // Input values, 06003 const bool& retain) = 0; 06004 #ifdef XORP_ENABLE_ASYNC_SERVER 06005 typedef 06006 XorpCallback1<void, const XrlCmdError &>::RefPtr 06007 Fti02SetUnicastForwardingEntriesRetainOnShutdown6RF; 06008 06009 class Fti02SetUnicastForwardingEntriesRetainOnShutdown6CB { 06010 Fti02SetUnicastForwardingEntriesRetainOnShutdown6RF cb; 06011 06012 public: 06013 operator const Fti02SetUnicastForwardingEntriesRetainOnShutdown6RF& () const { return cb; } 06014 const Fti02SetUnicastForwardingEntriesRetainOnShutdown6RF& operator ->() const { return cb; } 06015 Fti02SetUnicastForwardingEntriesRetainOnShutdown6CB(const Fti02SetUnicastForwardingEntriesRetainOnShutdown6RF& cb) 06016 : cb(cb) { } 06017 06018 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06019 06020 void respond() const { 06021 cb->dispatch(XrlCmdError::OKAY()); 06022 } 06023 }; 06024 06025 struct Fti02SetUnicastForwardingEntriesRetainOnShutdown6Rsp : 06026 public Fti02SetUnicastForwardingEntriesRetainOnShutdown6CB { 06027 Fti02SetUnicastForwardingEntriesRetainOnShutdown6Rsp(const Fti02SetUnicastForwardingEntriesRetainOnShutdown6RF& cb) 06028 : Fti02SetUnicastForwardingEntriesRetainOnShutdown6CB(cb) { } 06029 06030 }; 06031 06032 virtual void async_fti_0_2_set_unicast_forwarding_entries_retain_on_shutdown6 06033 ( 06034 const bool& retain, 06035 Fti02SetUnicastForwardingEntriesRetainOnShutdown6CB); 06036 #endif 06037 06048 virtual XrlCmdError fti_0_2_set_unicast_forwarding_table_id6( 06049 // Input values, 06050 const bool& is_configured, 06051 const uint32_t& table_id) = 0; 06052 #ifdef XORP_ENABLE_ASYNC_SERVER 06053 typedef 06054 XorpCallback1<void, const XrlCmdError &>::RefPtr 06055 Fti02SetUnicastForwardingTableId6RF; 06056 06057 class Fti02SetUnicastForwardingTableId6CB { 06058 Fti02SetUnicastForwardingTableId6RF cb; 06059 06060 public: 06061 operator const Fti02SetUnicastForwardingTableId6RF& () const { return cb; } 06062 const Fti02SetUnicastForwardingTableId6RF& operator ->() const { return cb; } 06063 Fti02SetUnicastForwardingTableId6CB(const Fti02SetUnicastForwardingTableId6RF& cb) 06064 : cb(cb) { } 06065 06066 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06067 06068 void respond() const { 06069 cb->dispatch(XrlCmdError::OKAY()); 06070 } 06071 }; 06072 06073 struct Fti02SetUnicastForwardingTableId6Rsp : 06074 public Fti02SetUnicastForwardingTableId6CB { 06075 Fti02SetUnicastForwardingTableId6Rsp(const Fti02SetUnicastForwardingTableId6RF& cb) 06076 : Fti02SetUnicastForwardingTableId6CB(cb) { } 06077 06078 }; 06079 06080 virtual void async_fti_0_2_set_unicast_forwarding_table_id6 06081 ( 06082 const bool& is_configured, 06083 const uint32_t& table_id, 06084 Fti02SetUnicastForwardingTableId6CB); 06085 #endif 06086 06094 virtual XrlCmdError redist_transaction4_0_1_start_transaction( 06095 // Output values, 06096 uint32_t& tid) = 0; 06097 #ifdef XORP_ENABLE_ASYNC_SERVER 06098 typedef 06099 XorpCallback2<void, const XrlCmdError &, 06100 const uint32_t*>::RefPtr 06101 RedistTransaction401StartTransactionRF; 06102 06103 class RedistTransaction401StartTransactionCB { 06104 RedistTransaction401StartTransactionRF cb; 06105 06106 public: 06107 operator const RedistTransaction401StartTransactionRF& () const { return cb; } 06108 const RedistTransaction401StartTransactionRF& operator ->() const { return cb; } 06109 RedistTransaction401StartTransactionCB(const RedistTransaction401StartTransactionRF& cb) 06110 : cb(cb) { } 06111 06112 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 06113 06114 void respond(const uint32_t& arg_tid) const { 06115 cb->dispatch(XrlCmdError::OKAY(), 06116 &arg_tid); 06117 } 06118 }; 06119 06120 struct RedistTransaction401StartTransactionRsp : 06121 public RedistTransaction401StartTransactionCB { 06122 struct args_str { 06123 uint32_t tid; 06124 }; 06125 06126 private: 06127 args_str args; 06128 06129 public: 06130 RedistTransaction401StartTransactionRsp(const RedistTransaction401StartTransactionRF& cb) 06131 : RedistTransaction401StartTransactionCB(cb) { } 06132 06133 void respond() const { 06134 RedistTransaction401StartTransactionCB:: 06135 respond(args.tid); 06136 } 06137 06138 args_str* operator ->() { 06139 return &args; 06140 } 06141 }; 06142 06143 virtual void async_redist_transaction4_0_1_start_transaction 06144 ( 06145 RedistTransaction401StartTransactionCB); 06146 #endif 06147 06155 virtual XrlCmdError redist_transaction4_0_1_commit_transaction( 06156 // Input values, 06157 const uint32_t& tid) = 0; 06158 #ifdef XORP_ENABLE_ASYNC_SERVER 06159 typedef 06160 XorpCallback1<void, const XrlCmdError &>::RefPtr 06161 RedistTransaction401CommitTransactionRF; 06162 06163 class RedistTransaction401CommitTransactionCB { 06164 RedistTransaction401CommitTransactionRF cb; 06165 06166 public: 06167 operator const RedistTransaction401CommitTransactionRF& () const { return cb; } 06168 const RedistTransaction401CommitTransactionRF& operator ->() const { return cb; } 06169 RedistTransaction401CommitTransactionCB(const RedistTransaction401CommitTransactionRF& cb) 06170 : cb(cb) { } 06171 06172 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06173 06174 void respond() const { 06175 cb->dispatch(XrlCmdError::OKAY()); 06176 } 06177 }; 06178 06179 struct RedistTransaction401CommitTransactionRsp : 06180 public RedistTransaction401CommitTransactionCB { 06181 RedistTransaction401CommitTransactionRsp(const RedistTransaction401CommitTransactionRF& cb) 06182 : RedistTransaction401CommitTransactionCB(cb) { } 06183 06184 }; 06185 06186 virtual void async_redist_transaction4_0_1_commit_transaction 06187 ( 06188 const uint32_t& tid, 06189 RedistTransaction401CommitTransactionCB); 06190 #endif 06191 06199 virtual XrlCmdError redist_transaction4_0_1_abort_transaction( 06200 // Input values, 06201 const uint32_t& tid) = 0; 06202 #ifdef XORP_ENABLE_ASYNC_SERVER 06203 typedef 06204 XorpCallback1<void, const XrlCmdError &>::RefPtr 06205 RedistTransaction401AbortTransactionRF; 06206 06207 class RedistTransaction401AbortTransactionCB { 06208 RedistTransaction401AbortTransactionRF cb; 06209 06210 public: 06211 operator const RedistTransaction401AbortTransactionRF& () const { return cb; } 06212 const RedistTransaction401AbortTransactionRF& operator ->() const { return cb; } 06213 RedistTransaction401AbortTransactionCB(const RedistTransaction401AbortTransactionRF& cb) 06214 : cb(cb) { } 06215 06216 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06217 06218 void respond() const { 06219 cb->dispatch(XrlCmdError::OKAY()); 06220 } 06221 }; 06222 06223 struct RedistTransaction401AbortTransactionRsp : 06224 public RedistTransaction401AbortTransactionCB { 06225 RedistTransaction401AbortTransactionRsp(const RedistTransaction401AbortTransactionRF& cb) 06226 : RedistTransaction401AbortTransactionCB(cb) { } 06227 06228 }; 06229 06230 virtual void async_redist_transaction4_0_1_abort_transaction 06231 ( 06232 const uint32_t& tid, 06233 RedistTransaction401AbortTransactionCB); 06234 #endif 06235 06262 virtual XrlCmdError redist_transaction4_0_1_add_route( 06263 // Input values, 06264 const uint32_t& tid, 06265 const IPv4Net& dst, 06266 const IPv4& nexthop, 06267 const string& ifname, 06268 const string& vifname, 06269 const uint32_t& metric, 06270 const uint32_t& admin_distance, 06271 const string& cookie, 06272 const string& protocol_origin) = 0; 06273 #ifdef XORP_ENABLE_ASYNC_SERVER 06274 typedef 06275 XorpCallback1<void, const XrlCmdError &>::RefPtr 06276 RedistTransaction401AddRouteRF; 06277 06278 class RedistTransaction401AddRouteCB { 06279 RedistTransaction401AddRouteRF cb; 06280 06281 public: 06282 operator const RedistTransaction401AddRouteRF& () const { return cb; } 06283 const RedistTransaction401AddRouteRF& operator ->() const { return cb; } 06284 RedistTransaction401AddRouteCB(const RedistTransaction401AddRouteRF& cb) 06285 : cb(cb) { } 06286 06287 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06288 06289 void respond() const { 06290 cb->dispatch(XrlCmdError::OKAY()); 06291 } 06292 }; 06293 06294 struct RedistTransaction401AddRouteRsp : 06295 public RedistTransaction401AddRouteCB { 06296 RedistTransaction401AddRouteRsp(const RedistTransaction401AddRouteRF& cb) 06297 : RedistTransaction401AddRouteCB(cb) { } 06298 06299 }; 06300 06301 virtual void async_redist_transaction4_0_1_add_route 06302 ( 06303 const uint32_t& tid, 06304 const IPv4Net& dst, 06305 const IPv4& nexthop, 06306 const string& ifname, 06307 const string& vifname, 06308 const uint32_t& metric, 06309 const uint32_t& admin_distance, 06310 const string& cookie, 06311 const string& protocol_origin, 06312 RedistTransaction401AddRouteCB); 06313 #endif 06314 06315 virtual XrlCmdError redist_transaction4_0_1_delete_route( 06316 // Input values, 06317 const uint32_t& tid, 06318 const IPv4Net& dst, 06319 const IPv4& nexthop, 06320 const string& ifname, 06321 const string& vifname, 06322 const uint32_t& metric, 06323 const uint32_t& admin_distance, 06324 const string& cookie, 06325 const string& protocol_origin) = 0; 06326 #ifdef XORP_ENABLE_ASYNC_SERVER 06327 typedef 06328 XorpCallback1<void, const XrlCmdError &>::RefPtr 06329 RedistTransaction401DeleteRouteRF; 06330 06331 class RedistTransaction401DeleteRouteCB { 06332 RedistTransaction401DeleteRouteRF cb; 06333 06334 public: 06335 operator const RedistTransaction401DeleteRouteRF& () const { return cb; } 06336 const RedistTransaction401DeleteRouteRF& operator ->() const { return cb; } 06337 RedistTransaction401DeleteRouteCB(const RedistTransaction401DeleteRouteRF& cb) 06338 : cb(cb) { } 06339 06340 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06341 06342 void respond() const { 06343 cb->dispatch(XrlCmdError::OKAY()); 06344 } 06345 }; 06346 06347 struct RedistTransaction401DeleteRouteRsp : 06348 public RedistTransaction401DeleteRouteCB { 06349 RedistTransaction401DeleteRouteRsp(const RedistTransaction401DeleteRouteRF& cb) 06350 : RedistTransaction401DeleteRouteCB(cb) { } 06351 06352 }; 06353 06354 virtual void async_redist_transaction4_0_1_delete_route 06355 ( 06356 const uint32_t& tid, 06357 const IPv4Net& dst, 06358 const IPv4& nexthop, 06359 const string& ifname, 06360 const string& vifname, 06361 const uint32_t& metric, 06362 const uint32_t& admin_distance, 06363 const string& cookie, 06364 const string& protocol_origin, 06365 RedistTransaction401DeleteRouteCB); 06366 #endif 06367 06378 virtual XrlCmdError redist_transaction4_0_1_delete_all_routes( 06379 // Input values, 06380 const uint32_t& tid, 06381 const string& cookie) = 0; 06382 #ifdef XORP_ENABLE_ASYNC_SERVER 06383 typedef 06384 XorpCallback1<void, const XrlCmdError &>::RefPtr 06385 RedistTransaction401DeleteAllRoutesRF; 06386 06387 class RedistTransaction401DeleteAllRoutesCB { 06388 RedistTransaction401DeleteAllRoutesRF cb; 06389 06390 public: 06391 operator const RedistTransaction401DeleteAllRoutesRF& () const { return cb; } 06392 const RedistTransaction401DeleteAllRoutesRF& operator ->() const { return cb; } 06393 RedistTransaction401DeleteAllRoutesCB(const RedistTransaction401DeleteAllRoutesRF& cb) 06394 : cb(cb) { } 06395 06396 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06397 06398 void respond() const { 06399 cb->dispatch(XrlCmdError::OKAY()); 06400 } 06401 }; 06402 06403 struct RedistTransaction401DeleteAllRoutesRsp : 06404 public RedistTransaction401DeleteAllRoutesCB { 06405 RedistTransaction401DeleteAllRoutesRsp(const RedistTransaction401DeleteAllRoutesRF& cb) 06406 : RedistTransaction401DeleteAllRoutesCB(cb) { } 06407 06408 }; 06409 06410 virtual void async_redist_transaction4_0_1_delete_all_routes 06411 ( 06412 const uint32_t& tid, 06413 const string& cookie, 06414 RedistTransaction401DeleteAllRoutesCB); 06415 #endif 06416 06436 virtual XrlCmdError raw_link_0_1_send( 06437 // Input values, 06438 const string& if_name, 06439 const string& vif_name, 06440 const Mac& src_address, 06441 const Mac& dst_address, 06442 const uint32_t& ether_type, 06443 const vector<uint8_t>& payload) = 0; 06444 #ifdef XORP_ENABLE_ASYNC_SERVER 06445 typedef 06446 XorpCallback1<void, const XrlCmdError &>::RefPtr 06447 RawLink01SendRF; 06448 06449 class RawLink01SendCB { 06450 RawLink01SendRF cb; 06451 06452 public: 06453 operator const RawLink01SendRF& () const { return cb; } 06454 const RawLink01SendRF& operator ->() const { return cb; } 06455 RawLink01SendCB(const RawLink01SendRF& cb) 06456 : cb(cb) { } 06457 06458 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06459 06460 void respond() const { 06461 cb->dispatch(XrlCmdError::OKAY()); 06462 } 06463 }; 06464 06465 struct RawLink01SendRsp : 06466 public RawLink01SendCB { 06467 RawLink01SendRsp(const RawLink01SendRF& cb) 06468 : RawLink01SendCB(cb) { } 06469 06470 }; 06471 06472 virtual void async_raw_link_0_1_send 06473 ( 06474 const string& if_name, 06475 const string& vif_name, 06476 const Mac& src_address, 06477 const Mac& dst_address, 06478 const uint32_t& ether_type, 06479 const vector<uint8_t>& payload, 06480 RawLink01SendCB); 06481 #endif 06482 06509 virtual XrlCmdError raw_link_0_1_register_receiver( 06510 // Input values, 06511 const string& xrl_target_instance_name, 06512 const string& if_name, 06513 const string& vif_name, 06514 const uint32_t& ether_type, 06515 const string& filter_program, 06516 const bool& enable_multicast_loopback) = 0; 06517 #ifdef XORP_ENABLE_ASYNC_SERVER 06518 typedef 06519 XorpCallback1<void, const XrlCmdError &>::RefPtr 06520 RawLink01RegisterReceiverRF; 06521 06522 class RawLink01RegisterReceiverCB { 06523 RawLink01RegisterReceiverRF cb; 06524 06525 public: 06526 operator const RawLink01RegisterReceiverRF& () const { return cb; } 06527 const RawLink01RegisterReceiverRF& operator ->() const { return cb; } 06528 RawLink01RegisterReceiverCB(const RawLink01RegisterReceiverRF& cb) 06529 : cb(cb) { } 06530 06531 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06532 06533 void respond() const { 06534 cb->dispatch(XrlCmdError::OKAY()); 06535 } 06536 }; 06537 06538 struct RawLink01RegisterReceiverRsp : 06539 public RawLink01RegisterReceiverCB { 06540 RawLink01RegisterReceiverRsp(const RawLink01RegisterReceiverRF& cb) 06541 : RawLink01RegisterReceiverCB(cb) { } 06542 06543 }; 06544 06545 virtual void async_raw_link_0_1_register_receiver 06546 ( 06547 const string& xrl_target_instance_name, 06548 const string& if_name, 06549 const string& vif_name, 06550 const uint32_t& ether_type, 06551 const string& filter_program, 06552 const bool& enable_multicast_loopback, 06553 RawLink01RegisterReceiverCB); 06554 #endif 06555 06578 virtual XrlCmdError raw_link_0_1_unregister_receiver( 06579 // Input values, 06580 const string& xrl_target_instance_name, 06581 const string& if_name, 06582 const string& vif_name, 06583 const uint32_t& ether_type, 06584 const string& filter_program) = 0; 06585 #ifdef XORP_ENABLE_ASYNC_SERVER 06586 typedef 06587 XorpCallback1<void, const XrlCmdError &>::RefPtr 06588 RawLink01UnregisterReceiverRF; 06589 06590 class RawLink01UnregisterReceiverCB { 06591 RawLink01UnregisterReceiverRF cb; 06592 06593 public: 06594 operator const RawLink01UnregisterReceiverRF& () const { return cb; } 06595 const RawLink01UnregisterReceiverRF& operator ->() const { return cb; } 06596 RawLink01UnregisterReceiverCB(const RawLink01UnregisterReceiverRF& cb) 06597 : cb(cb) { } 06598 06599 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06600 06601 void respond() const { 06602 cb->dispatch(XrlCmdError::OKAY()); 06603 } 06604 }; 06605 06606 struct RawLink01UnregisterReceiverRsp : 06607 public RawLink01UnregisterReceiverCB { 06608 RawLink01UnregisterReceiverRsp(const RawLink01UnregisterReceiverRF& cb) 06609 : RawLink01UnregisterReceiverCB(cb) { } 06610 06611 }; 06612 06613 virtual void async_raw_link_0_1_unregister_receiver 06614 ( 06615 const string& xrl_target_instance_name, 06616 const string& if_name, 06617 const string& vif_name, 06618 const uint32_t& ether_type, 06619 const string& filter_program, 06620 RawLink01UnregisterReceiverCB); 06621 #endif 06622 06646 virtual XrlCmdError raw_link_0_1_join_multicast_group( 06647 // Input values, 06648 const string& xrl_target_instance_name, 06649 const string& if_name, 06650 const string& vif_name, 06651 const uint32_t& ether_type, 06652 const string& filter_program, 06653 const Mac& group_address) = 0; 06654 #ifdef XORP_ENABLE_ASYNC_SERVER 06655 typedef 06656 XorpCallback1<void, const XrlCmdError &>::RefPtr 06657 RawLink01JoinMulticastGroupRF; 06658 06659 class RawLink01JoinMulticastGroupCB { 06660 RawLink01JoinMulticastGroupRF cb; 06661 06662 public: 06663 operator const RawLink01JoinMulticastGroupRF& () const { return cb; } 06664 const RawLink01JoinMulticastGroupRF& operator ->() const { return cb; } 06665 RawLink01JoinMulticastGroupCB(const RawLink01JoinMulticastGroupRF& cb) 06666 : cb(cb) { } 06667 06668 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06669 06670 void respond() const { 06671 cb->dispatch(XrlCmdError::OKAY()); 06672 } 06673 }; 06674 06675 struct RawLink01JoinMulticastGroupRsp : 06676 public RawLink01JoinMulticastGroupCB { 06677 RawLink01JoinMulticastGroupRsp(const RawLink01JoinMulticastGroupRF& cb) 06678 : RawLink01JoinMulticastGroupCB(cb) { } 06679 06680 }; 06681 06682 virtual void async_raw_link_0_1_join_multicast_group 06683 ( 06684 const string& xrl_target_instance_name, 06685 const string& if_name, 06686 const string& vif_name, 06687 const uint32_t& ether_type, 06688 const string& filter_program, 06689 const Mac& group_address, 06690 RawLink01JoinMulticastGroupCB); 06691 #endif 06692 06717 virtual XrlCmdError raw_link_0_1_leave_multicast_group( 06718 // Input values, 06719 const string& xrl_target_instance_name, 06720 const string& if_name, 06721 const string& vif_name, 06722 const uint32_t& ether_type, 06723 const string& filter_program, 06724 const Mac& group_address) = 0; 06725 #ifdef XORP_ENABLE_ASYNC_SERVER 06726 typedef 06727 XorpCallback1<void, const XrlCmdError &>::RefPtr 06728 RawLink01LeaveMulticastGroupRF; 06729 06730 class RawLink01LeaveMulticastGroupCB { 06731 RawLink01LeaveMulticastGroupRF cb; 06732 06733 public: 06734 operator const RawLink01LeaveMulticastGroupRF& () const { return cb; } 06735 const RawLink01LeaveMulticastGroupRF& operator ->() const { return cb; } 06736 RawLink01LeaveMulticastGroupCB(const RawLink01LeaveMulticastGroupRF& cb) 06737 : cb(cb) { } 06738 06739 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06740 06741 void respond() const { 06742 cb->dispatch(XrlCmdError::OKAY()); 06743 } 06744 }; 06745 06746 struct RawLink01LeaveMulticastGroupRsp : 06747 public RawLink01LeaveMulticastGroupCB { 06748 RawLink01LeaveMulticastGroupRsp(const RawLink01LeaveMulticastGroupRF& cb) 06749 : RawLink01LeaveMulticastGroupCB(cb) { } 06750 06751 }; 06752 06753 virtual void async_raw_link_0_1_leave_multicast_group 06754 ( 06755 const string& xrl_target_instance_name, 06756 const string& if_name, 06757 const string& vif_name, 06758 const uint32_t& ether_type, 06759 const string& filter_program, 06760 const Mac& group_address, 06761 RawLink01LeaveMulticastGroupCB); 06762 #endif 06763 06796 virtual XrlCmdError raw_packet4_0_1_send( 06797 // Input values, 06798 const string& if_name, 06799 const string& vif_name, 06800 const IPv4& src_address, 06801 const IPv4& dst_address, 06802 const uint32_t& ip_protocol, 06803 const int32_t& ip_ttl, 06804 const int32_t& ip_tos, 06805 const bool& ip_router_alert, 06806 const bool& ip_internet_control, 06807 const vector<uint8_t>& payload) = 0; 06808 #ifdef XORP_ENABLE_ASYNC_SERVER 06809 typedef 06810 XorpCallback1<void, const XrlCmdError &>::RefPtr 06811 RawPacket401SendRF; 06812 06813 class RawPacket401SendCB { 06814 RawPacket401SendRF cb; 06815 06816 public: 06817 operator const RawPacket401SendRF& () const { return cb; } 06818 const RawPacket401SendRF& operator ->() const { return cb; } 06819 RawPacket401SendCB(const RawPacket401SendRF& cb) 06820 : cb(cb) { } 06821 06822 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06823 06824 void respond() const { 06825 cb->dispatch(XrlCmdError::OKAY()); 06826 } 06827 }; 06828 06829 struct RawPacket401SendRsp : 06830 public RawPacket401SendCB { 06831 RawPacket401SendRsp(const RawPacket401SendRF& cb) 06832 : RawPacket401SendCB(cb) { } 06833 06834 }; 06835 06836 virtual void async_raw_packet4_0_1_send 06837 ( 06838 const string& if_name, 06839 const string& vif_name, 06840 const IPv4& src_address, 06841 const IPv4& dst_address, 06842 const uint32_t& ip_protocol, 06843 const int32_t& ip_ttl, 06844 const int32_t& ip_tos, 06845 const bool& ip_router_alert, 06846 const bool& ip_internet_control, 06847 const vector<uint8_t>& payload, 06848 RawPacket401SendCB); 06849 #endif 06850 06872 virtual XrlCmdError raw_packet4_0_1_register_receiver( 06873 // Input values, 06874 const string& xrl_target_instance_name, 06875 const string& if_name, 06876 const string& vif_name, 06877 const uint32_t& ip_protocol, 06878 const bool& enable_multicast_loopback) = 0; 06879 #ifdef XORP_ENABLE_ASYNC_SERVER 06880 typedef 06881 XorpCallback1<void, const XrlCmdError &>::RefPtr 06882 RawPacket401RegisterReceiverRF; 06883 06884 class RawPacket401RegisterReceiverCB { 06885 RawPacket401RegisterReceiverRF cb; 06886 06887 public: 06888 operator const RawPacket401RegisterReceiverRF& () const { return cb; } 06889 const RawPacket401RegisterReceiverRF& operator ->() const { return cb; } 06890 RawPacket401RegisterReceiverCB(const RawPacket401RegisterReceiverRF& cb) 06891 : cb(cb) { } 06892 06893 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06894 06895 void respond() const { 06896 cb->dispatch(XrlCmdError::OKAY()); 06897 } 06898 }; 06899 06900 struct RawPacket401RegisterReceiverRsp : 06901 public RawPacket401RegisterReceiverCB { 06902 RawPacket401RegisterReceiverRsp(const RawPacket401RegisterReceiverRF& cb) 06903 : RawPacket401RegisterReceiverCB(cb) { } 06904 06905 }; 06906 06907 virtual void async_raw_packet4_0_1_register_receiver 06908 ( 06909 const string& xrl_target_instance_name, 06910 const string& if_name, 06911 const string& vif_name, 06912 const uint32_t& ip_protocol, 06913 const bool& enable_multicast_loopback, 06914 RawPacket401RegisterReceiverCB); 06915 #endif 06916 06934 virtual XrlCmdError raw_packet4_0_1_unregister_receiver( 06935 // Input values, 06936 const string& xrl_target_instance_name, 06937 const string& if_name, 06938 const string& vif_name, 06939 const uint32_t& ip_protocol) = 0; 06940 #ifdef XORP_ENABLE_ASYNC_SERVER 06941 typedef 06942 XorpCallback1<void, const XrlCmdError &>::RefPtr 06943 RawPacket401UnregisterReceiverRF; 06944 06945 class RawPacket401UnregisterReceiverCB { 06946 RawPacket401UnregisterReceiverRF cb; 06947 06948 public: 06949 operator const RawPacket401UnregisterReceiverRF& () const { return cb; } 06950 const RawPacket401UnregisterReceiverRF& operator ->() const { return cb; } 06951 RawPacket401UnregisterReceiverCB(const RawPacket401UnregisterReceiverRF& cb) 06952 : cb(cb) { } 06953 06954 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 06955 06956 void respond() const { 06957 cb->dispatch(XrlCmdError::OKAY()); 06958 } 06959 }; 06960 06961 struct RawPacket401UnregisterReceiverRsp : 06962 public RawPacket401UnregisterReceiverCB { 06963 RawPacket401UnregisterReceiverRsp(const RawPacket401UnregisterReceiverRF& cb) 06964 : RawPacket401UnregisterReceiverCB(cb) { } 06965 06966 }; 06967 06968 virtual void async_raw_packet4_0_1_unregister_receiver 06969 ( 06970 const string& xrl_target_instance_name, 06971 const string& if_name, 06972 const string& vif_name, 06973 const uint32_t& ip_protocol, 06974 RawPacket401UnregisterReceiverCB); 06975 #endif 06976 06995 virtual XrlCmdError raw_packet4_0_1_join_multicast_group( 06996 // Input values, 06997 const string& xrl_target_instance_name, 06998 const string& if_name, 06999 const string& vif_name, 07000 const uint32_t& ip_protocol, 07001 const IPv4& group_address) = 0; 07002 #ifdef XORP_ENABLE_ASYNC_SERVER 07003 typedef 07004 XorpCallback1<void, const XrlCmdError &>::RefPtr 07005 RawPacket401JoinMulticastGroupRF; 07006 07007 class RawPacket401JoinMulticastGroupCB { 07008 RawPacket401JoinMulticastGroupRF cb; 07009 07010 public: 07011 operator const RawPacket401JoinMulticastGroupRF& () const { return cb; } 07012 const RawPacket401JoinMulticastGroupRF& operator ->() const { return cb; } 07013 RawPacket401JoinMulticastGroupCB(const RawPacket401JoinMulticastGroupRF& cb) 07014 : cb(cb) { } 07015 07016 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 07017 07018 void respond() const { 07019 cb->dispatch(XrlCmdError::OKAY()); 07020 } 07021 }; 07022 07023 struct RawPacket401JoinMulticastGroupRsp : 07024 public RawPacket401JoinMulticastGroupCB { 07025 RawPacket401JoinMulticastGroupRsp(const RawPacket401JoinMulticastGroupRF& cb) 07026 : RawPacket401JoinMulticastGroupCB(cb) { } 07027 07028 }; 07029 07030 virtual void async_raw_packet4_0_1_join_multicast_group 07031 ( 07032 const string& xrl_target_instance_name, 07033 const string& if_name, 07034 const string& vif_name, 07035 const uint32_t& ip_protocol, 07036 const IPv4& group_address, 07037 RawPacket401JoinMulticastGroupCB); 07038 #endif 07039 07059 virtual XrlCmdError raw_packet4_0_1_leave_multicast_group( 07060 // Input values, 07061 const string& xrl_target_instance_name, 07062 const string& if_name, 07063 const string& vif_name, 07064 const uint32_t& ip_protocol, 07065 const IPv4& group_address) = 0; 07066 #ifdef XORP_ENABLE_ASYNC_SERVER 07067 typedef 07068 XorpCallback1<void, const XrlCmdError &>::RefPtr 07069 RawPacket401LeaveMulticastGroupRF; 07070 07071 class RawPacket401LeaveMulticastGroupCB { 07072 RawPacket401LeaveMulticastGroupRF cb; 07073 07074 public: 07075 operator const RawPacket401LeaveMulticastGroupRF& () const { return cb; } 07076 const RawPacket401LeaveMulticastGroupRF& operator ->() const { return cb; } 07077 RawPacket401LeaveMulticastGroupCB(const RawPacket401LeaveMulticastGroupRF& cb) 07078 : cb(cb) { } 07079 07080 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 07081 07082 void respond() const { 07083 cb->dispatch(XrlCmdError::OKAY()); 07084 } 07085 }; 07086 07087 struct RawPacket401LeaveMulticastGroupRsp : 07088 public RawPacket401LeaveMulticastGroupCB { 07089 RawPacket401LeaveMulticastGroupRsp(const RawPacket401LeaveMulticastGroupRF& cb) 07090 : RawPacket401LeaveMulticastGroupCB(cb) { } 07091 07092 }; 07093 07094 virtual void async_raw_packet4_0_1_leave_multicast_group 07095 ( 07096 const string& xrl_target_instance_name, 07097 const string& if_name, 07098 const string& vif_name, 07099 const uint32_t& ip_protocol, 07100 const IPv4& group_address, 07101 RawPacket401LeaveMulticastGroupCB); 07102 #endif 07103 07115 virtual XrlCmdError socket4_0_1_tcp_open( 07116 // Input values, 07117 const string& creator, 07118 // Output values, 07119 string& sockid) = 0; 07120 #ifdef XORP_ENABLE_ASYNC_SERVER 07121 typedef 07122 XorpCallback2<void, const XrlCmdError &, 07123 const string*>::RefPtr 07124 Socket401TcpOpenRF; 07125 07126 class Socket401TcpOpenCB { 07127 Socket401TcpOpenRF cb; 07128 07129 public: 07130 operator const Socket401TcpOpenRF& () const { return cb; } 07131 const Socket401TcpOpenRF& operator ->() const { return cb; } 07132 Socket401TcpOpenCB(const Socket401TcpOpenRF& cb) 07133 : cb(cb) { } 07134 07135 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 07136 07137 void respond(const string& arg_sockid) const { 07138 cb->dispatch(XrlCmdError::OKAY(), 07139 &arg_sockid); 07140 } 07141 }; 07142 07143 struct Socket401TcpOpenRsp : 07144 public Socket401TcpOpenCB { 07145 struct args_str { 07146 string sockid; 07147 }; 07148 07149 private: 07150 args_str args; 07151 07152 public: 07153 Socket401TcpOpenRsp(const Socket401TcpOpenRF& cb) 07154 : Socket401TcpOpenCB(cb) { } 07155 07156 void respond() const { 07157 Socket401TcpOpenCB:: 07158 respond(args.sockid); 07159 } 07160 07161 args_str* operator ->() { 07162 return &args; 07163 } 07164 }; 07165 07166 virtual void async_socket4_0_1_tcp_open 07167 ( 07168 const string& creator, 07169 Socket401TcpOpenCB); 07170 #endif 07171 07183 virtual XrlCmdError socket4_0_1_udp_open( 07184 // Input values, 07185 const string& creator, 07186 // Output values, 07187 string& sockid) = 0; 07188 #ifdef XORP_ENABLE_ASYNC_SERVER 07189 typedef 07190 XorpCallback2<void, const XrlCmdError &, 07191 const string*>::RefPtr 07192 Socket401UdpOpenRF; 07193 07194 class Socket401UdpOpenCB { 07195 Socket401UdpOpenRF cb; 07196 07197 public: 07198 operator const Socket401UdpOpenRF& () const { return cb; } 07199 const Socket401UdpOpenRF& operator ->() const { return cb; } 07200 Socket401UdpOpenCB(const Socket401UdpOpenRF& cb) 07201 : cb(cb) { } 07202 07203 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 07204 07205 void respond(const string& arg_sockid) const { 07206 cb->dispatch(XrlCmdError::OKAY(), 07207 &arg_sockid); 07208 } 07209 }; 07210 07211 struct Socket401UdpOpenRsp : 07212 public Socket401UdpOpenCB { 07213 struct args_str { 07214 string sockid; 07215 }; 07216 07217 private: 07218 args_str args; 07219 07220 public: 07221 Socket401UdpOpenRsp(const Socket401UdpOpenRF& cb) 07222 : Socket401UdpOpenCB(cb) { } 07223 07224 void respond() const { 07225 Socket401UdpOpenCB:: 07226 respond(args.sockid); 07227 } 07228 07229 args_str* operator ->() { 07230 return &args; 07231 } 07232 }; 07233 07234 virtual void async_socket4_0_1_udp_open 07235 ( 07236 const string& creator, 07237 Socket401UdpOpenCB); 07238 #endif 07239 07255 virtual XrlCmdError socket4_0_1_tcp_open_and_bind( 07256 // Input values, 07257 const string& creator, 07258 const IPv4& local_addr, 07259 const uint32_t& local_port, 07260 // Output values, 07261 string& sockid) = 0; 07262 #ifdef XORP_ENABLE_ASYNC_SERVER 07263 typedef 07264 XorpCallback2<void, const XrlCmdError &, 07265 const string*>::RefPtr 07266 Socket401TcpOpenAndBindRF; 07267 07268 class Socket401TcpOpenAndBindCB { 07269 Socket401TcpOpenAndBindRF cb; 07270 07271 public: 07272 operator const Socket401TcpOpenAndBindRF& () const { return cb; } 07273 const Socket401TcpOpenAndBindRF& operator ->() const { return cb; } 07274 Socket401TcpOpenAndBindCB(const Socket401TcpOpenAndBindRF& cb) 07275 : cb(cb) { } 07276 07277 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 07278 07279 void respond(const string& arg_sockid) const { 07280 cb->dispatch(XrlCmdError::OKAY(), 07281 &arg_sockid); 07282 } 07283 }; 07284 07285 struct Socket401TcpOpenAndBindRsp : 07286 public Socket401TcpOpenAndBindCB { 07287 struct args_str { 07288 string sockid; 07289 }; 07290 07291 private: 07292 args_str args; 07293 07294 public: 07295 Socket401TcpOpenAndBindRsp(const Socket401TcpOpenAndBindRF& cb) 07296 : Socket401TcpOpenAndBindCB(cb) { } 07297 07298 void respond() const { 07299 Socket401TcpOpenAndBindCB:: 07300 respond(args.sockid); 07301 } 07302 07303 args_str* operator ->() { 07304 return &args; 07305 } 07306 }; 07307 07308 virtual void async_socket4_0_1_tcp_open_and_bind 07309 ( 07310 const string& creator, 07311 const IPv4& local_addr, 07312 const uint32_t& local_port, 07313 Socket401TcpOpenAndBindCB); 07314 #endif 07315 07331 virtual XrlCmdError socket4_0_1_udp_open_and_bind( 07332 // Input values, 07333 const string& creator, 07334 const IPv4& local_addr, 07335 const uint32_t& local_port, 07336 const string& local_dev, 07337 const uint32_t& reuse, 07338 // Output values, 07339 string& sockid) = 0; 07340 #ifdef XORP_ENABLE_ASYNC_SERVER 07341 typedef 07342 XorpCallback2<void, const XrlCmdError &, 07343 const string*>::RefPtr 07344 Socket401UdpOpenAndBindRF; 07345 07346 class Socket401UdpOpenAndBindCB { 07347 Socket401UdpOpenAndBindRF cb; 07348 07349 public: 07350 operator const Socket401UdpOpenAndBindRF& () const { return cb; } 07351 const Socket401UdpOpenAndBindRF& operator ->() const { return cb; } 07352 Socket401UdpOpenAndBindCB(const Socket401UdpOpenAndBindRF& cb) 07353 : cb(cb) { } 07354 07355 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 07356 07357 void respond(const string& arg_sockid) const { 07358 cb->dispatch(XrlCmdError::OKAY(), 07359 &arg_sockid); 07360 } 07361 }; 07362 07363 struct Socket401UdpOpenAndBindRsp : 07364 public Socket401UdpOpenAndBindCB { 07365 struct args_str { 07366 string sockid; 07367 }; 07368 07369 private: 07370 args_str args; 07371 07372 public: 07373 Socket401UdpOpenAndBindRsp(const Socket401UdpOpenAndBindRF& cb) 07374 : Socket401UdpOpenAndBindCB(cb) { } 07375 07376 void respond() const { 07377 Socket401UdpOpenAndBindCB:: 07378 respond(args.sockid); 07379 } 07380 07381 args_str* operator ->() { 07382 return &args; 07383 } 07384 }; 07385 07386 virtual void async_socket4_0_1_udp_open_and_bind 07387 ( 07388 const string& creator, 07389 const IPv4& local_addr, 07390 const uint32_t& local_port, 07391 const string& local_dev, 07392 const uint32_t& reuse, 07393 Socket401UdpOpenAndBindCB); 07394 #endif 07395 07417 virtual XrlCmdError socket4_0_1_udp_open_bind_join( 07418 // Input values, 07419 const string& creator, 07420 const IPv4& local_addr, 07421 const uint32_t& local_port, 07422 const IPv4& mcast_addr, 07423 const uint32_t& ttl, 07424 const bool& reuse, 07425 // Output values, 07426 string& sockid) = 0; 07427 #ifdef XORP_ENABLE_ASYNC_SERVER 07428 typedef 07429 XorpCallback2<void, const XrlCmdError &, 07430 const string*>::RefPtr 07431 Socket401UdpOpenBindJoinRF; 07432 07433 class Socket401UdpOpenBindJoinCB { 07434 Socket401UdpOpenBindJoinRF cb; 07435 07436 public: 07437 operator const Socket401UdpOpenBindJoinRF& () const { return cb; } 07438 const Socket401UdpOpenBindJoinRF& operator ->() const { return cb; } 07439 Socket401UdpOpenBindJoinCB(const Socket401UdpOpenBindJoinRF& cb) 07440 : cb(cb) { } 07441 07442 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 07443 07444 void respond(const string& arg_sockid) const { 07445 cb->dispatch(XrlCmdError::OKAY(), 07446 &arg_sockid); 07447 } 07448 }; 07449 07450 struct Socket401UdpOpenBindJoinRsp : 07451 public Socket401UdpOpenBindJoinCB { 07452 struct args_str { 07453 string sockid; 07454 }; 07455 07456 private: 07457 args_str args; 07458 07459 public: 07460 Socket401UdpOpenBindJoinRsp(const Socket401UdpOpenBindJoinRF& cb) 07461 : Socket401UdpOpenBindJoinCB(cb) { } 07462 07463 void respond() const { 07464 Socket401UdpOpenBindJoinCB:: 07465 respond(args.sockid); 07466 } 07467 07468 args_str* operator ->() { 07469 return &args; 07470 } 07471 }; 07472 07473 virtual void async_socket4_0_1_udp_open_bind_join 07474 ( 07475 const string& creator, 07476 const IPv4& local_addr, 07477 const uint32_t& local_port, 07478 const IPv4& mcast_addr, 07479 const uint32_t& ttl, 07480 const bool& reuse, 07481 Socket401UdpOpenBindJoinCB); 07482 #endif 07483 07503 virtual XrlCmdError socket4_0_1_tcp_open_bind_connect( 07504 // Input values, 07505 const string& creator, 07506 const IPv4& local_addr, 07507 const uint32_t& local_port, 07508 const IPv4& remote_addr, 07509 const uint32_t& remote_port, 07510 // Output values, 07511 string& sockid) = 0; 07512 #ifdef XORP_ENABLE_ASYNC_SERVER 07513 typedef 07514 XorpCallback2<void, const XrlCmdError &, 07515 const string*>::RefPtr 07516 Socket401TcpOpenBindConnectRF; 07517 07518 class Socket401TcpOpenBindConnectCB { 07519 Socket401TcpOpenBindConnectRF cb; 07520 07521 public: 07522 operator const Socket401TcpOpenBindConnectRF& () const { return cb; } 07523 const Socket401TcpOpenBindConnectRF& operator ->() const { return cb; } 07524 Socket401TcpOpenBindConnectCB(const Socket401TcpOpenBindConnectRF& cb) 07525 : cb(cb) { } 07526 07527 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 07528 07529 void respond(const string& arg_sockid) const { 07530 cb->dispatch(XrlCmdError::OKAY(), 07531 &arg_sockid); 07532 } 07533 }; 07534 07535 struct Socket401TcpOpenBindConnectRsp : 07536 public Socket401TcpOpenBindConnectCB { 07537 struct args_str { 07538 string sockid; 07539 }; 07540 07541 private: 07542 args_str args; 07543 07544 public: 07545 Socket401TcpOpenBindConnectRsp(const Socket401TcpOpenBindConnectRF& cb) 07546 : Socket401TcpOpenBindConnectCB(cb) { } 07547 07548 void respond() const { 07549 Socket401TcpOpenBindConnectCB:: 07550 respond(args.sockid); 07551 } 07552 07553 args_str* operator ->() { 07554 return &args; 07555 } 07556 }; 07557 07558 virtual void async_socket4_0_1_tcp_open_bind_connect 07559 ( 07560 const string& creator, 07561 const IPv4& local_addr, 07562 const uint32_t& local_port, 07563 const IPv4& remote_addr, 07564 const uint32_t& remote_port, 07565 Socket401TcpOpenBindConnectCB); 07566 #endif 07567 07587 virtual XrlCmdError socket4_0_1_udp_open_bind_connect( 07588 // Input values, 07589 const string& creator, 07590 const IPv4& local_addr, 07591 const uint32_t& local_port, 07592 const IPv4& remote_addr, 07593 const uint32_t& remote_port, 07594 // Output values, 07595 string& sockid) = 0; 07596 #ifdef XORP_ENABLE_ASYNC_SERVER 07597 typedef 07598 XorpCallback2<void, const XrlCmdError &, 07599 const string*>::RefPtr 07600 Socket401UdpOpenBindConnectRF; 07601 07602 class Socket401UdpOpenBindConnectCB { 07603 Socket401UdpOpenBindConnectRF cb; 07604 07605 public: 07606 operator const Socket401UdpOpenBindConnectRF& () const { return cb; } 07607 const Socket401UdpOpenBindConnectRF& operator ->() const { return cb; } 07608 Socket401UdpOpenBindConnectCB(const Socket401UdpOpenBindConnectRF& cb) 07609 : cb(cb) { } 07610 07611 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 07612 07613 void respond(const string& arg_sockid) const { 07614 cb->dispatch(XrlCmdError::OKAY(), 07615 &arg_sockid); 07616 } 07617 }; 07618 07619 struct Socket401UdpOpenBindConnectRsp : 07620 public Socket401UdpOpenBindConnectCB { 07621 struct args_str { 07622 string sockid; 07623 }; 07624 07625 private: 07626 args_str args; 07627 07628 public: 07629 Socket401UdpOpenBindConnectRsp(const Socket401UdpOpenBindConnectRF& cb) 07630 : Socket401UdpOpenBindConnectCB(cb) { } 07631 07632 void respond() const { 07633 Socket401UdpOpenBindConnectCB:: 07634 respond(args.sockid); 07635 } 07636 07637 args_str* operator ->() { 07638 return &args; 07639 } 07640 }; 07641 07642 virtual void async_socket4_0_1_udp_open_bind_connect 07643 ( 07644 const string& creator, 07645 const IPv4& local_addr, 07646 const uint32_t& local_port, 07647 const IPv4& remote_addr, 07648 const uint32_t& remote_port, 07649 Socket401UdpOpenBindConnectCB); 07650 #endif 07651 07682 virtual XrlCmdError socket4_0_1_udp_open_bind_broadcast( 07683 // Input values, 07684 const string& creator, 07685 const string& ifname, 07686 const string& vifname, 07687 const uint32_t& local_port, 07688 const uint32_t& remote_port, 07689 const bool& reuse, 07690 const bool& limited, 07691 const bool& connected, 07692 // Output values, 07693 string& sockid) = 0; 07694 #ifdef XORP_ENABLE_ASYNC_SERVER 07695 typedef 07696 XorpCallback2<void, const XrlCmdError &, 07697 const string*>::RefPtr 07698 Socket401UdpOpenBindBroadcastRF; 07699 07700 class Socket401UdpOpenBindBroadcastCB { 07701 Socket401UdpOpenBindBroadcastRF cb; 07702 07703 public: 07704 operator const Socket401UdpOpenBindBroadcastRF& () const { return cb; } 07705 const Socket401UdpOpenBindBroadcastRF& operator ->() const { return cb; } 07706 Socket401UdpOpenBindBroadcastCB(const Socket401UdpOpenBindBroadcastRF& cb) 07707 : cb(cb) { } 07708 07709 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 07710 07711 void respond(const string& arg_sockid) const { 07712 cb->dispatch(XrlCmdError::OKAY(), 07713 &arg_sockid); 07714 } 07715 }; 07716 07717 struct Socket401UdpOpenBindBroadcastRsp : 07718 public Socket401UdpOpenBindBroadcastCB { 07719 struct args_str { 07720 string sockid; 07721 }; 07722 07723 private: 07724 args_str args; 07725 07726 public: 07727 Socket401UdpOpenBindBroadcastRsp(const Socket401UdpOpenBindBroadcastRF& cb) 07728 : Socket401UdpOpenBindBroadcastCB(cb) { } 07729 07730 void respond() const { 07731 Socket401UdpOpenBindBroadcastCB:: 07732 respond(args.sockid); 07733 } 07734 07735 args_str* operator ->() { 07736 return &args; 07737 } 07738 }; 07739 07740 virtual void async_socket4_0_1_udp_open_bind_broadcast 07741 ( 07742 const string& creator, 07743 const string& ifname, 07744 const string& vifname, 07745 const uint32_t& local_port, 07746 const uint32_t& remote_port, 07747 const bool& reuse, 07748 const bool& limited, 07749 const bool& connected, 07750 Socket401UdpOpenBindBroadcastCB); 07751 #endif 07752 07764 virtual XrlCmdError socket4_0_1_bind( 07765 // Input values, 07766 const string& sockid, 07767 const IPv4& local_addr, 07768 const uint32_t& local_port) = 0; 07769 #ifdef XORP_ENABLE_ASYNC_SERVER 07770 typedef 07771 XorpCallback1<void, const XrlCmdError &>::RefPtr 07772 Socket401BindRF; 07773 07774 class Socket401BindCB { 07775 Socket401BindRF cb; 07776 07777 public: 07778 operator const Socket401BindRF& () const { return cb; } 07779 const Socket401BindRF& operator ->() const { return cb; } 07780 Socket401BindCB(const Socket401BindRF& cb) 07781 : cb(cb) { } 07782 07783 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 07784 07785 void respond() const { 07786 cb->dispatch(XrlCmdError::OKAY()); 07787 } 07788 }; 07789 07790 struct Socket401BindRsp : 07791 public Socket401BindCB { 07792 Socket401BindRsp(const Socket401BindRF& cb) 07793 : Socket401BindCB(cb) { } 07794 07795 }; 07796 07797 virtual void async_socket4_0_1_bind 07798 ( 07799 const string& sockid, 07800 const IPv4& local_addr, 07801 const uint32_t& local_port, 07802 Socket401BindCB); 07803 #endif 07804 07816 virtual XrlCmdError socket4_0_1_udp_join_group( 07817 // Input values, 07818 const string& sockid, 07819 const IPv4& mcast_addr, 07820 const IPv4& join_if_addr) = 0; 07821 #ifdef XORP_ENABLE_ASYNC_SERVER 07822 typedef 07823 XorpCallback1<void, const XrlCmdError &>::RefPtr 07824 Socket401UdpJoinGroupRF; 07825 07826 class Socket401UdpJoinGroupCB { 07827 Socket401UdpJoinGroupRF cb; 07828 07829 public: 07830 operator const Socket401UdpJoinGroupRF& () const { return cb; } 07831 const Socket401UdpJoinGroupRF& operator ->() const { return cb; } 07832 Socket401UdpJoinGroupCB(const Socket401UdpJoinGroupRF& cb) 07833 : cb(cb) { } 07834 07835 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 07836 07837 void respond() const { 07838 cb->dispatch(XrlCmdError::OKAY()); 07839 } 07840 }; 07841 07842 struct Socket401UdpJoinGroupRsp : 07843 public Socket401UdpJoinGroupCB { 07844 Socket401UdpJoinGroupRsp(const Socket401UdpJoinGroupRF& cb) 07845 : Socket401UdpJoinGroupCB(cb) { } 07846 07847 }; 07848 07849 virtual void async_socket4_0_1_udp_join_group 07850 ( 07851 const string& sockid, 07852 const IPv4& mcast_addr, 07853 const IPv4& join_if_addr, 07854 Socket401UdpJoinGroupCB); 07855 #endif 07856 07868 virtual XrlCmdError socket4_0_1_udp_leave_group( 07869 // Input values, 07870 const string& sockid, 07871 const IPv4& mcast_addr, 07872 const IPv4& leave_if_addr) = 0; 07873 #ifdef XORP_ENABLE_ASYNC_SERVER 07874 typedef 07875 XorpCallback1<void, const XrlCmdError &>::RefPtr 07876 Socket401UdpLeaveGroupRF; 07877 07878 class Socket401UdpLeaveGroupCB { 07879 Socket401UdpLeaveGroupRF cb; 07880 07881 public: 07882 operator const Socket401UdpLeaveGroupRF& () const { return cb; } 07883 const Socket401UdpLeaveGroupRF& operator ->() const { return cb; } 07884 Socket401UdpLeaveGroupCB(const Socket401UdpLeaveGroupRF& cb) 07885 : cb(cb) { } 07886 07887 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 07888 07889 void respond() const { 07890 cb->dispatch(XrlCmdError::OKAY()); 07891 } 07892 }; 07893 07894 struct Socket401UdpLeaveGroupRsp : 07895 public Socket401UdpLeaveGroupCB { 07896 Socket401UdpLeaveGroupRsp(const Socket401UdpLeaveGroupRF& cb) 07897 : Socket401UdpLeaveGroupCB(cb) { } 07898 07899 }; 07900 07901 virtual void async_socket4_0_1_udp_leave_group 07902 ( 07903 const string& sockid, 07904 const IPv4& mcast_addr, 07905 const IPv4& leave_if_addr, 07906 Socket401UdpLeaveGroupCB); 07907 #endif 07908 07916 virtual XrlCmdError socket4_0_1_close( 07917 // Input values, 07918 const string& sockid) = 0; 07919 #ifdef XORP_ENABLE_ASYNC_SERVER 07920 typedef 07921 XorpCallback1<void, const XrlCmdError &>::RefPtr 07922 Socket401CloseRF; 07923 07924 class Socket401CloseCB { 07925 Socket401CloseRF cb; 07926 07927 public: 07928 operator const Socket401CloseRF& () const { return cb; } 07929 const Socket401CloseRF& operator ->() const { return cb; } 07930 Socket401CloseCB(const Socket401CloseRF& cb) 07931 : cb(cb) { } 07932 07933 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 07934 07935 void respond() const { 07936 cb->dispatch(XrlCmdError::OKAY()); 07937 } 07938 }; 07939 07940 struct Socket401CloseRsp : 07941 public Socket401CloseCB { 07942 Socket401CloseRsp(const Socket401CloseRF& cb) 07943 : Socket401CloseCB(cb) { } 07944 07945 }; 07946 07947 virtual void async_socket4_0_1_close 07948 ( 07949 const string& sockid, 07950 Socket401CloseCB); 07951 #endif 07952 07964 virtual XrlCmdError socket4_0_1_tcp_listen( 07965 // Input values, 07966 const string& sockid, 07967 const uint32_t& backlog) = 0; 07968 #ifdef XORP_ENABLE_ASYNC_SERVER 07969 typedef 07970 XorpCallback1<void, const XrlCmdError &>::RefPtr 07971 Socket401TcpListenRF; 07972 07973 class Socket401TcpListenCB { 07974 Socket401TcpListenRF cb; 07975 07976 public: 07977 operator const Socket401TcpListenRF& () const { return cb; } 07978 const Socket401TcpListenRF& operator ->() const { return cb; } 07979 Socket401TcpListenCB(const Socket401TcpListenRF& cb) 07980 : cb(cb) { } 07981 07982 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 07983 07984 void respond() const { 07985 cb->dispatch(XrlCmdError::OKAY()); 07986 } 07987 }; 07988 07989 struct Socket401TcpListenRsp : 07990 public Socket401TcpListenCB { 07991 Socket401TcpListenRsp(const Socket401TcpListenRF& cb) 07992 : Socket401TcpListenCB(cb) { } 07993 07994 }; 07995 07996 virtual void async_socket4_0_1_tcp_listen 07997 ( 07998 const string& sockid, 07999 const uint32_t& backlog, 08000 Socket401TcpListenCB); 08001 #endif 08002 08015 virtual XrlCmdError socket4_0_1_udp_enable_recv( 08016 // Input values, 08017 const string& sockid) = 0; 08018 #ifdef XORP_ENABLE_ASYNC_SERVER 08019 typedef 08020 XorpCallback1<void, const XrlCmdError &>::RefPtr 08021 Socket401UdpEnableRecvRF; 08022 08023 class Socket401UdpEnableRecvCB { 08024 Socket401UdpEnableRecvRF cb; 08025 08026 public: 08027 operator const Socket401UdpEnableRecvRF& () const { return cb; } 08028 const Socket401UdpEnableRecvRF& operator ->() const { return cb; } 08029 Socket401UdpEnableRecvCB(const Socket401UdpEnableRecvRF& cb) 08030 : cb(cb) { } 08031 08032 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08033 08034 void respond() const { 08035 cb->dispatch(XrlCmdError::OKAY()); 08036 } 08037 }; 08038 08039 struct Socket401UdpEnableRecvRsp : 08040 public Socket401UdpEnableRecvCB { 08041 Socket401UdpEnableRecvRsp(const Socket401UdpEnableRecvRF& cb) 08042 : Socket401UdpEnableRecvCB(cb) { } 08043 08044 }; 08045 08046 virtual void async_socket4_0_1_udp_enable_recv 08047 ( 08048 const string& sockid, 08049 Socket401UdpEnableRecvCB); 08050 #endif 08051 08061 virtual XrlCmdError socket4_0_1_send( 08062 // Input values, 08063 const string& sockid, 08064 const vector<uint8_t>& data) = 0; 08065 #ifdef XORP_ENABLE_ASYNC_SERVER 08066 typedef 08067 XorpCallback1<void, const XrlCmdError &>::RefPtr 08068 Socket401SendRF; 08069 08070 class Socket401SendCB { 08071 Socket401SendRF cb; 08072 08073 public: 08074 operator const Socket401SendRF& () const { return cb; } 08075 const Socket401SendRF& operator ->() const { return cb; } 08076 Socket401SendCB(const Socket401SendRF& cb) 08077 : cb(cb) { } 08078 08079 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08080 08081 void respond() const { 08082 cb->dispatch(XrlCmdError::OKAY()); 08083 } 08084 }; 08085 08086 struct Socket401SendRsp : 08087 public Socket401SendCB { 08088 Socket401SendRsp(const Socket401SendRF& cb) 08089 : Socket401SendCB(cb) { } 08090 08091 }; 08092 08093 virtual void async_socket4_0_1_send 08094 ( 08095 const string& sockid, 08096 const vector<uint8_t>& data, 08097 Socket401SendCB); 08098 #endif 08099 08115 virtual XrlCmdError socket4_0_1_send_to( 08116 // Input values, 08117 const string& sockid, 08118 const IPv4& remote_addr, 08119 const uint32_t& remote_port, 08120 const vector<uint8_t>& data) = 0; 08121 #ifdef XORP_ENABLE_ASYNC_SERVER 08122 typedef 08123 XorpCallback1<void, const XrlCmdError &>::RefPtr 08124 Socket401SendToRF; 08125 08126 class Socket401SendToCB { 08127 Socket401SendToRF cb; 08128 08129 public: 08130 operator const Socket401SendToRF& () const { return cb; } 08131 const Socket401SendToRF& operator ->() const { return cb; } 08132 Socket401SendToCB(const Socket401SendToRF& cb) 08133 : cb(cb) { } 08134 08135 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08136 08137 void respond() const { 08138 cb->dispatch(XrlCmdError::OKAY()); 08139 } 08140 }; 08141 08142 struct Socket401SendToRsp : 08143 public Socket401SendToCB { 08144 Socket401SendToRsp(const Socket401SendToRF& cb) 08145 : Socket401SendToCB(cb) { } 08146 08147 }; 08148 08149 virtual void async_socket4_0_1_send_to 08150 ( 08151 const string& sockid, 08152 const IPv4& remote_addr, 08153 const uint32_t& remote_port, 08154 const vector<uint8_t>& data, 08155 Socket401SendToCB); 08156 #endif 08157 08171 virtual XrlCmdError socket4_0_1_send_from_multicast_if( 08172 // Input values, 08173 const string& sockid, 08174 const IPv4& group_addr, 08175 const uint32_t& group_port, 08176 const IPv4& ifaddr, 08177 const vector<uint8_t>& data) = 0; 08178 #ifdef XORP_ENABLE_ASYNC_SERVER 08179 typedef 08180 XorpCallback1<void, const XrlCmdError &>::RefPtr 08181 Socket401SendFromMulticastIfRF; 08182 08183 class Socket401SendFromMulticastIfCB { 08184 Socket401SendFromMulticastIfRF cb; 08185 08186 public: 08187 operator const Socket401SendFromMulticastIfRF& () const { return cb; } 08188 const Socket401SendFromMulticastIfRF& operator ->() const { return cb; } 08189 Socket401SendFromMulticastIfCB(const Socket401SendFromMulticastIfRF& cb) 08190 : cb(cb) { } 08191 08192 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08193 08194 void respond() const { 08195 cb->dispatch(XrlCmdError::OKAY()); 08196 } 08197 }; 08198 08199 struct Socket401SendFromMulticastIfRsp : 08200 public Socket401SendFromMulticastIfCB { 08201 Socket401SendFromMulticastIfRsp(const Socket401SendFromMulticastIfRF& cb) 08202 : Socket401SendFromMulticastIfCB(cb) { } 08203 08204 }; 08205 08206 virtual void async_socket4_0_1_send_from_multicast_if 08207 ( 08208 const string& sockid, 08209 const IPv4& group_addr, 08210 const uint32_t& group_port, 08211 const IPv4& ifaddr, 08212 const vector<uint8_t>& data, 08213 Socket401SendFromMulticastIfCB); 08214 #endif 08215 08233 virtual XrlCmdError socket4_0_1_set_socket_option( 08234 // Input values, 08235 const string& sockid, 08236 const string& optname, 08237 const uint32_t& optval) = 0; 08238 #ifdef XORP_ENABLE_ASYNC_SERVER 08239 typedef 08240 XorpCallback1<void, const XrlCmdError &>::RefPtr 08241 Socket401SetSocketOptionRF; 08242 08243 class Socket401SetSocketOptionCB { 08244 Socket401SetSocketOptionRF cb; 08245 08246 public: 08247 operator const Socket401SetSocketOptionRF& () const { return cb; } 08248 const Socket401SetSocketOptionRF& operator ->() const { return cb; } 08249 Socket401SetSocketOptionCB(const Socket401SetSocketOptionRF& cb) 08250 : cb(cb) { } 08251 08252 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08253 08254 void respond() const { 08255 cb->dispatch(XrlCmdError::OKAY()); 08256 } 08257 }; 08258 08259 struct Socket401SetSocketOptionRsp : 08260 public Socket401SetSocketOptionCB { 08261 Socket401SetSocketOptionRsp(const Socket401SetSocketOptionRF& cb) 08262 : Socket401SetSocketOptionCB(cb) { } 08263 08264 }; 08265 08266 virtual void async_socket4_0_1_set_socket_option 08267 ( 08268 const string& sockid, 08269 const string& optname, 08270 const uint32_t& optval, 08271 Socket401SetSocketOptionCB); 08272 #endif 08273 08288 virtual XrlCmdError socket4_0_1_set_socket_option_txt( 08289 // Input values, 08290 const string& sockid, 08291 const string& optname, 08292 const string& optval) = 0; 08293 #ifdef XORP_ENABLE_ASYNC_SERVER 08294 typedef 08295 XorpCallback1<void, const XrlCmdError &>::RefPtr 08296 Socket401SetSocketOptionTxtRF; 08297 08298 class Socket401SetSocketOptionTxtCB { 08299 Socket401SetSocketOptionTxtRF cb; 08300 08301 public: 08302 operator const Socket401SetSocketOptionTxtRF& () const { return cb; } 08303 const Socket401SetSocketOptionTxtRF& operator ->() const { return cb; } 08304 Socket401SetSocketOptionTxtCB(const Socket401SetSocketOptionTxtRF& cb) 08305 : cb(cb) { } 08306 08307 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08308 08309 void respond() const { 08310 cb->dispatch(XrlCmdError::OKAY()); 08311 } 08312 }; 08313 08314 struct Socket401SetSocketOptionTxtRsp : 08315 public Socket401SetSocketOptionTxtCB { 08316 Socket401SetSocketOptionTxtRsp(const Socket401SetSocketOptionTxtRF& cb) 08317 : Socket401SetSocketOptionTxtCB(cb) { } 08318 08319 }; 08320 08321 virtual void async_socket4_0_1_set_socket_option_txt 08322 ( 08323 const string& sockid, 08324 const string& optname, 08325 const string& optval, 08326 Socket401SetSocketOptionTxtCB); 08327 #endif 08328 08336 virtual XrlCmdError redist_transaction6_0_1_start_transaction( 08337 // Output values, 08338 uint32_t& tid) = 0; 08339 #ifdef XORP_ENABLE_ASYNC_SERVER 08340 typedef 08341 XorpCallback2<void, const XrlCmdError &, 08342 const uint32_t*>::RefPtr 08343 RedistTransaction601StartTransactionRF; 08344 08345 class RedistTransaction601StartTransactionCB { 08346 RedistTransaction601StartTransactionRF cb; 08347 08348 public: 08349 operator const RedistTransaction601StartTransactionRF& () const { return cb; } 08350 const RedistTransaction601StartTransactionRF& operator ->() const { return cb; } 08351 RedistTransaction601StartTransactionCB(const RedistTransaction601StartTransactionRF& cb) 08352 : cb(cb) { } 08353 08354 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 08355 08356 void respond(const uint32_t& arg_tid) const { 08357 cb->dispatch(XrlCmdError::OKAY(), 08358 &arg_tid); 08359 } 08360 }; 08361 08362 struct RedistTransaction601StartTransactionRsp : 08363 public RedistTransaction601StartTransactionCB { 08364 struct args_str { 08365 uint32_t tid; 08366 }; 08367 08368 private: 08369 args_str args; 08370 08371 public: 08372 RedistTransaction601StartTransactionRsp(const RedistTransaction601StartTransactionRF& cb) 08373 : RedistTransaction601StartTransactionCB(cb) { } 08374 08375 void respond() const { 08376 RedistTransaction601StartTransactionCB:: 08377 respond(args.tid); 08378 } 08379 08380 args_str* operator ->() { 08381 return &args; 08382 } 08383 }; 08384 08385 virtual void async_redist_transaction6_0_1_start_transaction 08386 ( 08387 RedistTransaction601StartTransactionCB); 08388 #endif 08389 08397 virtual XrlCmdError redist_transaction6_0_1_commit_transaction( 08398 // Input values, 08399 const uint32_t& tid) = 0; 08400 #ifdef XORP_ENABLE_ASYNC_SERVER 08401 typedef 08402 XorpCallback1<void, const XrlCmdError &>::RefPtr 08403 RedistTransaction601CommitTransactionRF; 08404 08405 class RedistTransaction601CommitTransactionCB { 08406 RedistTransaction601CommitTransactionRF cb; 08407 08408 public: 08409 operator const RedistTransaction601CommitTransactionRF& () const { return cb; } 08410 const RedistTransaction601CommitTransactionRF& operator ->() const { return cb; } 08411 RedistTransaction601CommitTransactionCB(const RedistTransaction601CommitTransactionRF& cb) 08412 : cb(cb) { } 08413 08414 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08415 08416 void respond() const { 08417 cb->dispatch(XrlCmdError::OKAY()); 08418 } 08419 }; 08420 08421 struct RedistTransaction601CommitTransactionRsp : 08422 public RedistTransaction601CommitTransactionCB { 08423 RedistTransaction601CommitTransactionRsp(const RedistTransaction601CommitTransactionRF& cb) 08424 : RedistTransaction601CommitTransactionCB(cb) { } 08425 08426 }; 08427 08428 virtual void async_redist_transaction6_0_1_commit_transaction 08429 ( 08430 const uint32_t& tid, 08431 RedistTransaction601CommitTransactionCB); 08432 #endif 08433 08441 virtual XrlCmdError redist_transaction6_0_1_abort_transaction( 08442 // Input values, 08443 const uint32_t& tid) = 0; 08444 #ifdef XORP_ENABLE_ASYNC_SERVER 08445 typedef 08446 XorpCallback1<void, const XrlCmdError &>::RefPtr 08447 RedistTransaction601AbortTransactionRF; 08448 08449 class RedistTransaction601AbortTransactionCB { 08450 RedistTransaction601AbortTransactionRF cb; 08451 08452 public: 08453 operator const RedistTransaction601AbortTransactionRF& () const { return cb; } 08454 const RedistTransaction601AbortTransactionRF& operator ->() const { return cb; } 08455 RedistTransaction601AbortTransactionCB(const RedistTransaction601AbortTransactionRF& cb) 08456 : cb(cb) { } 08457 08458 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08459 08460 void respond() const { 08461 cb->dispatch(XrlCmdError::OKAY()); 08462 } 08463 }; 08464 08465 struct RedistTransaction601AbortTransactionRsp : 08466 public RedistTransaction601AbortTransactionCB { 08467 RedistTransaction601AbortTransactionRsp(const RedistTransaction601AbortTransactionRF& cb) 08468 : RedistTransaction601AbortTransactionCB(cb) { } 08469 08470 }; 08471 08472 virtual void async_redist_transaction6_0_1_abort_transaction 08473 ( 08474 const uint32_t& tid, 08475 RedistTransaction601AbortTransactionCB); 08476 #endif 08477 08504 virtual XrlCmdError redist_transaction6_0_1_add_route( 08505 // Input values, 08506 const uint32_t& tid, 08507 const IPv6Net& dst, 08508 const IPv6& nexthop, 08509 const string& ifname, 08510 const string& vifname, 08511 const uint32_t& metric, 08512 const uint32_t& admin_distance, 08513 const string& cookie, 08514 const string& protocol_origin) = 0; 08515 #ifdef XORP_ENABLE_ASYNC_SERVER 08516 typedef 08517 XorpCallback1<void, const XrlCmdError &>::RefPtr 08518 RedistTransaction601AddRouteRF; 08519 08520 class RedistTransaction601AddRouteCB { 08521 RedistTransaction601AddRouteRF cb; 08522 08523 public: 08524 operator const RedistTransaction601AddRouteRF& () const { return cb; } 08525 const RedistTransaction601AddRouteRF& operator ->() const { return cb; } 08526 RedistTransaction601AddRouteCB(const RedistTransaction601AddRouteRF& cb) 08527 : cb(cb) { } 08528 08529 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08530 08531 void respond() const { 08532 cb->dispatch(XrlCmdError::OKAY()); 08533 } 08534 }; 08535 08536 struct RedistTransaction601AddRouteRsp : 08537 public RedistTransaction601AddRouteCB { 08538 RedistTransaction601AddRouteRsp(const RedistTransaction601AddRouteRF& cb) 08539 : RedistTransaction601AddRouteCB(cb) { } 08540 08541 }; 08542 08543 virtual void async_redist_transaction6_0_1_add_route 08544 ( 08545 const uint32_t& tid, 08546 const IPv6Net& dst, 08547 const IPv6& nexthop, 08548 const string& ifname, 08549 const string& vifname, 08550 const uint32_t& metric, 08551 const uint32_t& admin_distance, 08552 const string& cookie, 08553 const string& protocol_origin, 08554 RedistTransaction601AddRouteCB); 08555 #endif 08556 08557 virtual XrlCmdError redist_transaction6_0_1_delete_route( 08558 // Input values, 08559 const uint32_t& tid, 08560 const IPv6Net& dst, 08561 const IPv6& nexthop, 08562 const string& ifname, 08563 const string& vifname, 08564 const uint32_t& metric, 08565 const uint32_t& admin_distance, 08566 const string& cookie, 08567 const string& protocol_origin) = 0; 08568 #ifdef XORP_ENABLE_ASYNC_SERVER 08569 typedef 08570 XorpCallback1<void, const XrlCmdError &>::RefPtr 08571 RedistTransaction601DeleteRouteRF; 08572 08573 class RedistTransaction601DeleteRouteCB { 08574 RedistTransaction601DeleteRouteRF cb; 08575 08576 public: 08577 operator const RedistTransaction601DeleteRouteRF& () const { return cb; } 08578 const RedistTransaction601DeleteRouteRF& operator ->() const { return cb; } 08579 RedistTransaction601DeleteRouteCB(const RedistTransaction601DeleteRouteRF& cb) 08580 : cb(cb) { } 08581 08582 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08583 08584 void respond() const { 08585 cb->dispatch(XrlCmdError::OKAY()); 08586 } 08587 }; 08588 08589 struct RedistTransaction601DeleteRouteRsp : 08590 public RedistTransaction601DeleteRouteCB { 08591 RedistTransaction601DeleteRouteRsp(const RedistTransaction601DeleteRouteRF& cb) 08592 : RedistTransaction601DeleteRouteCB(cb) { } 08593 08594 }; 08595 08596 virtual void async_redist_transaction6_0_1_delete_route 08597 ( 08598 const uint32_t& tid, 08599 const IPv6Net& dst, 08600 const IPv6& nexthop, 08601 const string& ifname, 08602 const string& vifname, 08603 const uint32_t& metric, 08604 const uint32_t& admin_distance, 08605 const string& cookie, 08606 const string& protocol_origin, 08607 RedistTransaction601DeleteRouteCB); 08608 #endif 08609 08620 virtual XrlCmdError redist_transaction6_0_1_delete_all_routes( 08621 // Input values, 08622 const uint32_t& tid, 08623 const string& cookie) = 0; 08624 #ifdef XORP_ENABLE_ASYNC_SERVER 08625 typedef 08626 XorpCallback1<void, const XrlCmdError &>::RefPtr 08627 RedistTransaction601DeleteAllRoutesRF; 08628 08629 class RedistTransaction601DeleteAllRoutesCB { 08630 RedistTransaction601DeleteAllRoutesRF cb; 08631 08632 public: 08633 operator const RedistTransaction601DeleteAllRoutesRF& () const { return cb; } 08634 const RedistTransaction601DeleteAllRoutesRF& operator ->() const { return cb; } 08635 RedistTransaction601DeleteAllRoutesCB(const RedistTransaction601DeleteAllRoutesRF& cb) 08636 : cb(cb) { } 08637 08638 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 08639 08640 void respond() const { 08641 cb->dispatch(XrlCmdError::OKAY()); 08642 } 08643 }; 08644 08645 struct RedistTransaction601DeleteAllRoutesRsp : 08646 public RedistTransaction601DeleteAllRoutesCB { 08647 RedistTransaction601DeleteAllRoutesRsp(const RedistTransaction601DeleteAllRoutesRF& cb) 08648 : RedistTransaction601DeleteAllRoutesCB(cb) { } 08649 08650 }; 08651 08652 virtual void async_redist_transaction6_0_1_delete_all_routes 08653 ( 08654 const uint32_t& tid, 08655 const string& cookie, 08656 RedistTransaction601DeleteAllRoutesCB); 08657 #endif 08658 08670 virtual XrlCmdError socket6_0_1_tcp_open( 08671 // Input values, 08672 const string& creator, 08673 // Output values, 08674 string& sockid) = 0; 08675 #ifdef XORP_ENABLE_ASYNC_SERVER 08676 typedef 08677 XorpCallback2<void, const XrlCmdError &, 08678 const string*>::RefPtr 08679 Socket601TcpOpenRF; 08680 08681 class Socket601TcpOpenCB { 08682 Socket601TcpOpenRF cb; 08683 08684 public: 08685 operator const Socket601TcpOpenRF& () const { return cb; } 08686 const Socket601TcpOpenRF& operator ->() const { return cb; } 08687 Socket601TcpOpenCB(const Socket601TcpOpenRF& cb) 08688 : cb(cb) { } 08689 08690 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 08691 08692 void respond(const string& arg_sockid) const { 08693 cb->dispatch(XrlCmdError::OKAY(), 08694 &arg_sockid); 08695 } 08696 }; 08697 08698 struct Socket601TcpOpenRsp : 08699 public Socket601TcpOpenCB { 08700 struct args_str { 08701 string sockid; 08702 }; 08703 08704 private: 08705 args_str args; 08706 08707 public: 08708 Socket601TcpOpenRsp(const Socket601TcpOpenRF& cb) 08709 : Socket601TcpOpenCB(cb) { } 08710 08711 void respond() const { 08712 Socket601TcpOpenCB:: 08713 respond(args.sockid); 08714 } 08715 08716 args_str* operator ->() { 08717 return &args; 08718 } 08719 }; 08720 08721 virtual void async_socket6_0_1_tcp_open 08722 ( 08723 const string& creator, 08724 Socket601TcpOpenCB); 08725 #endif 08726 08738 virtual XrlCmdError socket6_0_1_udp_open( 08739 // Input values, 08740 const string& creator, 08741 // Output values, 08742 string& sockid) = 0; 08743 #ifdef XORP_ENABLE_ASYNC_SERVER 08744 typedef 08745 XorpCallback2<void, const XrlCmdError &, 08746 const string*>::RefPtr 08747 Socket601UdpOpenRF; 08748 08749 class Socket601UdpOpenCB { 08750 Socket601UdpOpenRF cb; 08751 08752 public: 08753 operator const Socket601UdpOpenRF& () const { return cb; } 08754 const Socket601UdpOpenRF& operator ->() const { return cb; } 08755 Socket601UdpOpenCB(const Socket601UdpOpenRF& cb) 08756 : cb(cb) { } 08757 08758 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 08759 08760 void respond(const string& arg_sockid) const { 08761 cb->dispatch(XrlCmdError::OKAY(), 08762 &arg_sockid); 08763 } 08764 }; 08765 08766 struct Socket601UdpOpenRsp : 08767 public Socket601UdpOpenCB { 08768 struct args_str { 08769 string sockid; 08770 }; 08771 08772 private: 08773 args_str args; 08774 08775 public: 08776 Socket601UdpOpenRsp(const Socket601UdpOpenRF& cb) 08777 : Socket601UdpOpenCB(cb) { } 08778 08779 void respond() const { 08780 Socket601UdpOpenCB:: 08781 respond(args.sockid); 08782 } 08783 08784 args_str* operator ->() { 08785 return &args; 08786 } 08787 }; 08788 08789 virtual void async_socket6_0_1_udp_open 08790 ( 08791 const string& creator, 08792 Socket601UdpOpenCB); 08793 #endif 08794 08810 virtual XrlCmdError socket6_0_1_tcp_open_and_bind( 08811 // Input values, 08812 const string& creator, 08813 const IPv6& local_addr, 08814 const uint32_t& local_port, 08815 // Output values, 08816 string& sockid) = 0; 08817 #ifdef XORP_ENABLE_ASYNC_SERVER 08818 typedef 08819 XorpCallback2<void, const XrlCmdError &, 08820 const string*>::RefPtr 08821 Socket601TcpOpenAndBindRF; 08822 08823 class Socket601TcpOpenAndBindCB { 08824 Socket601TcpOpenAndBindRF cb; 08825 08826 public: 08827 operator const Socket601TcpOpenAndBindRF& () const { return cb; } 08828 const Socket601TcpOpenAndBindRF& operator ->() const { return cb; } 08829 Socket601TcpOpenAndBindCB(const Socket601TcpOpenAndBindRF& cb) 08830 : cb(cb) { } 08831 08832 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 08833 08834 void respond(const string& arg_sockid) const { 08835 cb->dispatch(XrlCmdError::OKAY(), 08836 &arg_sockid); 08837 } 08838 }; 08839 08840 struct Socket601TcpOpenAndBindRsp : 08841 public Socket601TcpOpenAndBindCB { 08842 struct args_str { 08843 string sockid; 08844 }; 08845 08846 private: 08847 args_str args; 08848 08849 public: 08850 Socket601TcpOpenAndBindRsp(const Socket601TcpOpenAndBindRF& cb) 08851 : Socket601TcpOpenAndBindCB(cb) { } 08852 08853 void respond() const { 08854 Socket601TcpOpenAndBindCB:: 08855 respond(args.sockid); 08856 } 08857 08858 args_str* operator ->() { 08859 return &args; 08860 } 08861 }; 08862 08863 virtual void async_socket6_0_1_tcp_open_and_bind 08864 ( 08865 const string& creator, 08866 const IPv6& local_addr, 08867 const uint32_t& local_port, 08868 Socket601TcpOpenAndBindCB); 08869 #endif 08870 08886 virtual XrlCmdError socket6_0_1_udp_open_and_bind( 08887 // Input values, 08888 const string& creator, 08889 const IPv6& local_addr, 08890 const uint32_t& local_port, 08891 const string& local_dev, 08892 const uint32_t& reuse, 08893 // Output values, 08894 string& sockid) = 0; 08895 #ifdef XORP_ENABLE_ASYNC_SERVER 08896 typedef 08897 XorpCallback2<void, const XrlCmdError &, 08898 const string*>::RefPtr 08899 Socket601UdpOpenAndBindRF; 08900 08901 class Socket601UdpOpenAndBindCB { 08902 Socket601UdpOpenAndBindRF cb; 08903 08904 public: 08905 operator const Socket601UdpOpenAndBindRF& () const { return cb; } 08906 const Socket601UdpOpenAndBindRF& operator ->() const { return cb; } 08907 Socket601UdpOpenAndBindCB(const Socket601UdpOpenAndBindRF& cb) 08908 : cb(cb) { } 08909 08910 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 08911 08912 void respond(const string& arg_sockid) const { 08913 cb->dispatch(XrlCmdError::OKAY(), 08914 &arg_sockid); 08915 } 08916 }; 08917 08918 struct Socket601UdpOpenAndBindRsp : 08919 public Socket601UdpOpenAndBindCB { 08920 struct args_str { 08921 string sockid; 08922 }; 08923 08924 private: 08925 args_str args; 08926 08927 public: 08928 Socket601UdpOpenAndBindRsp(const Socket601UdpOpenAndBindRF& cb) 08929 : Socket601UdpOpenAndBindCB(cb) { } 08930 08931 void respond() const { 08932 Socket601UdpOpenAndBindCB:: 08933 respond(args.sockid); 08934 } 08935 08936 args_str* operator ->() { 08937 return &args; 08938 } 08939 }; 08940 08941 virtual void async_socket6_0_1_udp_open_and_bind 08942 ( 08943 const string& creator, 08944 const IPv6& local_addr, 08945 const uint32_t& local_port, 08946 const string& local_dev, 08947 const uint32_t& reuse, 08948 Socket601UdpOpenAndBindCB); 08949 #endif 08950 08972 virtual XrlCmdError socket6_0_1_udp_open_bind_join( 08973 // Input values, 08974 const string& creator, 08975 const IPv6& local_addr, 08976 const uint32_t& local_port, 08977 const IPv6& mcast_addr, 08978 const uint32_t& ttl, 08979 const bool& reuse, 08980 // Output values, 08981 string& sockid) = 0; 08982 #ifdef XORP_ENABLE_ASYNC_SERVER 08983 typedef 08984 XorpCallback2<void, const XrlCmdError &, 08985 const string*>::RefPtr 08986 Socket601UdpOpenBindJoinRF; 08987 08988 class Socket601UdpOpenBindJoinCB { 08989 Socket601UdpOpenBindJoinRF cb; 08990 08991 public: 08992 operator const Socket601UdpOpenBindJoinRF& () const { return cb; } 08993 const Socket601UdpOpenBindJoinRF& operator ->() const { return cb; } 08994 Socket601UdpOpenBindJoinCB(const Socket601UdpOpenBindJoinRF& cb) 08995 : cb(cb) { } 08996 08997 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 08998 08999 void respond(const string& arg_sockid) const { 09000 cb->dispatch(XrlCmdError::OKAY(), 09001 &arg_sockid); 09002 } 09003 }; 09004 09005 struct Socket601UdpOpenBindJoinRsp : 09006 public Socket601UdpOpenBindJoinCB { 09007 struct args_str { 09008 string sockid; 09009 }; 09010 09011 private: 09012 args_str args; 09013 09014 public: 09015 Socket601UdpOpenBindJoinRsp(const Socket601UdpOpenBindJoinRF& cb) 09016 : Socket601UdpOpenBindJoinCB(cb) { } 09017 09018 void respond() const { 09019 Socket601UdpOpenBindJoinCB:: 09020 respond(args.sockid); 09021 } 09022 09023 args_str* operator ->() { 09024 return &args; 09025 } 09026 }; 09027 09028 virtual void async_socket6_0_1_udp_open_bind_join 09029 ( 09030 const string& creator, 09031 const IPv6& local_addr, 09032 const uint32_t& local_port, 09033 const IPv6& mcast_addr, 09034 const uint32_t& ttl, 09035 const bool& reuse, 09036 Socket601UdpOpenBindJoinCB); 09037 #endif 09038 09058 virtual XrlCmdError socket6_0_1_tcp_open_bind_connect( 09059 // Input values, 09060 const string& creator, 09061 const IPv6& local_addr, 09062 const uint32_t& local_port, 09063 const IPv6& remote_addr, 09064 const uint32_t& remote_port, 09065 // Output values, 09066 string& sockid) = 0; 09067 #ifdef XORP_ENABLE_ASYNC_SERVER 09068 typedef 09069 XorpCallback2<void, const XrlCmdError &, 09070 const string*>::RefPtr 09071 Socket601TcpOpenBindConnectRF; 09072 09073 class Socket601TcpOpenBindConnectCB { 09074 Socket601TcpOpenBindConnectRF cb; 09075 09076 public: 09077 operator const Socket601TcpOpenBindConnectRF& () const { return cb; } 09078 const Socket601TcpOpenBindConnectRF& operator ->() const { return cb; } 09079 Socket601TcpOpenBindConnectCB(const Socket601TcpOpenBindConnectRF& cb) 09080 : cb(cb) { } 09081 09082 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 09083 09084 void respond(const string& arg_sockid) const { 09085 cb->dispatch(XrlCmdError::OKAY(), 09086 &arg_sockid); 09087 } 09088 }; 09089 09090 struct Socket601TcpOpenBindConnectRsp : 09091 public Socket601TcpOpenBindConnectCB { 09092 struct args_str { 09093 string sockid; 09094 }; 09095 09096 private: 09097 args_str args; 09098 09099 public: 09100 Socket601TcpOpenBindConnectRsp(const Socket601TcpOpenBindConnectRF& cb) 09101 : Socket601TcpOpenBindConnectCB(cb) { } 09102 09103 void respond() const { 09104 Socket601TcpOpenBindConnectCB:: 09105 respond(args.sockid); 09106 } 09107 09108 args_str* operator ->() { 09109 return &args; 09110 } 09111 }; 09112 09113 virtual void async_socket6_0_1_tcp_open_bind_connect 09114 ( 09115 const string& creator, 09116 const IPv6& local_addr, 09117 const uint32_t& local_port, 09118 const IPv6& remote_addr, 09119 const uint32_t& remote_port, 09120 Socket601TcpOpenBindConnectCB); 09121 #endif 09122 09142 virtual XrlCmdError socket6_0_1_udp_open_bind_connect( 09143 // Input values, 09144 const string& creator, 09145 const IPv6& local_addr, 09146 const uint32_t& local_port, 09147 const IPv6& remote_addr, 09148 const uint32_t& remote_port, 09149 // Output values, 09150 string& sockid) = 0; 09151 #ifdef XORP_ENABLE_ASYNC_SERVER 09152 typedef 09153 XorpCallback2<void, const XrlCmdError &, 09154 const string*>::RefPtr 09155 Socket601UdpOpenBindConnectRF; 09156 09157 class Socket601UdpOpenBindConnectCB { 09158 Socket601UdpOpenBindConnectRF cb; 09159 09160 public: 09161 operator const Socket601UdpOpenBindConnectRF& () const { return cb; } 09162 const Socket601UdpOpenBindConnectRF& operator ->() const { return cb; } 09163 Socket601UdpOpenBindConnectCB(const Socket601UdpOpenBindConnectRF& cb) 09164 : cb(cb) { } 09165 09166 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 09167 09168 void respond(const string& arg_sockid) const { 09169 cb->dispatch(XrlCmdError::OKAY(), 09170 &arg_sockid); 09171 } 09172 }; 09173 09174 struct Socket601UdpOpenBindConnectRsp : 09175 public Socket601UdpOpenBindConnectCB { 09176 struct args_str { 09177 string sockid; 09178 }; 09179 09180 private: 09181 args_str args; 09182 09183 public: 09184 Socket601UdpOpenBindConnectRsp(const Socket601UdpOpenBindConnectRF& cb) 09185 : Socket601UdpOpenBindConnectCB(cb) { } 09186 09187 void respond() const { 09188 Socket601UdpOpenBindConnectCB:: 09189 respond(args.sockid); 09190 } 09191 09192 args_str* operator ->() { 09193 return &args; 09194 } 09195 }; 09196 09197 virtual void async_socket6_0_1_udp_open_bind_connect 09198 ( 09199 const string& creator, 09200 const IPv6& local_addr, 09201 const uint32_t& local_port, 09202 const IPv6& remote_addr, 09203 const uint32_t& remote_port, 09204 Socket601UdpOpenBindConnectCB); 09205 #endif 09206 09218 virtual XrlCmdError socket6_0_1_bind( 09219 // Input values, 09220 const string& sockid, 09221 const IPv6& local_addr, 09222 const uint32_t& local_port) = 0; 09223 #ifdef XORP_ENABLE_ASYNC_SERVER 09224 typedef 09225 XorpCallback1<void, const XrlCmdError &>::RefPtr 09226 Socket601BindRF; 09227 09228 class Socket601BindCB { 09229 Socket601BindRF cb; 09230 09231 public: 09232 operator const Socket601BindRF& () const { return cb; } 09233 const Socket601BindRF& operator ->() const { return cb; } 09234 Socket601BindCB(const Socket601BindRF& cb) 09235 : cb(cb) { } 09236 09237 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09238 09239 void respond() const { 09240 cb->dispatch(XrlCmdError::OKAY()); 09241 } 09242 }; 09243 09244 struct Socket601BindRsp : 09245 public Socket601BindCB { 09246 Socket601BindRsp(const Socket601BindRF& cb) 09247 : Socket601BindCB(cb) { } 09248 09249 }; 09250 09251 virtual void async_socket6_0_1_bind 09252 ( 09253 const string& sockid, 09254 const IPv6& local_addr, 09255 const uint32_t& local_port, 09256 Socket601BindCB); 09257 #endif 09258 09270 virtual XrlCmdError socket6_0_1_udp_join_group( 09271 // Input values, 09272 const string& sockid, 09273 const IPv6& mcast_addr, 09274 const IPv6& join_if_addr) = 0; 09275 #ifdef XORP_ENABLE_ASYNC_SERVER 09276 typedef 09277 XorpCallback1<void, const XrlCmdError &>::RefPtr 09278 Socket601UdpJoinGroupRF; 09279 09280 class Socket601UdpJoinGroupCB { 09281 Socket601UdpJoinGroupRF cb; 09282 09283 public: 09284 operator const Socket601UdpJoinGroupRF& () const { return cb; } 09285 const Socket601UdpJoinGroupRF& operator ->() const { return cb; } 09286 Socket601UdpJoinGroupCB(const Socket601UdpJoinGroupRF& cb) 09287 : cb(cb) { } 09288 09289 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09290 09291 void respond() const { 09292 cb->dispatch(XrlCmdError::OKAY()); 09293 } 09294 }; 09295 09296 struct Socket601UdpJoinGroupRsp : 09297 public Socket601UdpJoinGroupCB { 09298 Socket601UdpJoinGroupRsp(const Socket601UdpJoinGroupRF& cb) 09299 : Socket601UdpJoinGroupCB(cb) { } 09300 09301 }; 09302 09303 virtual void async_socket6_0_1_udp_join_group 09304 ( 09305 const string& sockid, 09306 const IPv6& mcast_addr, 09307 const IPv6& join_if_addr, 09308 Socket601UdpJoinGroupCB); 09309 #endif 09310 09322 virtual XrlCmdError socket6_0_1_udp_leave_group( 09323 // Input values, 09324 const string& sockid, 09325 const IPv6& mcast_addr, 09326 const IPv6& leave_if_addr) = 0; 09327 #ifdef XORP_ENABLE_ASYNC_SERVER 09328 typedef 09329 XorpCallback1<void, const XrlCmdError &>::RefPtr 09330 Socket601UdpLeaveGroupRF; 09331 09332 class Socket601UdpLeaveGroupCB { 09333 Socket601UdpLeaveGroupRF cb; 09334 09335 public: 09336 operator const Socket601UdpLeaveGroupRF& () const { return cb; } 09337 const Socket601UdpLeaveGroupRF& operator ->() const { return cb; } 09338 Socket601UdpLeaveGroupCB(const Socket601UdpLeaveGroupRF& cb) 09339 : cb(cb) { } 09340 09341 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09342 09343 void respond() const { 09344 cb->dispatch(XrlCmdError::OKAY()); 09345 } 09346 }; 09347 09348 struct Socket601UdpLeaveGroupRsp : 09349 public Socket601UdpLeaveGroupCB { 09350 Socket601UdpLeaveGroupRsp(const Socket601UdpLeaveGroupRF& cb) 09351 : Socket601UdpLeaveGroupCB(cb) { } 09352 09353 }; 09354 09355 virtual void async_socket6_0_1_udp_leave_group 09356 ( 09357 const string& sockid, 09358 const IPv6& mcast_addr, 09359 const IPv6& leave_if_addr, 09360 Socket601UdpLeaveGroupCB); 09361 #endif 09362 09370 virtual XrlCmdError socket6_0_1_close( 09371 // Input values, 09372 const string& sockid) = 0; 09373 #ifdef XORP_ENABLE_ASYNC_SERVER 09374 typedef 09375 XorpCallback1<void, const XrlCmdError &>::RefPtr 09376 Socket601CloseRF; 09377 09378 class Socket601CloseCB { 09379 Socket601CloseRF cb; 09380 09381 public: 09382 operator const Socket601CloseRF& () const { return cb; } 09383 const Socket601CloseRF& operator ->() const { return cb; } 09384 Socket601CloseCB(const Socket601CloseRF& cb) 09385 : cb(cb) { } 09386 09387 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09388 09389 void respond() const { 09390 cb->dispatch(XrlCmdError::OKAY()); 09391 } 09392 }; 09393 09394 struct Socket601CloseRsp : 09395 public Socket601CloseCB { 09396 Socket601CloseRsp(const Socket601CloseRF& cb) 09397 : Socket601CloseCB(cb) { } 09398 09399 }; 09400 09401 virtual void async_socket6_0_1_close 09402 ( 09403 const string& sockid, 09404 Socket601CloseCB); 09405 #endif 09406 09418 virtual XrlCmdError socket6_0_1_tcp_listen( 09419 // Input values, 09420 const string& sockid, 09421 const uint32_t& backlog) = 0; 09422 #ifdef XORP_ENABLE_ASYNC_SERVER 09423 typedef 09424 XorpCallback1<void, const XrlCmdError &>::RefPtr 09425 Socket601TcpListenRF; 09426 09427 class Socket601TcpListenCB { 09428 Socket601TcpListenRF cb; 09429 09430 public: 09431 operator const Socket601TcpListenRF& () const { return cb; } 09432 const Socket601TcpListenRF& operator ->() const { return cb; } 09433 Socket601TcpListenCB(const Socket601TcpListenRF& cb) 09434 : cb(cb) { } 09435 09436 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09437 09438 void respond() const { 09439 cb->dispatch(XrlCmdError::OKAY()); 09440 } 09441 }; 09442 09443 struct Socket601TcpListenRsp : 09444 public Socket601TcpListenCB { 09445 Socket601TcpListenRsp(const Socket601TcpListenRF& cb) 09446 : Socket601TcpListenCB(cb) { } 09447 09448 }; 09449 09450 virtual void async_socket6_0_1_tcp_listen 09451 ( 09452 const string& sockid, 09453 const uint32_t& backlog, 09454 Socket601TcpListenCB); 09455 #endif 09456 09466 virtual XrlCmdError socket6_0_1_send( 09467 // Input values, 09468 const string& sockid, 09469 const vector<uint8_t>& data) = 0; 09470 #ifdef XORP_ENABLE_ASYNC_SERVER 09471 typedef 09472 XorpCallback1<void, const XrlCmdError &>::RefPtr 09473 Socket601SendRF; 09474 09475 class Socket601SendCB { 09476 Socket601SendRF cb; 09477 09478 public: 09479 operator const Socket601SendRF& () const { return cb; } 09480 const Socket601SendRF& operator ->() const { return cb; } 09481 Socket601SendCB(const Socket601SendRF& cb) 09482 : cb(cb) { } 09483 09484 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09485 09486 void respond() const { 09487 cb->dispatch(XrlCmdError::OKAY()); 09488 } 09489 }; 09490 09491 struct Socket601SendRsp : 09492 public Socket601SendCB { 09493 Socket601SendRsp(const Socket601SendRF& cb) 09494 : Socket601SendCB(cb) { } 09495 09496 }; 09497 09498 virtual void async_socket6_0_1_send 09499 ( 09500 const string& sockid, 09501 const vector<uint8_t>& data, 09502 Socket601SendCB); 09503 #endif 09504 09520 virtual XrlCmdError socket6_0_1_send_to( 09521 // Input values, 09522 const string& sockid, 09523 const IPv6& remote_addr, 09524 const uint32_t& remote_port, 09525 const vector<uint8_t>& data) = 0; 09526 #ifdef XORP_ENABLE_ASYNC_SERVER 09527 typedef 09528 XorpCallback1<void, const XrlCmdError &>::RefPtr 09529 Socket601SendToRF; 09530 09531 class Socket601SendToCB { 09532 Socket601SendToRF cb; 09533 09534 public: 09535 operator const Socket601SendToRF& () const { return cb; } 09536 const Socket601SendToRF& operator ->() const { return cb; } 09537 Socket601SendToCB(const Socket601SendToRF& cb) 09538 : cb(cb) { } 09539 09540 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09541 09542 void respond() const { 09543 cb->dispatch(XrlCmdError::OKAY()); 09544 } 09545 }; 09546 09547 struct Socket601SendToRsp : 09548 public Socket601SendToCB { 09549 Socket601SendToRsp(const Socket601SendToRF& cb) 09550 : Socket601SendToCB(cb) { } 09551 09552 }; 09553 09554 virtual void async_socket6_0_1_send_to 09555 ( 09556 const string& sockid, 09557 const IPv6& remote_addr, 09558 const uint32_t& remote_port, 09559 const vector<uint8_t>& data, 09560 Socket601SendToCB); 09561 #endif 09562 09576 virtual XrlCmdError socket6_0_1_send_from_multicast_if( 09577 // Input values, 09578 const string& sockid, 09579 const IPv6& group_addr, 09580 const uint32_t& group_port, 09581 const IPv6& ifaddr, 09582 const vector<uint8_t>& data) = 0; 09583 #ifdef XORP_ENABLE_ASYNC_SERVER 09584 typedef 09585 XorpCallback1<void, const XrlCmdError &>::RefPtr 09586 Socket601SendFromMulticastIfRF; 09587 09588 class Socket601SendFromMulticastIfCB { 09589 Socket601SendFromMulticastIfRF cb; 09590 09591 public: 09592 operator const Socket601SendFromMulticastIfRF& () const { return cb; } 09593 const Socket601SendFromMulticastIfRF& operator ->() const { return cb; } 09594 Socket601SendFromMulticastIfCB(const Socket601SendFromMulticastIfRF& cb) 09595 : cb(cb) { } 09596 09597 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09598 09599 void respond() const { 09600 cb->dispatch(XrlCmdError::OKAY()); 09601 } 09602 }; 09603 09604 struct Socket601SendFromMulticastIfRsp : 09605 public Socket601SendFromMulticastIfCB { 09606 Socket601SendFromMulticastIfRsp(const Socket601SendFromMulticastIfRF& cb) 09607 : Socket601SendFromMulticastIfCB(cb) { } 09608 09609 }; 09610 09611 virtual void async_socket6_0_1_send_from_multicast_if 09612 ( 09613 const string& sockid, 09614 const IPv6& group_addr, 09615 const uint32_t& group_port, 09616 const IPv6& ifaddr, 09617 const vector<uint8_t>& data, 09618 Socket601SendFromMulticastIfCB); 09619 #endif 09620 09634 virtual XrlCmdError socket6_0_1_set_socket_option( 09635 // Input values, 09636 const string& sockid, 09637 const string& optname, 09638 const uint32_t& optval) = 0; 09639 #ifdef XORP_ENABLE_ASYNC_SERVER 09640 typedef 09641 XorpCallback1<void, const XrlCmdError &>::RefPtr 09642 Socket601SetSocketOptionRF; 09643 09644 class Socket601SetSocketOptionCB { 09645 Socket601SetSocketOptionRF cb; 09646 09647 public: 09648 operator const Socket601SetSocketOptionRF& () const { return cb; } 09649 const Socket601SetSocketOptionRF& operator ->() const { return cb; } 09650 Socket601SetSocketOptionCB(const Socket601SetSocketOptionRF& cb) 09651 : cb(cb) { } 09652 09653 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09654 09655 void respond() const { 09656 cb->dispatch(XrlCmdError::OKAY()); 09657 } 09658 }; 09659 09660 struct Socket601SetSocketOptionRsp : 09661 public Socket601SetSocketOptionCB { 09662 Socket601SetSocketOptionRsp(const Socket601SetSocketOptionRF& cb) 09663 : Socket601SetSocketOptionCB(cb) { } 09664 09665 }; 09666 09667 virtual void async_socket6_0_1_set_socket_option 09668 ( 09669 const string& sockid, 09670 const string& optname, 09671 const uint32_t& optval, 09672 Socket601SetSocketOptionCB); 09673 #endif 09674 09714 virtual XrlCmdError raw_packet6_0_1_send( 09715 // Input values, 09716 const string& if_name, 09717 const string& vif_name, 09718 const IPv6& src_address, 09719 const IPv6& dst_address, 09720 const uint32_t& ip_protocol, 09721 const int32_t& ip_ttl, 09722 const int32_t& ip_tos, 09723 const bool& ip_router_alert, 09724 const bool& ip_internet_control, 09725 const XrlAtomList& ext_headers_type, 09726 const XrlAtomList& ext_headers_payload, 09727 const vector<uint8_t>& payload) = 0; 09728 #ifdef XORP_ENABLE_ASYNC_SERVER 09729 typedef 09730 XorpCallback1<void, const XrlCmdError &>::RefPtr 09731 RawPacket601SendRF; 09732 09733 class RawPacket601SendCB { 09734 RawPacket601SendRF cb; 09735 09736 public: 09737 operator const RawPacket601SendRF& () const { return cb; } 09738 const RawPacket601SendRF& operator ->() const { return cb; } 09739 RawPacket601SendCB(const RawPacket601SendRF& cb) 09740 : cb(cb) { } 09741 09742 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09743 09744 void respond() const { 09745 cb->dispatch(XrlCmdError::OKAY()); 09746 } 09747 }; 09748 09749 struct RawPacket601SendRsp : 09750 public RawPacket601SendCB { 09751 RawPacket601SendRsp(const RawPacket601SendRF& cb) 09752 : RawPacket601SendCB(cb) { } 09753 09754 }; 09755 09756 virtual void async_raw_packet6_0_1_send 09757 ( 09758 const string& if_name, 09759 const string& vif_name, 09760 const IPv6& src_address, 09761 const IPv6& dst_address, 09762 const uint32_t& ip_protocol, 09763 const int32_t& ip_ttl, 09764 const int32_t& ip_tos, 09765 const bool& ip_router_alert, 09766 const bool& ip_internet_control, 09767 const XrlAtomList& ext_headers_type, 09768 const XrlAtomList& ext_headers_payload, 09769 const vector<uint8_t>& payload, 09770 RawPacket601SendCB); 09771 #endif 09772 09794 virtual XrlCmdError raw_packet6_0_1_register_receiver( 09795 // Input values, 09796 const string& xrl_target_instance_name, 09797 const string& if_name, 09798 const string& vif_name, 09799 const uint32_t& ip_protocol, 09800 const bool& enable_multicast_loopback) = 0; 09801 #ifdef XORP_ENABLE_ASYNC_SERVER 09802 typedef 09803 XorpCallback1<void, const XrlCmdError &>::RefPtr 09804 RawPacket601RegisterReceiverRF; 09805 09806 class RawPacket601RegisterReceiverCB { 09807 RawPacket601RegisterReceiverRF cb; 09808 09809 public: 09810 operator const RawPacket601RegisterReceiverRF& () const { return cb; } 09811 const RawPacket601RegisterReceiverRF& operator ->() const { return cb; } 09812 RawPacket601RegisterReceiverCB(const RawPacket601RegisterReceiverRF& cb) 09813 : cb(cb) { } 09814 09815 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09816 09817 void respond() const { 09818 cb->dispatch(XrlCmdError::OKAY()); 09819 } 09820 }; 09821 09822 struct RawPacket601RegisterReceiverRsp : 09823 public RawPacket601RegisterReceiverCB { 09824 RawPacket601RegisterReceiverRsp(const RawPacket601RegisterReceiverRF& cb) 09825 : RawPacket601RegisterReceiverCB(cb) { } 09826 09827 }; 09828 09829 virtual void async_raw_packet6_0_1_register_receiver 09830 ( 09831 const string& xrl_target_instance_name, 09832 const string& if_name, 09833 const string& vif_name, 09834 const uint32_t& ip_protocol, 09835 const bool& enable_multicast_loopback, 09836 RawPacket601RegisterReceiverCB); 09837 #endif 09838 09856 virtual XrlCmdError raw_packet6_0_1_unregister_receiver( 09857 // Input values, 09858 const string& xrl_target_instance_name, 09859 const string& if_name, 09860 const string& vif_name, 09861 const uint32_t& ip_protocol) = 0; 09862 #ifdef XORP_ENABLE_ASYNC_SERVER 09863 typedef 09864 XorpCallback1<void, const XrlCmdError &>::RefPtr 09865 RawPacket601UnregisterReceiverRF; 09866 09867 class RawPacket601UnregisterReceiverCB { 09868 RawPacket601UnregisterReceiverRF cb; 09869 09870 public: 09871 operator const RawPacket601UnregisterReceiverRF& () const { return cb; } 09872 const RawPacket601UnregisterReceiverRF& operator ->() const { return cb; } 09873 RawPacket601UnregisterReceiverCB(const RawPacket601UnregisterReceiverRF& cb) 09874 : cb(cb) { } 09875 09876 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09877 09878 void respond() const { 09879 cb->dispatch(XrlCmdError::OKAY()); 09880 } 09881 }; 09882 09883 struct RawPacket601UnregisterReceiverRsp : 09884 public RawPacket601UnregisterReceiverCB { 09885 RawPacket601UnregisterReceiverRsp(const RawPacket601UnregisterReceiverRF& cb) 09886 : RawPacket601UnregisterReceiverCB(cb) { } 09887 09888 }; 09889 09890 virtual void async_raw_packet6_0_1_unregister_receiver 09891 ( 09892 const string& xrl_target_instance_name, 09893 const string& if_name, 09894 const string& vif_name, 09895 const uint32_t& ip_protocol, 09896 RawPacket601UnregisterReceiverCB); 09897 #endif 09898 09917 virtual XrlCmdError raw_packet6_0_1_join_multicast_group( 09918 // Input values, 09919 const string& xrl_target_instance_name, 09920 const string& if_name, 09921 const string& vif_name, 09922 const uint32_t& ip_protocol, 09923 const IPv6& group_address) = 0; 09924 #ifdef XORP_ENABLE_ASYNC_SERVER 09925 typedef 09926 XorpCallback1<void, const XrlCmdError &>::RefPtr 09927 RawPacket601JoinMulticastGroupRF; 09928 09929 class RawPacket601JoinMulticastGroupCB { 09930 RawPacket601JoinMulticastGroupRF cb; 09931 09932 public: 09933 operator const RawPacket601JoinMulticastGroupRF& () const { return cb; } 09934 const RawPacket601JoinMulticastGroupRF& operator ->() const { return cb; } 09935 RawPacket601JoinMulticastGroupCB(const RawPacket601JoinMulticastGroupRF& cb) 09936 : cb(cb) { } 09937 09938 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 09939 09940 void respond() const { 09941 cb->dispatch(XrlCmdError::OKAY()); 09942 } 09943 }; 09944 09945 struct RawPacket601JoinMulticastGroupRsp : 09946 public RawPacket601JoinMulticastGroupCB { 09947 RawPacket601JoinMulticastGroupRsp(const RawPacket601JoinMulticastGroupRF& cb) 09948 : RawPacket601JoinMulticastGroupCB(cb) { } 09949 09950 }; 09951 09952 virtual void async_raw_packet6_0_1_join_multicast_group 09953 ( 09954 const string& xrl_target_instance_name, 09955 const string& if_name, 09956 const string& vif_name, 09957 const uint32_t& ip_protocol, 09958 const IPv6& group_address, 09959 RawPacket601JoinMulticastGroupCB); 09960 #endif 09961 09981 virtual XrlCmdError raw_packet6_0_1_leave_multicast_group( 09982 // Input values, 09983 const string& xrl_target_instance_name, 09984 const string& if_name, 09985 const string& vif_name, 09986 const uint32_t& ip_protocol, 09987 const IPv6& group_address) = 0; 09988 #ifdef XORP_ENABLE_ASYNC_SERVER 09989 typedef 09990 XorpCallback1<void, const XrlCmdError &>::RefPtr 09991 RawPacket601LeaveMulticastGroupRF; 09992 09993 class RawPacket601LeaveMulticastGroupCB { 09994 RawPacket601LeaveMulticastGroupRF cb; 09995 09996 public: 09997 operator const RawPacket601LeaveMulticastGroupRF& () const { return cb; } 09998 const RawPacket601LeaveMulticastGroupRF& operator ->() const { return cb; } 09999 RawPacket601LeaveMulticastGroupCB(const RawPacket601LeaveMulticastGroupRF& cb) 10000 : cb(cb) { } 10001 10002 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 10003 10004 void respond() const { 10005 cb->dispatch(XrlCmdError::OKAY()); 10006 } 10007 }; 10008 10009 struct RawPacket601LeaveMulticastGroupRsp : 10010 public RawPacket601LeaveMulticastGroupCB { 10011 RawPacket601LeaveMulticastGroupRsp(const RawPacket601LeaveMulticastGroupRF& cb) 10012 : RawPacket601LeaveMulticastGroupCB(cb) { } 10013 10014 }; 10015 10016 virtual void async_raw_packet6_0_1_leave_multicast_group 10017 ( 10018 const string& xrl_target_instance_name, 10019 const string& if_name, 10020 const string& vif_name, 10021 const uint32_t& ip_protocol, 10022 const IPv6& group_address, 10023 RawPacket601LeaveMulticastGroupCB); 10024 #endif 10025 10033 virtual XrlCmdError profile_0_1_enable( 10034 // Input values, 10035 const string& pname) = 0; 10036 #ifdef XORP_ENABLE_ASYNC_SERVER 10037 typedef 10038 XorpCallback1<void, const XrlCmdError &>::RefPtr 10039 Profile01EnableRF; 10040 10041 class Profile01EnableCB { 10042 Profile01EnableRF cb; 10043 10044 public: 10045 operator const Profile01EnableRF& () const { return cb; } 10046 const Profile01EnableRF& operator ->() const { return cb; } 10047 Profile01EnableCB(const Profile01EnableRF& cb) 10048 : cb(cb) { } 10049 10050 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 10051 10052 void respond() const { 10053 cb->dispatch(XrlCmdError::OKAY()); 10054 } 10055 }; 10056 10057 struct Profile01EnableRsp : 10058 public Profile01EnableCB { 10059 Profile01EnableRsp(const Profile01EnableRF& cb) 10060 : Profile01EnableCB(cb) { } 10061 10062 }; 10063 10064 virtual void async_profile_0_1_enable 10065 ( 10066 const string& pname, 10067 Profile01EnableCB); 10068 #endif 10069 10077 virtual XrlCmdError profile_0_1_disable( 10078 // Input values, 10079 const string& pname) = 0; 10080 #ifdef XORP_ENABLE_ASYNC_SERVER 10081 typedef 10082 XorpCallback1<void, const XrlCmdError &>::RefPtr 10083 Profile01DisableRF; 10084 10085 class Profile01DisableCB { 10086 Profile01DisableRF cb; 10087 10088 public: 10089 operator const Profile01DisableRF& () const { return cb; } 10090 const Profile01DisableRF& operator ->() const { return cb; } 10091 Profile01DisableCB(const Profile01DisableRF& cb) 10092 : cb(cb) { } 10093 10094 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 10095 10096 void respond() const { 10097 cb->dispatch(XrlCmdError::OKAY()); 10098 } 10099 }; 10100 10101 struct Profile01DisableRsp : 10102 public Profile01DisableCB { 10103 Profile01DisableRsp(const Profile01DisableRF& cb) 10104 : Profile01DisableCB(cb) { } 10105 10106 }; 10107 10108 virtual void async_profile_0_1_disable 10109 ( 10110 const string& pname, 10111 Profile01DisableCB); 10112 #endif 10113 10123 virtual XrlCmdError profile_0_1_get_entries( 10124 // Input values, 10125 const string& pname, 10126 const string& instance_name) = 0; 10127 #ifdef XORP_ENABLE_ASYNC_SERVER 10128 typedef 10129 XorpCallback1<void, const XrlCmdError &>::RefPtr 10130 Profile01GetEntriesRF; 10131 10132 class Profile01GetEntriesCB { 10133 Profile01GetEntriesRF cb; 10134 10135 public: 10136 operator const Profile01GetEntriesRF& () const { return cb; } 10137 const Profile01GetEntriesRF& operator ->() const { return cb; } 10138 Profile01GetEntriesCB(const Profile01GetEntriesRF& cb) 10139 : cb(cb) { } 10140 10141 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 10142 10143 void respond() const { 10144 cb->dispatch(XrlCmdError::OKAY()); 10145 } 10146 }; 10147 10148 struct Profile01GetEntriesRsp : 10149 public Profile01GetEntriesCB { 10150 Profile01GetEntriesRsp(const Profile01GetEntriesRF& cb) 10151 : Profile01GetEntriesCB(cb) { } 10152 10153 }; 10154 10155 virtual void async_profile_0_1_get_entries 10156 ( 10157 const string& pname, 10158 const string& instance_name, 10159 Profile01GetEntriesCB); 10160 #endif 10161 10169 virtual XrlCmdError profile_0_1_clear( 10170 // Input values, 10171 const string& pname) = 0; 10172 #ifdef XORP_ENABLE_ASYNC_SERVER 10173 typedef 10174 XorpCallback1<void, const XrlCmdError &>::RefPtr 10175 Profile01ClearRF; 10176 10177 class Profile01ClearCB { 10178 Profile01ClearRF cb; 10179 10180 public: 10181 operator const Profile01ClearRF& () const { return cb; } 10182 const Profile01ClearRF& operator ->() const { return cb; } 10183 Profile01ClearCB(const Profile01ClearRF& cb) 10184 : cb(cb) { } 10185 10186 void fail(const XrlCmdError &e) const { cb->dispatch(e); } 10187 10188 void respond() const { 10189 cb->dispatch(XrlCmdError::OKAY()); 10190 } 10191 }; 10192 10193 struct Profile01ClearRsp : 10194 public Profile01ClearCB { 10195 Profile01ClearRsp(const Profile01ClearRF& cb) 10196 : Profile01ClearCB(cb) { } 10197 10198 }; 10199 10200 virtual void async_profile_0_1_clear 10201 ( 10202 const string& pname, 10203 Profile01ClearCB); 10204 #endif 10205 10211 virtual XrlCmdError profile_0_1_list( 10212 // Output values, 10213 string& info) = 0; 10214 #ifdef XORP_ENABLE_ASYNC_SERVER 10215 typedef 10216 XorpCallback2<void, const XrlCmdError &, 10217 const string*>::RefPtr 10218 Profile01ListRF; 10219 10220 class Profile01ListCB { 10221 Profile01ListRF cb; 10222 10223 public: 10224 operator const Profile01ListRF& () const { return cb; } 10225 const Profile01ListRF& operator ->() const { return cb; } 10226 Profile01ListCB(const Profile01ListRF& cb) 10227 : cb(cb) { } 10228 10229 void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); } 10230 10231 void respond(const string& arg_info) const { 10232 cb->dispatch(XrlCmdError::OKAY(), 10233 &arg_info); 10234 } 10235 }; 10236 10237 struct Profile01ListRsp : 10238 public Profile01ListCB { 10239 struct args_str { 10240 string info; 10241 }; 10242 10243 private: 10244 args_str args; 10245 10246 public: 10247 Profile01ListRsp(const Profile01ListRF& cb) 10248 : Profile01ListCB(cb) { } 10249 10250 void respond() const { 10251 Profile01ListCB:: 10252 respond(args.info); 10253 } 10254 10255 args_str* operator ->() { 10256 return &args; 10257 } 10258 }; 10259 10260 virtual void async_profile_0_1_list 10261 ( 10262 Profile01ListCB); 10263 #endif 10264 10265 private: 10266 XrlCmdRT handle_common_0_1_get_target_name(const XrlArgs& in, XrlCmdOT out); 10267 #ifdef XORP_ENABLE_ASYNC_SERVER 10268 void callback_common_0_1_get_target_name 10269 (const XrlCmdError &e, 10270 const string* arg_name, 10271 XrlRespCallback); 10272 #endif 10273 10274 XrlCmdRT handle_common_0_1_get_version(const XrlArgs& in, XrlCmdOT out); 10275 #ifdef XORP_ENABLE_ASYNC_SERVER 10276 void callback_common_0_1_get_version 10277 (const XrlCmdError &e, 10278 const string* arg_version, 10279 XrlRespCallback); 10280 #endif 10281 10282 XrlCmdRT handle_common_0_1_get_status(const XrlArgs& in, XrlCmdOT out); 10283 #ifdef XORP_ENABLE_ASYNC_SERVER 10284 void callback_common_0_1_get_status 10285 (const XrlCmdError &e, 10286 const uint32_t* arg_status, 10287 const string* arg_reason, 10288 XrlRespCallback); 10289 #endif 10290 10291 XrlCmdRT handle_common_0_1_shutdown(const XrlArgs& in, XrlCmdOT out); 10292 #ifdef XORP_ENABLE_ASYNC_SERVER 10293 void callback_common_0_1_shutdown 10294 (const XrlCmdError &e, 10295 XrlRespCallback); 10296 #endif 10297 10298 XrlCmdRT handle_common_0_1_startup(const XrlArgs& in, XrlCmdOT out); 10299 #ifdef XORP_ENABLE_ASYNC_SERVER 10300 void callback_common_0_1_startup 10301 (const XrlCmdError &e, 10302 XrlRespCallback); 10303 #endif 10304 10305 XrlCmdRT handle_finder_event_observer_0_1_xrl_target_birth(const XrlArgs& in, XrlCmdOT out); 10306 #ifdef XORP_ENABLE_ASYNC_SERVER 10307 void callback_finder_event_observer_0_1_xrl_target_birth 10308 (const XrlCmdError &e, 10309 XrlRespCallback); 10310 #endif 10311 10312 XrlCmdRT handle_finder_event_observer_0_1_xrl_target_death(const XrlArgs& in, XrlCmdOT out); 10313 #ifdef XORP_ENABLE_ASYNC_SERVER 10314 void callback_finder_event_observer_0_1_xrl_target_death 10315 (const XrlCmdError &e, 10316 XrlRespCallback); 10317 #endif 10318 10319 XrlCmdRT handle_fea_fib_0_1_add_fib_client4(const XrlArgs& in, XrlCmdOT out); 10320 #ifdef XORP_ENABLE_ASYNC_SERVER 10321 void callback_fea_fib_0_1_add_fib_client4 10322 (const XrlCmdError &e, 10323 XrlRespCallback); 10324 #endif 10325 10326 XrlCmdRT handle_fea_fib_0_1_delete_fib_client4(const XrlArgs& in, XrlCmdOT out); 10327 #ifdef XORP_ENABLE_ASYNC_SERVER 10328 void callback_fea_fib_0_1_delete_fib_client4 10329 (const XrlCmdError &e, 10330 XrlRespCallback); 10331 #endif 10332 10333 XrlCmdRT handle_fea_fib_0_1_add_fib_client6(const XrlArgs& in, XrlCmdOT out); 10334 #ifdef XORP_ENABLE_ASYNC_SERVER 10335 void callback_fea_fib_0_1_add_fib_client6 10336 (const XrlCmdError &e, 10337 XrlRespCallback); 10338 #endif 10339 10340 XrlCmdRT handle_fea_fib_0_1_delete_fib_client6(const XrlArgs& in, XrlCmdOT out); 10341 #ifdef XORP_ENABLE_ASYNC_SERVER 10342 void callback_fea_fib_0_1_delete_fib_client6 10343 (const XrlCmdError &e, 10344 XrlRespCallback); 10345 #endif 10346 10347 XrlCmdRT handle_fea_firewall_0_1_start_transaction(const XrlArgs& in, XrlCmdOT out); 10348 #ifdef XORP_ENABLE_ASYNC_SERVER 10349 void callback_fea_firewall_0_1_start_transaction 10350 (const XrlCmdError &e, 10351 const uint32_t* arg_tid, 10352 XrlRespCallback); 10353 #endif 10354 10355 XrlCmdRT handle_fea_firewall_0_1_commit_transaction(const XrlArgs& in, XrlCmdOT out); 10356 #ifdef XORP_ENABLE_ASYNC_SERVER 10357 void callback_fea_firewall_0_1_commit_transaction 10358 (const XrlCmdError &e, 10359 XrlRespCallback); 10360 #endif 10361 10362 XrlCmdRT handle_fea_firewall_0_1_abort_transaction(const XrlArgs& in, XrlCmdOT out); 10363 #ifdef XORP_ENABLE_ASYNC_SERVER 10364 void callback_fea_firewall_0_1_abort_transaction 10365 (const XrlCmdError &e, 10366 XrlRespCallback); 10367 #endif 10368 10369 XrlCmdRT handle_fea_firewall_0_1_add_entry4(const XrlArgs& in, XrlCmdOT out); 10370 #ifdef XORP_ENABLE_ASYNC_SERVER 10371 void callback_fea_firewall_0_1_add_entry4 10372 (const XrlCmdError &e, 10373 XrlRespCallback); 10374 #endif 10375 10376 XrlCmdRT handle_fea_firewall_0_1_replace_entry4(const XrlArgs& in, XrlCmdOT out); 10377 #ifdef XORP_ENABLE_ASYNC_SERVER 10378 void callback_fea_firewall_0_1_replace_entry4 10379 (const XrlCmdError &e, 10380 XrlRespCallback); 10381 #endif 10382 10383 XrlCmdRT handle_fea_firewall_0_1_delete_entry4(const XrlArgs& in, XrlCmdOT out); 10384 #ifdef XORP_ENABLE_ASYNC_SERVER 10385 void callback_fea_firewall_0_1_delete_entry4 10386 (const XrlCmdError &e, 10387 XrlRespCallback); 10388 #endif 10389 10390 XrlCmdRT handle_fea_firewall_0_1_delete_all_entries4(const XrlArgs& in, XrlCmdOT out); 10391 #ifdef XORP_ENABLE_ASYNC_SERVER 10392 void callback_fea_firewall_0_1_delete_all_entries4 10393 (const XrlCmdError &e, 10394 XrlRespCallback); 10395 #endif 10396 10397 XrlCmdRT handle_fea_firewall_0_1_get_entry_list_start4(const XrlArgs& in, XrlCmdOT out); 10398 #ifdef XORP_ENABLE_ASYNC_SERVER 10399 void callback_fea_firewall_0_1_get_entry_list_start4 10400 (const XrlCmdError &e, 10401 const uint32_t* arg_token, 10402 const bool* arg_more, 10403 XrlRespCallback); 10404 #endif 10405 10406 XrlCmdRT handle_fea_firewall_0_1_get_entry_list_next4(const XrlArgs& in, XrlCmdOT out); 10407 #ifdef XORP_ENABLE_ASYNC_SERVER 10408 void callback_fea_firewall_0_1_get_entry_list_next4 10409 (const XrlCmdError &e, 10410 const uint32_t* arg_rule_number, 10411 const string* arg_ifname, 10412 const string* arg_vifname, 10413 const IPv4Net* arg_src_network, 10414 const IPv4Net* arg_dst_network, 10415 const uint32_t* arg_ip_protocol, 10416 const uint32_t* arg_src_port_begin, 10417 const uint32_t* arg_src_port_end, 10418 const uint32_t* arg_dst_port_begin, 10419 const uint32_t* arg_dst_port_end, 10420 const string* arg_action, 10421 const bool* arg_more, 10422 XrlRespCallback); 10423 #endif 10424 10425 XrlCmdRT handle_fea_firewall_0_1_add_entry6(const XrlArgs& in, XrlCmdOT out); 10426 #ifdef XORP_ENABLE_ASYNC_SERVER 10427 void callback_fea_firewall_0_1_add_entry6 10428 (const XrlCmdError &e, 10429 XrlRespCallback); 10430 #endif 10431 10432 XrlCmdRT handle_fea_firewall_0_1_replace_entry6(const XrlArgs& in, XrlCmdOT out); 10433 #ifdef XORP_ENABLE_ASYNC_SERVER 10434 void callback_fea_firewall_0_1_replace_entry6 10435 (const XrlCmdError &e, 10436 XrlRespCallback); 10437 #endif 10438 10439 XrlCmdRT handle_fea_firewall_0_1_delete_entry6(const XrlArgs& in, XrlCmdOT out); 10440 #ifdef XORP_ENABLE_ASYNC_SERVER 10441 void callback_fea_firewall_0_1_delete_entry6 10442 (const XrlCmdError &e, 10443 XrlRespCallback); 10444 #endif 10445 10446 XrlCmdRT handle_fea_firewall_0_1_delete_all_entries6(const XrlArgs& in, XrlCmdOT out); 10447 #ifdef XORP_ENABLE_ASYNC_SERVER 10448 void callback_fea_firewall_0_1_delete_all_entries6 10449 (const XrlCmdError &e, 10450 XrlRespCallback); 10451 #endif 10452 10453 XrlCmdRT handle_fea_firewall_0_1_get_entry_list_start6(const XrlArgs& in, XrlCmdOT out); 10454 #ifdef XORP_ENABLE_ASYNC_SERVER 10455 void callback_fea_firewall_0_1_get_entry_list_start6 10456 (const XrlCmdError &e, 10457 const uint32_t* arg_token, 10458 const bool* arg_more, 10459 XrlRespCallback); 10460 #endif 10461 10462 XrlCmdRT handle_fea_firewall_0_1_get_entry_list_next6(const XrlArgs& in, XrlCmdOT out); 10463 #ifdef XORP_ENABLE_ASYNC_SERVER 10464 void callback_fea_firewall_0_1_get_entry_list_next6 10465 (const XrlCmdError &e, 10466 const uint32_t* arg_rule_number, 10467 const string* arg_ifname, 10468 const string* arg_vifname, 10469 const IPv6Net* arg_src_network, 10470 const IPv6Net* arg_dst_network, 10471 const uint32_t* arg_ip_protocol, 10472 const uint32_t* arg_src_port_begin, 10473 const uint32_t* arg_src_port_end, 10474 const uint32_t* arg_dst_port_begin, 10475 const uint32_t* arg_dst_port_end, 10476 const string* arg_action, 10477 const bool* arg_more, 10478 XrlRespCallback); 10479 #endif 10480 10481 XrlCmdRT handle_fea_firewall_0_1_startup_firewall(const XrlArgs& in, XrlCmdOT out); 10482 #ifdef XORP_ENABLE_ASYNC_SERVER 10483 void callback_fea_firewall_0_1_startup_firewall 10484 (const XrlCmdError &e, 10485 XrlRespCallback); 10486 #endif 10487 10488 XrlCmdRT handle_ifmgr_0_1_set_restore_original_config_on_shutdown(const XrlArgs& in, XrlCmdOT out); 10489 #ifdef XORP_ENABLE_ASYNC_SERVER 10490 void callback_ifmgr_0_1_set_restore_original_config_on_shutdown 10491 (const XrlCmdError &e, 10492 XrlRespCallback); 10493 #endif 10494 10495 XrlCmdRT handle_ifmgr_0_1_get_configured_interface_names(const XrlArgs& in, XrlCmdOT out); 10496 #ifdef XORP_ENABLE_ASYNC_SERVER 10497 void callback_ifmgr_0_1_get_configured_interface_names 10498 (const XrlCmdError &e, 10499 const XrlAtomList* arg_ifnames, 10500 XrlRespCallback); 10501 #endif 10502 10503 XrlCmdRT handle_ifmgr_0_1_get_configured_vif_names(const XrlArgs& in, XrlCmdOT out); 10504 #ifdef XORP_ENABLE_ASYNC_SERVER 10505 void callback_ifmgr_0_1_get_configured_vif_names 10506 (const XrlCmdError &e, 10507 const XrlAtomList* arg_vifs, 10508 XrlRespCallback); 10509 #endif 10510 10511 XrlCmdRT handle_ifmgr_0_1_get_configured_vif_flags(const XrlArgs& in, XrlCmdOT out); 10512 #ifdef XORP_ENABLE_ASYNC_SERVER 10513 void callback_ifmgr_0_1_get_configured_vif_flags 10514 (const XrlCmdError &e, 10515 const bool* arg_enabled, 10516 const bool* arg_broadcast, 10517 const bool* arg_loopback, 10518 const bool* arg_point_to_point, 10519 const bool* arg_multicast, 10520 XrlRespCallback); 10521 #endif 10522 10523 XrlCmdRT handle_ifmgr_0_1_get_configured_vif_pif_index(const XrlArgs& in, XrlCmdOT out); 10524 #ifdef XORP_ENABLE_ASYNC_SERVER 10525 void callback_ifmgr_0_1_get_configured_vif_pif_index 10526 (const XrlCmdError &e, 10527 const uint32_t* arg_pif_index, 10528 XrlRespCallback); 10529 #endif 10530 10531 XrlCmdRT handle_ifmgr_0_1_get_configured_vif_addresses4(const XrlArgs& in, XrlCmdOT out); 10532 #ifdef XORP_ENABLE_ASYNC_SERVER 10533 void callback_ifmgr_0_1_get_configured_vif_addresses4 10534 (const XrlCmdError &e, 10535 const XrlAtomList* arg_addresses, 10536 XrlRespCallback); 10537 #endif 10538 10539 XrlCmdRT handle_ifmgr_0_1_get_configured_address_flags4(const XrlArgs& in, XrlCmdOT out); 10540 #ifdef XORP_ENABLE_ASYNC_SERVER 10541 void callback_ifmgr_0_1_get_configured_address_flags4 10542 (const XrlCmdError &e, 10543 const bool* arg_enabled, 10544 const bool* arg_broadcast, 10545 const bool* arg_loopback, 10546 const bool* arg_point_to_point, 10547 const bool* arg_multicast, 10548 XrlRespCallback); 10549 #endif 10550 10551 XrlCmdRT handle_ifmgr_0_1_get_configured_interface_enabled(const XrlArgs& in, XrlCmdOT out); 10552 #ifdef XORP_ENABLE_ASYNC_SERVER 10553 void callback_ifmgr_0_1_get_configured_interface_enabled 10554 (const XrlCmdError &e, 10555 const bool* arg_enabled, 10556 XrlRespCallback); 10557 #endif 10558 10559 XrlCmdRT handle_ifmgr_0_1_get_configured_interface_discard(const XrlArgs& in, XrlCmdOT out); 10560 #ifdef XORP_ENABLE_ASYNC_SERVER 10561 void callback_ifmgr_0_1_get_configured_interface_discard 10562 (const XrlCmdError &e, 10563 const bool* arg_discard, 10564 XrlRespCallback); 10565 #endif 10566 10567 XrlCmdRT handle_ifmgr_0_1_get_configured_interface_unreachable(const XrlArgs& in, XrlCmdOT out); 10568 #ifdef XORP_ENABLE_ASYNC_SERVER 10569 void callback_ifmgr_0_1_get_configured_interface_unreachable 10570 (const XrlCmdError &e, 10571 const bool* arg_unreachable, 10572 XrlRespCallback); 10573 #endif 10574 10575 XrlCmdRT handle_ifmgr_0_1_get_configured_interface_management(const XrlArgs& in, XrlCmdOT out); 10576 #ifdef XORP_ENABLE_ASYNC_SERVER 10577 void callback_ifmgr_0_1_get_configured_interface_management 10578 (const XrlCmdError &e, 10579 const bool* arg_management, 10580 XrlRespCallback); 10581 #endif 10582 10583 XrlCmdRT handle_ifmgr_0_1_get_configured_mac(const XrlArgs& in, XrlCmdOT out); 10584 #ifdef XORP_ENABLE_ASYNC_SERVER 10585 void callback_ifmgr_0_1_get_configured_mac 10586 (const XrlCmdError &e, 10587 const Mac* arg_mac, 10588 XrlRespCallback); 10589 #endif 10590 10591 XrlCmdRT handle_ifmgr_0_1_get_configured_mtu(const XrlArgs& in, XrlCmdOT out); 10592 #ifdef XORP_ENABLE_ASYNC_SERVER 10593 void callback_ifmgr_0_1_get_configured_mtu 10594 (const XrlCmdError &e, 10595 const uint32_t* arg_mtu, 10596 XrlRespCallback); 10597 #endif 10598 10599 XrlCmdRT handle_ifmgr_0_1_get_configured_no_carrier(const XrlArgs& in, XrlCmdOT out); 10600 #ifdef XORP_ENABLE_ASYNC_SERVER 10601 void callback_ifmgr_0_1_get_configured_no_carrier 10602 (const XrlCmdError &e, 10603 const bool* arg_no_carrier, 10604 XrlRespCallback); 10605 #endif 10606 10607 XrlCmdRT handle_ifmgr_0_1_get_configured_baudrate(const XrlArgs& in, XrlCmdOT out); 10608 #ifdef XORP_ENABLE_ASYNC_SERVER 10609 void callback_ifmgr_0_1_get_configured_baudrate 10610 (const XrlCmdError &e, 10611 const uint64_t* arg_baudrate, 10612 XrlRespCallback); 10613 #endif 10614 10615 XrlCmdRT handle_ifmgr_0_1_get_configured_vif_enabled(const XrlArgs& in, XrlCmdOT out); 10616 #ifdef XORP_ENABLE_ASYNC_SERVER 10617 void callback_ifmgr_0_1_get_configured_vif_enabled 10618 (const XrlCmdError &e, 10619 const bool* arg_enabled, 10620 XrlRespCallback); 10621 #endif 10622 10623 XrlCmdRT handle_ifmgr_0_1_get_configured_prefix4(const XrlArgs& in, XrlCmdOT out); 10624 #ifdef XORP_ENABLE_ASYNC_SERVER 10625 void callback_ifmgr_0_1_get_configured_prefix4 10626 (const XrlCmdError &e, 10627 const uint32_t* arg_prefix_len, 10628 XrlRespCallback); 10629 #endif 10630 10631 XrlCmdRT handle_ifmgr_0_1_get_configured_broadcast4(const XrlArgs& in, XrlCmdOT out); 10632 #ifdef XORP_ENABLE_ASYNC_SERVER 10633 void callback_ifmgr_0_1_get_configured_broadcast4 10634 (const XrlCmdError &e, 10635 const IPv4* arg_broadcast, 10636 XrlRespCallback); 10637 #endif 10638 10639 XrlCmdRT handle_ifmgr_0_1_get_configured_endpoint4(const XrlArgs& in, XrlCmdOT out); 10640 #ifdef XORP_ENABLE_ASYNC_SERVER 10641 void callback_ifmgr_0_1_get_configured_endpoint4 10642 (const XrlCmdError &e, 10643 const IPv4* arg_endpoint, 10644 XrlRespCallback); 10645 #endif 10646 10647 XrlCmdRT handle_ifmgr_0_1_start_transaction(const XrlArgs& in, XrlCmdOT out); 10648 #ifdef XORP_ENABLE_ASYNC_SERVER 10649 void callback_ifmgr_0_1_start_transaction 10650 (const XrlCmdError &e, 10651 const uint32_t* arg_tid, 10652 XrlRespCallback); 10653 #endif 10654 10655 XrlCmdRT handle_ifmgr_0_1_commit_transaction(const XrlArgs& in, XrlCmdOT out); 10656 #ifdef XORP_ENABLE_ASYNC_SERVER 10657 void callback_ifmgr_0_1_commit_transaction 10658 (const XrlCmdError &e, 10659 XrlRespCallback); 10660 #endif 10661 10662 XrlCmdRT handle_ifmgr_0_1_abort_transaction(const XrlArgs& in, XrlCmdOT out); 10663 #ifdef XORP_ENABLE_ASYNC_SERVER 10664 void callback_ifmgr_0_1_abort_transaction 10665 (const XrlCmdError &e, 10666 XrlRespCallback); 10667 #endif 10668 10669 XrlCmdRT handle_ifmgr_0_1_create_interface(const XrlArgs& in, XrlCmdOT out); 10670 #ifdef XORP_ENABLE_ASYNC_SERVER 10671 void callback_ifmgr_0_1_create_interface 10672 (const XrlCmdError &e, 10673 XrlRespCallback); 10674 #endif 10675 10676 XrlCmdRT handle_ifmgr_0_1_delete_interface(const XrlArgs& in, XrlCmdOT out); 10677 #ifdef XORP_ENABLE_ASYNC_SERVER 10678 void callback_ifmgr_0_1_delete_interface 10679 (const XrlCmdError &e, 10680 XrlRespCallback); 10681 #endif 10682 10683 XrlCmdRT handle_ifmgr_0_1_configure_all_interfaces_from_system(const XrlArgs& in, XrlCmdOT out); 10684 #ifdef XORP_ENABLE_ASYNC_SERVER 10685 void callback_ifmgr_0_1_configure_all_interfaces_from_system 10686 (const XrlCmdError &e, 10687 XrlRespCallback); 10688 #endif 10689 10690 XrlCmdRT handle_ifmgr_0_1_configure_interface_from_system(const XrlArgs& in, XrlCmdOT out); 10691 #ifdef XORP_ENABLE_ASYNC_SERVER 10692 void callback_ifmgr_0_1_configure_interface_from_system 10693 (const XrlCmdError &e, 10694 XrlRespCallback); 10695 #endif 10696 10697 XrlCmdRT handle_ifmgr_0_1_set_interface_enabled(const XrlArgs& in, XrlCmdOT out); 10698 #ifdef XORP_ENABLE_ASYNC_SERVER 10699 void callback_ifmgr_0_1_set_interface_enabled 10700 (const XrlCmdError &e, 10701 XrlRespCallback); 10702 #endif 10703 10704 XrlCmdRT handle_ifmgr_0_1_set_interface_discard(const XrlArgs& in, XrlCmdOT out); 10705 #ifdef XORP_ENABLE_ASYNC_SERVER 10706 void callback_ifmgr_0_1_set_interface_discard 10707 (const XrlCmdError &e, 10708 XrlRespCallback); 10709 #endif 10710 10711 XrlCmdRT handle_ifmgr_0_1_set_interface_unreachable(const XrlArgs& in, XrlCmdOT out); 10712 #ifdef XORP_ENABLE_ASYNC_SERVER 10713 void callback_ifmgr_0_1_set_interface_unreachable 10714 (const XrlCmdError &e, 10715 XrlRespCallback); 10716 #endif 10717 10718 XrlCmdRT handle_ifmgr_0_1_set_interface_management(const XrlArgs& in, XrlCmdOT out); 10719 #ifdef XORP_ENABLE_ASYNC_SERVER 10720 void callback_ifmgr_0_1_set_interface_management 10721 (const XrlCmdError &e, 10722 XrlRespCallback); 10723 #endif 10724 10725 XrlCmdRT handle_ifmgr_0_1_set_mac(const XrlArgs& in, XrlCmdOT out); 10726 #ifdef XORP_ENABLE_ASYNC_SERVER 10727 void callback_ifmgr_0_1_set_mac 10728 (const XrlCmdError &e, 10729 XrlRespCallback); 10730 #endif 10731 10732 XrlCmdRT handle_ifmgr_0_1_create_mac(const XrlArgs& in, XrlCmdOT out); 10733 #ifdef XORP_ENABLE_ASYNC_SERVER 10734 void callback_ifmgr_0_1_create_mac 10735 (const XrlCmdError &e, 10736 XrlRespCallback); 10737 #endif 10738 10739 XrlCmdRT handle_ifmgr_0_1_delete_mac(const XrlArgs& in, XrlCmdOT out); 10740 #ifdef XORP_ENABLE_ASYNC_SERVER 10741 void callback_ifmgr_0_1_delete_mac 10742 (const XrlCmdError &e, 10743 XrlRespCallback); 10744 #endif 10745 10746 XrlCmdRT handle_ifmgr_0_1_restore_original_mac(const XrlArgs& in, XrlCmdOT out); 10747 #ifdef XORP_ENABLE_ASYNC_SERVER 10748 void callback_ifmgr_0_1_restore_original_mac 10749 (const XrlCmdError &e, 10750 XrlRespCallback); 10751 #endif 10752 10753 XrlCmdRT handle_ifmgr_0_1_set_mtu(const XrlArgs& in, XrlCmdOT out); 10754 #ifdef XORP_ENABLE_ASYNC_SERVER 10755 void callback_ifmgr_0_1_set_mtu 10756 (const XrlCmdError &e, 10757 XrlRespCallback); 10758 #endif 10759 10760 XrlCmdRT handle_ifmgr_0_1_restore_original_mtu(const XrlArgs& in, XrlCmdOT out); 10761 #ifdef XORP_ENABLE_ASYNC_SERVER 10762 void callback_ifmgr_0_1_restore_original_mtu 10763 (const XrlCmdError &e, 10764 XrlRespCallback); 10765 #endif 10766 10767 XrlCmdRT handle_ifmgr_0_1_create_vif(const XrlArgs& in, XrlCmdOT out); 10768 #ifdef XORP_ENABLE_ASYNC_SERVER 10769 void callback_ifmgr_0_1_create_vif 10770 (const XrlCmdError &e, 10771 XrlRespCallback); 10772 #endif 10773 10774 XrlCmdRT handle_ifmgr_0_1_delete_vif(const XrlArgs& in, XrlCmdOT out); 10775 #ifdef XORP_ENABLE_ASYNC_SERVER 10776 void callback_ifmgr_0_1_delete_vif 10777 (const XrlCmdError &e, 10778 XrlRespCallback); 10779 #endif 10780 10781 XrlCmdRT handle_ifmgr_0_1_set_vif_enabled(const XrlArgs& in, XrlCmdOT out); 10782 #ifdef XORP_ENABLE_ASYNC_SERVER 10783 void callback_ifmgr_0_1_set_vif_enabled 10784 (const XrlCmdError &e, 10785 XrlRespCallback); 10786 #endif 10787 10788 XrlCmdRT handle_ifmgr_0_1_set_parent_ifname(const XrlArgs& in, XrlCmdOT out); 10789 #ifdef XORP_ENABLE_ASYNC_SERVER 10790 void callback_ifmgr_0_1_set_parent_ifname 10791 (const XrlCmdError &e, 10792 XrlRespCallback); 10793 #endif 10794 10795 XrlCmdRT handle_ifmgr_0_1_set_iface_type(const XrlArgs& in, XrlCmdOT out); 10796 #ifdef XORP_ENABLE_ASYNC_SERVER 10797 void callback_ifmgr_0_1_set_iface_type 10798 (const XrlCmdError &e, 10799 XrlRespCallback); 10800 #endif 10801 10802 XrlCmdRT handle_ifmgr_0_1_set_vid(const XrlArgs& in, XrlCmdOT out); 10803 #ifdef XORP_ENABLE_ASYNC_SERVER 10804 void callback_ifmgr_0_1_set_vid 10805 (const XrlCmdError &e, 10806 XrlRespCallback); 10807 #endif 10808 10809 XrlCmdRT handle_ifmgr_0_1_create_address4(const XrlArgs& in, XrlCmdOT out); 10810 #ifdef XORP_ENABLE_ASYNC_SERVER 10811 void callback_ifmgr_0_1_create_address4 10812 (const XrlCmdError &e, 10813 XrlRespCallback); 10814 #endif 10815 10816 XrlCmdRT handle_ifmgr_0_1_delete_address4(const XrlArgs& in, XrlCmdOT out); 10817 #ifdef XORP_ENABLE_ASYNC_SERVER 10818 void callback_ifmgr_0_1_delete_address4 10819 (const XrlCmdError &e, 10820 XrlRespCallback); 10821 #endif 10822 10823 XrlCmdRT handle_ifmgr_0_1_create_address_atomic(const XrlArgs& in, XrlCmdOT out); 10824 #ifdef XORP_ENABLE_ASYNC_SERVER 10825 void callback_ifmgr_0_1_create_address_atomic 10826 (const XrlCmdError &e, 10827 XrlRespCallback); 10828 #endif 10829 10830 XrlCmdRT handle_ifmgr_0_1_delete_address_atomic(const XrlArgs& in, XrlCmdOT out); 10831 #ifdef XORP_ENABLE_ASYNC_SERVER 10832 void callback_ifmgr_0_1_delete_address_atomic 10833 (const XrlCmdError &e, 10834 XrlRespCallback); 10835 #endif 10836 10837 XrlCmdRT handle_ifmgr_0_1_set_address_enabled4(const XrlArgs& in, XrlCmdOT out); 10838 #ifdef XORP_ENABLE_ASYNC_SERVER 10839 void callback_ifmgr_0_1_set_address_enabled4 10840 (const XrlCmdError &e, 10841 XrlRespCallback); 10842 #endif 10843 10844 XrlCmdRT handle_ifmgr_0_1_get_configured_address_enabled4(const XrlArgs& in, XrlCmdOT out); 10845 #ifdef XORP_ENABLE_ASYNC_SERVER 10846 void callback_ifmgr_0_1_get_configured_address_enabled4 10847 (const XrlCmdError &e, 10848 const bool* arg_enabled, 10849 XrlRespCallback); 10850 #endif 10851 10852 XrlCmdRT handle_ifmgr_0_1_set_prefix4(const XrlArgs& in, XrlCmdOT out); 10853 #ifdef XORP_ENABLE_ASYNC_SERVER 10854 void callback_ifmgr_0_1_set_prefix4 10855 (const XrlCmdError &e, 10856 XrlRespCallback); 10857 #endif 10858 10859 XrlCmdRT handle_ifmgr_0_1_set_broadcast4(const XrlArgs& in, XrlCmdOT out); 10860 #ifdef XORP_ENABLE_ASYNC_SERVER 10861 void callback_ifmgr_0_1_set_broadcast4 10862 (const XrlCmdError &e, 10863 XrlRespCallback); 10864 #endif 10865 10866 XrlCmdRT handle_ifmgr_0_1_set_endpoint4(const XrlArgs& in, XrlCmdOT out); 10867 #ifdef XORP_ENABLE_ASYNC_SERVER 10868 void callback_ifmgr_0_1_set_endpoint4 10869 (const XrlCmdError &e, 10870 XrlRespCallback); 10871 #endif 10872 10873 XrlCmdRT handle_ifmgr_0_1_startup_ifmgr(const XrlArgs& in, XrlCmdOT out); 10874 #ifdef XORP_ENABLE_ASYNC_SERVER 10875 void callback_ifmgr_0_1_startup_ifmgr 10876 (const XrlCmdError &e, 10877 XrlRespCallback); 10878 #endif 10879 10880 XrlCmdRT handle_ifmgr_0_1_get_configured_vif_addresses6(const XrlArgs& in, XrlCmdOT out); 10881 #ifdef XORP_ENABLE_ASYNC_SERVER 10882 void callback_ifmgr_0_1_get_configured_vif_addresses6 10883 (const XrlCmdError &e, 10884 const XrlAtomList* arg_addresses, 10885 XrlRespCallback); 10886 #endif 10887 10888 XrlCmdRT handle_ifmgr_0_1_get_configured_address_flags6(const XrlArgs& in, XrlCmdOT out); 10889 #ifdef XORP_ENABLE_ASYNC_SERVER 10890 void callback_ifmgr_0_1_get_configured_address_flags6 10891 (const XrlCmdError &e, 10892 const bool* arg_enabled, 10893 const bool* arg_loopback, 10894 const bool* arg_point_to_point, 10895 const bool* arg_multicast, 10896 XrlRespCallback); 10897 #endif 10898 10899 XrlCmdRT handle_ifmgr_0_1_get_configured_prefix6(const XrlArgs& in, XrlCmdOT out); 10900 #ifdef XORP_ENABLE_ASYNC_SERVER 10901 void callback_ifmgr_0_1_get_configured_prefix6 10902 (const XrlCmdError &e, 10903 const uint32_t* arg_prefix_len, 10904 XrlRespCallback); 10905 #endif 10906 10907 XrlCmdRT handle_ifmgr_0_1_get_configured_endpoint6(const XrlArgs& in, XrlCmdOT out); 10908 #ifdef XORP_ENABLE_ASYNC_SERVER 10909 void callback_ifmgr_0_1_get_configured_endpoint6 10910 (const XrlCmdError &e, 10911 const IPv6* arg_endpoint, 10912 XrlRespCallback); 10913 #endif 10914 10915 XrlCmdRT handle_ifmgr_0_1_create_address6(const XrlArgs& in, XrlCmdOT out); 10916 #ifdef XORP_ENABLE_ASYNC_SERVER 10917 void callback_ifmgr_0_1_create_address6 10918 (const XrlCmdError &e, 10919 XrlRespCallback); 10920 #endif 10921 10922 XrlCmdRT handle_ifmgr_0_1_delete_address6(const XrlArgs& in, XrlCmdOT out); 10923 #ifdef XORP_ENABLE_ASYNC_SERVER 10924 void callback_ifmgr_0_1_delete_address6 10925 (const XrlCmdError &e, 10926 XrlRespCallback); 10927 #endif 10928 10929 XrlCmdRT handle_ifmgr_0_1_set_address_enabled6(const XrlArgs& in, XrlCmdOT out); 10930 #ifdef XORP_ENABLE_ASYNC_SERVER 10931 void callback_ifmgr_0_1_set_address_enabled6 10932 (const XrlCmdError &e, 10933 XrlRespCallback); 10934 #endif 10935 10936 XrlCmdRT handle_ifmgr_0_1_get_configured_address_enabled6(const XrlArgs& in, XrlCmdOT out); 10937 #ifdef XORP_ENABLE_ASYNC_SERVER 10938 void callback_ifmgr_0_1_get_configured_address_enabled6 10939 (const XrlCmdError &e, 10940 const bool* arg_enabled, 10941 XrlRespCallback); 10942 #endif 10943 10944 XrlCmdRT handle_ifmgr_0_1_set_prefix6(const XrlArgs& in, XrlCmdOT out); 10945 #ifdef XORP_ENABLE_ASYNC_SERVER 10946 void callback_ifmgr_0_1_set_prefix6 10947 (const XrlCmdError &e, 10948 XrlRespCallback); 10949 #endif 10950 10951 XrlCmdRT handle_ifmgr_0_1_set_endpoint6(const XrlArgs& in, XrlCmdOT out); 10952 #ifdef XORP_ENABLE_ASYNC_SERVER 10953 void callback_ifmgr_0_1_set_endpoint6 10954 (const XrlCmdError &e, 10955 XrlRespCallback); 10956 #endif 10957 10958 XrlCmdRT handle_ifmgr_replicator_0_1_register_ifmgr_mirror(const XrlArgs& in, XrlCmdOT out); 10959 #ifdef XORP_ENABLE_ASYNC_SERVER 10960 void callback_ifmgr_replicator_0_1_register_ifmgr_mirror 10961 (const XrlCmdError &e, 10962 XrlRespCallback); 10963 #endif 10964 10965 XrlCmdRT handle_ifmgr_replicator_0_1_unregister_ifmgr_mirror(const XrlArgs& in, XrlCmdOT out); 10966 #ifdef XORP_ENABLE_ASYNC_SERVER 10967 void callback_ifmgr_replicator_0_1_unregister_ifmgr_mirror 10968 (const XrlCmdError &e, 10969 XrlRespCallback); 10970 #endif 10971 10972 XrlCmdRT handle_fti_0_2_lookup_route_by_dest4(const XrlArgs& in, XrlCmdOT out); 10973 #ifdef XORP_ENABLE_ASYNC_SERVER 10974 void callback_fti_0_2_lookup_route_by_dest4 10975 (const XrlCmdError &e, 10976 const IPv4Net* arg_netmask, 10977 const IPv4* arg_nexthop, 10978 const string* arg_ifname, 10979 const string* arg_vifname, 10980 const uint32_t* arg_metric, 10981 const uint32_t* arg_admin_distance, 10982 const string* arg_protocol_origin, 10983 XrlRespCallback); 10984 #endif 10985 10986 XrlCmdRT handle_fti_0_2_lookup_route_by_network4(const XrlArgs& in, XrlCmdOT out); 10987 #ifdef XORP_ENABLE_ASYNC_SERVER 10988 void callback_fti_0_2_lookup_route_by_network4 10989 (const XrlCmdError &e, 10990 const IPv4* arg_nexthop, 10991 const string* arg_ifname, 10992 const string* arg_vifname, 10993 const uint32_t* arg_metric, 10994 const uint32_t* arg_admin_distance, 10995 const string* arg_protocol_origin, 10996 XrlRespCallback); 10997 #endif 10998 10999 XrlCmdRT handle_fti_0_2_have_ipv4(const XrlArgs& in, XrlCmdOT out); 11000 #ifdef XORP_ENABLE_ASYNC_SERVER 11001 void callback_fti_0_2_have_ipv4 11002 (const XrlCmdError &e, 11003 const bool* arg_result, 11004 XrlRespCallback); 11005 #endif 11006 11007 XrlCmdRT handle_fti_0_2_get_unicast_forwarding_enabled4(const XrlArgs& in, XrlCmdOT out); 11008 #ifdef XORP_ENABLE_ASYNC_SERVER 11009 void callback_fti_0_2_get_unicast_forwarding_enabled4 11010 (const XrlCmdError &e, 11011 const bool* arg_enabled, 11012 XrlRespCallback); 11013 #endif 11014 11015 XrlCmdRT handle_fti_0_2_set_unicast_forwarding_enabled4(const XrlArgs& in, XrlCmdOT out); 11016 #ifdef XORP_ENABLE_ASYNC_SERVER 11017 void callback_fti_0_2_set_unicast_forwarding_enabled4 11018 (const XrlCmdError &e, 11019 XrlRespCallback); 11020 #endif 11021 11022 XrlCmdRT handle_fti_0_2_set_unicast_forwarding_entries_retain_on_startup4(const XrlArgs& in, XrlCmdOT out); 11023 #ifdef XORP_ENABLE_ASYNC_SERVER 11024 void callback_fti_0_2_set_unicast_forwarding_entries_retain_on_startup4 11025 (const XrlCmdError &e, 11026 XrlRespCallback); 11027 #endif 11028 11029 XrlCmdRT handle_fti_0_2_set_unicast_forwarding_entries_retain_on_shutdown4(const XrlArgs& in, XrlCmdOT out); 11030 #ifdef XORP_ENABLE_ASYNC_SERVER 11031 void callback_fti_0_2_set_unicast_forwarding_entries_retain_on_shutdown4 11032 (const XrlCmdError &e, 11033 XrlRespCallback); 11034 #endif 11035 11036 XrlCmdRT handle_fti_0_2_set_unicast_forwarding_table_id4(const XrlArgs& in, XrlCmdOT out); 11037 #ifdef XORP_ENABLE_ASYNC_SERVER 11038 void callback_fti_0_2_set_unicast_forwarding_table_id4 11039 (const XrlCmdError &e, 11040 XrlRespCallback); 11041 #endif 11042 11043 XrlCmdRT handle_fti_0_2_lookup_route_by_dest6(const XrlArgs& in, XrlCmdOT out); 11044 #ifdef XORP_ENABLE_ASYNC_SERVER 11045 void callback_fti_0_2_lookup_route_by_dest6 11046 (const XrlCmdError &e, 11047 const IPv6Net* arg_netmask, 11048 const IPv6* arg_nexthop, 11049 const string* arg_ifname, 11050 const string* arg_vifname, 11051 const uint32_t* arg_metric, 11052 const uint32_t* arg_admin_distance, 11053 const string* arg_protocol_origin, 11054 XrlRespCallback); 11055 #endif 11056 11057 XrlCmdRT handle_fti_0_2_lookup_route_by_network6(const XrlArgs& in, XrlCmdOT out); 11058 #ifdef XORP_ENABLE_ASYNC_SERVER 11059 void callback_fti_0_2_lookup_route_by_network6 11060 (const XrlCmdError &e, 11061 const IPv6* arg_nexthop, 11062 const string* arg_ifname, 11063 const string* arg_vifname, 11064 const uint32_t* arg_metric, 11065 const uint32_t* arg_admin_distance, 11066 const string* arg_protocol_origin, 11067 XrlRespCallback); 11068 #endif 11069 11070 XrlCmdRT handle_fti_0_2_have_ipv6(const XrlArgs& in, XrlCmdOT out); 11071 #ifdef XORP_ENABLE_ASYNC_SERVER 11072 void callback_fti_0_2_have_ipv6 11073 (const XrlCmdError &e, 11074 const bool* arg_result, 11075 XrlRespCallback); 11076 #endif 11077 11078 XrlCmdRT handle_fti_0_2_get_unicast_forwarding_enabled6(const XrlArgs& in, XrlCmdOT out); 11079 #ifdef XORP_ENABLE_ASYNC_SERVER 11080 void callback_fti_0_2_get_unicast_forwarding_enabled6 11081 (const XrlCmdError &e, 11082 const bool* arg_enabled, 11083 XrlRespCallback); 11084 #endif 11085 11086 XrlCmdRT handle_fti_0_2_set_unicast_forwarding_enabled6(const XrlArgs& in, XrlCmdOT out); 11087 #ifdef XORP_ENABLE_ASYNC_SERVER 11088 void callback_fti_0_2_set_unicast_forwarding_enabled6 11089 (const XrlCmdError &e, 11090 XrlRespCallback); 11091 #endif 11092 11093 XrlCmdRT handle_fti_0_2_set_unicast_forwarding_entries_retain_on_startup6(const XrlArgs& in, XrlCmdOT out); 11094 #ifdef XORP_ENABLE_ASYNC_SERVER 11095 void callback_fti_0_2_set_unicast_forwarding_entries_retain_on_startup6 11096 (const XrlCmdError &e, 11097 XrlRespCallback); 11098 #endif 11099 11100 XrlCmdRT handle_fti_0_2_set_unicast_forwarding_entries_retain_on_shutdown6(const XrlArgs& in, XrlCmdOT out); 11101 #ifdef XORP_ENABLE_ASYNC_SERVER 11102 void callback_fti_0_2_set_unicast_forwarding_entries_retain_on_shutdown6 11103 (const XrlCmdError &e, 11104 XrlRespCallback); 11105 #endif 11106 11107 XrlCmdRT handle_fti_0_2_set_unicast_forwarding_table_id6(const XrlArgs& in, XrlCmdOT out); 11108 #ifdef XORP_ENABLE_ASYNC_SERVER 11109 void callback_fti_0_2_set_unicast_forwarding_table_id6 11110 (const XrlCmdError &e, 11111 XrlRespCallback); 11112 #endif 11113 11114 XrlCmdRT handle_redist_transaction4_0_1_start_transaction(const XrlArgs& in, XrlCmdOT out); 11115 #ifdef XORP_ENABLE_ASYNC_SERVER 11116 void callback_redist_transaction4_0_1_start_transaction 11117 (const XrlCmdError &e, 11118 const uint32_t* arg_tid, 11119 XrlRespCallback); 11120 #endif 11121 11122 XrlCmdRT handle_redist_transaction4_0_1_commit_transaction(const XrlArgs& in, XrlCmdOT out); 11123 #ifdef XORP_ENABLE_ASYNC_SERVER 11124 void callback_redist_transaction4_0_1_commit_transaction 11125 (const XrlCmdError &e, 11126 XrlRespCallback); 11127 #endif 11128 11129 XrlCmdRT handle_redist_transaction4_0_1_abort_transaction(const XrlArgs& in, XrlCmdOT out); 11130 #ifdef XORP_ENABLE_ASYNC_SERVER 11131 void callback_redist_transaction4_0_1_abort_transaction 11132 (const XrlCmdError &e, 11133 XrlRespCallback); 11134 #endif 11135 11136 XrlCmdRT handle_redist_transaction4_0_1_add_route(const XrlArgs& in, XrlCmdOT out); 11137 #ifdef XORP_ENABLE_ASYNC_SERVER 11138 void callback_redist_transaction4_0_1_add_route 11139 (const XrlCmdError &e, 11140 XrlRespCallback); 11141 #endif 11142 11143 XrlCmdRT handle_redist_transaction4_0_1_delete_route(const XrlArgs& in, XrlCmdOT out); 11144 #ifdef XORP_ENABLE_ASYNC_SERVER 11145 void callback_redist_transaction4_0_1_delete_route 11146 (const XrlCmdError &e, 11147 XrlRespCallback); 11148 #endif 11149 11150 XrlCmdRT handle_redist_transaction4_0_1_delete_all_routes(const XrlArgs& in, XrlCmdOT out); 11151 #ifdef XORP_ENABLE_ASYNC_SERVER 11152 void callback_redist_transaction4_0_1_delete_all_routes 11153 (const XrlCmdError &e, 11154 XrlRespCallback); 11155 #endif 11156 11157 XrlCmdRT handle_raw_link_0_1_send(const XrlArgs& in, XrlCmdOT out); 11158 #ifdef XORP_ENABLE_ASYNC_SERVER 11159 void callback_raw_link_0_1_send 11160 (const XrlCmdError &e, 11161 XrlRespCallback); 11162 #endif 11163 11164 XrlCmdRT handle_raw_link_0_1_register_receiver(const XrlArgs& in, XrlCmdOT out); 11165 #ifdef XORP_ENABLE_ASYNC_SERVER 11166 void callback_raw_link_0_1_register_receiver 11167 (const XrlCmdError &e, 11168 XrlRespCallback); 11169 #endif 11170 11171 XrlCmdRT handle_raw_link_0_1_unregister_receiver(const XrlArgs& in, XrlCmdOT out); 11172 #ifdef XORP_ENABLE_ASYNC_SERVER 11173 void callback_raw_link_0_1_unregister_receiver 11174 (const XrlCmdError &e, 11175 XrlRespCallback); 11176 #endif 11177 11178 XrlCmdRT handle_raw_link_0_1_join_multicast_group(const XrlArgs& in, XrlCmdOT out); 11179 #ifdef XORP_ENABLE_ASYNC_SERVER 11180 void callback_raw_link_0_1_join_multicast_group 11181 (const XrlCmdError &e, 11182 XrlRespCallback); 11183 #endif 11184 11185 XrlCmdRT handle_raw_link_0_1_leave_multicast_group(const XrlArgs& in, XrlCmdOT out); 11186 #ifdef XORP_ENABLE_ASYNC_SERVER 11187 void callback_raw_link_0_1_leave_multicast_group 11188 (const XrlCmdError &e, 11189 XrlRespCallback); 11190 #endif 11191 11192 XrlCmdRT handle_raw_packet4_0_1_send(const XrlArgs& in, XrlCmdOT out); 11193 #ifdef XORP_ENABLE_ASYNC_SERVER 11194 void callback_raw_packet4_0_1_send 11195 (const XrlCmdError &e, 11196 XrlRespCallback); 11197 #endif 11198 11199 XrlCmdRT handle_raw_packet4_0_1_register_receiver(const XrlArgs& in, XrlCmdOT out); 11200 #ifdef XORP_ENABLE_ASYNC_SERVER 11201 void callback_raw_packet4_0_1_register_receiver 11202 (const XrlCmdError &e, 11203 XrlRespCallback); 11204 #endif 11205 11206 XrlCmdRT handle_raw_packet4_0_1_unregister_receiver(const XrlArgs& in, XrlCmdOT out); 11207 #ifdef XORP_ENABLE_ASYNC_SERVER 11208 void callback_raw_packet4_0_1_unregister_receiver 11209 (const XrlCmdError &e, 11210 XrlRespCallback); 11211 #endif 11212 11213 XrlCmdRT handle_raw_packet4_0_1_join_multicast_group(const XrlArgs& in, XrlCmdOT out); 11214 #ifdef XORP_ENABLE_ASYNC_SERVER 11215 void callback_raw_packet4_0_1_join_multicast_group 11216 (const XrlCmdError &e, 11217 XrlRespCallback); 11218 #endif 11219 11220 XrlCmdRT handle_raw_packet4_0_1_leave_multicast_group(const XrlArgs& in, XrlCmdOT out); 11221 #ifdef XORP_ENABLE_ASYNC_SERVER 11222 void callback_raw_packet4_0_1_leave_multicast_group 11223 (const XrlCmdError &e, 11224 XrlRespCallback); 11225 #endif 11226 11227 XrlCmdRT handle_socket4_0_1_tcp_open(const XrlArgs& in, XrlCmdOT out); 11228 #ifdef XORP_ENABLE_ASYNC_SERVER 11229 void callback_socket4_0_1_tcp_open 11230 (const XrlCmdError &e, 11231 const string* arg_sockid, 11232 XrlRespCallback); 11233 #endif 11234 11235 XrlCmdRT handle_socket4_0_1_udp_open(const XrlArgs& in, XrlCmdOT out); 11236 #ifdef XORP_ENABLE_ASYNC_SERVER 11237 void callback_socket4_0_1_udp_open 11238 (const XrlCmdError &e, 11239 const string* arg_sockid, 11240 XrlRespCallback); 11241 #endif 11242 11243 XrlCmdRT handle_socket4_0_1_tcp_open_and_bind(const XrlArgs& in, XrlCmdOT out); 11244 #ifdef XORP_ENABLE_ASYNC_SERVER 11245 void callback_socket4_0_1_tcp_open_and_bind 11246 (const XrlCmdError &e, 11247 const string* arg_sockid, 11248 XrlRespCallback); 11249 #endif 11250 11251 XrlCmdRT handle_socket4_0_1_udp_open_and_bind(const XrlArgs& in, XrlCmdOT out); 11252 #ifdef XORP_ENABLE_ASYNC_SERVER 11253 void callback_socket4_0_1_udp_open_and_bind 11254 (const XrlCmdError &e, 11255 const string* arg_sockid, 11256 XrlRespCallback); 11257 #endif 11258 11259 XrlCmdRT handle_socket4_0_1_udp_open_bind_join(const XrlArgs& in, XrlCmdOT out); 11260 #ifdef XORP_ENABLE_ASYNC_SERVER 11261 void callback_socket4_0_1_udp_open_bind_join 11262 (const XrlCmdError &e, 11263 const string* arg_sockid, 11264 XrlRespCallback); 11265 #endif 11266 11267 XrlCmdRT handle_socket4_0_1_tcp_open_bind_connect(const XrlArgs& in, XrlCmdOT out); 11268 #ifdef XORP_ENABLE_ASYNC_SERVER 11269 void callback_socket4_0_1_tcp_open_bind_connect 11270 (const XrlCmdError &e, 11271 const string* arg_sockid, 11272 XrlRespCallback); 11273 #endif 11274 11275 XrlCmdRT handle_socket4_0_1_udp_open_bind_connect(const XrlArgs& in, XrlCmdOT out); 11276 #ifdef XORP_ENABLE_ASYNC_SERVER 11277 void callback_socket4_0_1_udp_open_bind_connect 11278 (const XrlCmdError &e, 11279 const string* arg_sockid, 11280 XrlRespCallback); 11281 #endif 11282 11283 XrlCmdRT handle_socket4_0_1_udp_open_bind_broadcast(const XrlArgs& in, XrlCmdOT out); 11284 #ifdef XORP_ENABLE_ASYNC_SERVER 11285 void callback_socket4_0_1_udp_open_bind_broadcast 11286 (const XrlCmdError &e, 11287 const string* arg_sockid, 11288 XrlRespCallback); 11289 #endif 11290 11291 XrlCmdRT handle_socket4_0_1_bind(const XrlArgs& in, XrlCmdOT out); 11292 #ifdef XORP_ENABLE_ASYNC_SERVER 11293 void callback_socket4_0_1_bind 11294 (const XrlCmdError &e, 11295 XrlRespCallback); 11296 #endif 11297 11298 XrlCmdRT handle_socket4_0_1_udp_join_group(const XrlArgs& in, XrlCmdOT out); 11299 #ifdef XORP_ENABLE_ASYNC_SERVER 11300 void callback_socket4_0_1_udp_join_group 11301 (const XrlCmdError &e, 11302 XrlRespCallback); 11303 #endif 11304 11305 XrlCmdRT handle_socket4_0_1_udp_leave_group(const XrlArgs& in, XrlCmdOT out); 11306 #ifdef XORP_ENABLE_ASYNC_SERVER 11307 void callback_socket4_0_1_udp_leave_group 11308 (const XrlCmdError &e, 11309 XrlRespCallback); 11310 #endif 11311 11312 XrlCmdRT handle_socket4_0_1_close(const XrlArgs& in, XrlCmdOT out); 11313 #ifdef XORP_ENABLE_ASYNC_SERVER 11314 void callback_socket4_0_1_close 11315 (const XrlCmdError &e, 11316 XrlRespCallback); 11317 #endif 11318 11319 XrlCmdRT handle_socket4_0_1_tcp_listen(const XrlArgs& in, XrlCmdOT out); 11320 #ifdef XORP_ENABLE_ASYNC_SERVER 11321 void callback_socket4_0_1_tcp_listen 11322 (const XrlCmdError &e, 11323 XrlRespCallback); 11324 #endif 11325 11326 XrlCmdRT handle_socket4_0_1_udp_enable_recv(const XrlArgs& in, XrlCmdOT out); 11327 #ifdef XORP_ENABLE_ASYNC_SERVER 11328 void callback_socket4_0_1_udp_enable_recv 11329 (const XrlCmdError &e, 11330 XrlRespCallback); 11331 #endif 11332 11333 XrlCmdRT handle_socket4_0_1_send(const XrlArgs& in, XrlCmdOT out); 11334 #ifdef XORP_ENABLE_ASYNC_SERVER 11335 void callback_socket4_0_1_send 11336 (const XrlCmdError &e, 11337 XrlRespCallback); 11338 #endif 11339 11340 XrlCmdRT handle_socket4_0_1_send_to(const XrlArgs& in, XrlCmdOT out); 11341 #ifdef XORP_ENABLE_ASYNC_SERVER 11342 void callback_socket4_0_1_send_to 11343 (const XrlCmdError &e, 11344 XrlRespCallback); 11345 #endif 11346 11347 XrlCmdRT handle_socket4_0_1_send_from_multicast_if(const XrlArgs& in, XrlCmdOT out); 11348 #ifdef XORP_ENABLE_ASYNC_SERVER 11349 void callback_socket4_0_1_send_from_multicast_if 11350 (const XrlCmdError &e, 11351 XrlRespCallback); 11352 #endif 11353 11354 XrlCmdRT handle_socket4_0_1_set_socket_option(const XrlArgs& in, XrlCmdOT out); 11355 #ifdef XORP_ENABLE_ASYNC_SERVER 11356 void callback_socket4_0_1_set_socket_option 11357 (const XrlCmdError &e, 11358 XrlRespCallback); 11359 #endif 11360 11361 XrlCmdRT handle_socket4_0_1_set_socket_option_txt(const XrlArgs& in, XrlCmdOT out); 11362 #ifdef XORP_ENABLE_ASYNC_SERVER 11363 void callback_socket4_0_1_set_socket_option_txt 11364 (const XrlCmdError &e, 11365 XrlRespCallback); 11366 #endif 11367 11368 XrlCmdRT handle_redist_transaction6_0_1_start_transaction(const XrlArgs& in, XrlCmdOT out); 11369 #ifdef XORP_ENABLE_ASYNC_SERVER 11370 void callback_redist_transaction6_0_1_start_transaction 11371 (const XrlCmdError &e, 11372 const uint32_t* arg_tid, 11373 XrlRespCallback); 11374 #endif 11375 11376 XrlCmdRT handle_redist_transaction6_0_1_commit_transaction(const XrlArgs& in, XrlCmdOT out); 11377 #ifdef XORP_ENABLE_ASYNC_SERVER 11378 void callback_redist_transaction6_0_1_commit_transaction 11379 (const XrlCmdError &e, 11380 XrlRespCallback); 11381 #endif 11382 11383 XrlCmdRT handle_redist_transaction6_0_1_abort_transaction(const XrlArgs& in, XrlCmdOT out); 11384 #ifdef XORP_ENABLE_ASYNC_SERVER 11385 void callback_redist_transaction6_0_1_abort_transaction 11386 (const XrlCmdError &e, 11387 XrlRespCallback); 11388 #endif 11389 11390 XrlCmdRT handle_redist_transaction6_0_1_add_route(const XrlArgs& in, XrlCmdOT out); 11391 #ifdef XORP_ENABLE_ASYNC_SERVER 11392 void callback_redist_transaction6_0_1_add_route 11393 (const XrlCmdError &e, 11394 XrlRespCallback); 11395 #endif 11396 11397 XrlCmdRT handle_redist_transaction6_0_1_delete_route(const XrlArgs& in, XrlCmdOT out); 11398 #ifdef XORP_ENABLE_ASYNC_SERVER 11399 void callback_redist_transaction6_0_1_delete_route 11400 (const XrlCmdError &e, 11401 XrlRespCallback); 11402 #endif 11403 11404 XrlCmdRT handle_redist_transaction6_0_1_delete_all_routes(const XrlArgs& in, XrlCmdOT out); 11405 #ifdef XORP_ENABLE_ASYNC_SERVER 11406 void callback_redist_transaction6_0_1_delete_all_routes 11407 (const XrlCmdError &e, 11408 XrlRespCallback); 11409 #endif 11410 11411 XrlCmdRT handle_socket6_0_1_tcp_open(const XrlArgs& in, XrlCmdOT out); 11412 #ifdef XORP_ENABLE_ASYNC_SERVER 11413 void callback_socket6_0_1_tcp_open 11414 (const XrlCmdError &e, 11415 const string* arg_sockid, 11416 XrlRespCallback); 11417 #endif 11418 11419 XrlCmdRT handle_socket6_0_1_udp_open(const XrlArgs& in, XrlCmdOT out); 11420 #ifdef XORP_ENABLE_ASYNC_SERVER 11421 void callback_socket6_0_1_udp_open 11422 (const XrlCmdError &e, 11423 const string* arg_sockid, 11424 XrlRespCallback); 11425 #endif 11426 11427 XrlCmdRT handle_socket6_0_1_tcp_open_and_bind(const XrlArgs& in, XrlCmdOT out); 11428 #ifdef XORP_ENABLE_ASYNC_SERVER 11429 void callback_socket6_0_1_tcp_open_and_bind 11430 (const XrlCmdError &e, 11431 const string* arg_sockid, 11432 XrlRespCallback); 11433 #endif 11434 11435 XrlCmdRT handle_socket6_0_1_udp_open_and_bind(const XrlArgs& in, XrlCmdOT out); 11436 #ifdef XORP_ENABLE_ASYNC_SERVER 11437 void callback_socket6_0_1_udp_open_and_bind 11438 (const XrlCmdError &e, 11439 const string* arg_sockid, 11440 XrlRespCallback); 11441 #endif 11442 11443 XrlCmdRT handle_socket6_0_1_udp_open_bind_join(const XrlArgs& in, XrlCmdOT out); 11444 #ifdef XORP_ENABLE_ASYNC_SERVER 11445 void callback_socket6_0_1_udp_open_bind_join 11446 (const XrlCmdError &e, 11447 const string* arg_sockid, 11448 XrlRespCallback); 11449 #endif 11450 11451 XrlCmdRT handle_socket6_0_1_tcp_open_bind_connect(const XrlArgs& in, XrlCmdOT out); 11452 #ifdef XORP_ENABLE_ASYNC_SERVER 11453 void callback_socket6_0_1_tcp_open_bind_connect 11454 (const XrlCmdError &e, 11455 const string* arg_sockid, 11456 XrlRespCallback); 11457 #endif 11458 11459 XrlCmdRT handle_socket6_0_1_udp_open_bind_connect(const XrlArgs& in, XrlCmdOT out); 11460 #ifdef XORP_ENABLE_ASYNC_SERVER 11461 void callback_socket6_0_1_udp_open_bind_connect 11462 (const XrlCmdError &e, 11463 const string* arg_sockid, 11464 XrlRespCallback); 11465 #endif 11466 11467 XrlCmdRT handle_socket6_0_1_bind(const XrlArgs& in, XrlCmdOT out); 11468 #ifdef XORP_ENABLE_ASYNC_SERVER 11469 void callback_socket6_0_1_bind 11470 (const XrlCmdError &e, 11471 XrlRespCallback); 11472 #endif 11473 11474 XrlCmdRT handle_socket6_0_1_udp_join_group(const XrlArgs& in, XrlCmdOT out); 11475 #ifdef XORP_ENABLE_ASYNC_SERVER 11476 void callback_socket6_0_1_udp_join_group 11477 (const XrlCmdError &e, 11478 XrlRespCallback); 11479 #endif 11480 11481 XrlCmdRT handle_socket6_0_1_udp_leave_group(const XrlArgs& in, XrlCmdOT out); 11482 #ifdef XORP_ENABLE_ASYNC_SERVER 11483 void callback_socket6_0_1_udp_leave_group 11484 (const XrlCmdError &e, 11485 XrlRespCallback); 11486 #endif 11487 11488 XrlCmdRT handle_socket6_0_1_close(const XrlArgs& in, XrlCmdOT out); 11489 #ifdef XORP_ENABLE_ASYNC_SERVER 11490 void callback_socket6_0_1_close 11491 (const XrlCmdError &e, 11492 XrlRespCallback); 11493 #endif 11494 11495 XrlCmdRT handle_socket6_0_1_tcp_listen(const XrlArgs& in, XrlCmdOT out); 11496 #ifdef XORP_ENABLE_ASYNC_SERVER 11497 void callback_socket6_0_1_tcp_listen 11498 (const XrlCmdError &e, 11499 XrlRespCallback); 11500 #endif 11501 11502 XrlCmdRT handle_socket6_0_1_send(const XrlArgs& in, XrlCmdOT out); 11503 #ifdef XORP_ENABLE_ASYNC_SERVER 11504 void callback_socket6_0_1_send 11505 (const XrlCmdError &e, 11506 XrlRespCallback); 11507 #endif 11508 11509 XrlCmdRT handle_socket6_0_1_send_to(const XrlArgs& in, XrlCmdOT out); 11510 #ifdef XORP_ENABLE_ASYNC_SERVER 11511 void callback_socket6_0_1_send_to 11512 (const XrlCmdError &e, 11513 XrlRespCallback); 11514 #endif 11515 11516 XrlCmdRT handle_socket6_0_1_send_from_multicast_if(const XrlArgs& in, XrlCmdOT out); 11517 #ifdef XORP_ENABLE_ASYNC_SERVER 11518 void callback_socket6_0_1_send_from_multicast_if 11519 (const XrlCmdError &e, 11520 XrlRespCallback); 11521 #endif 11522 11523 XrlCmdRT handle_socket6_0_1_set_socket_option(const XrlArgs& in, XrlCmdOT out); 11524 #ifdef XORP_ENABLE_ASYNC_SERVER 11525 void callback_socket6_0_1_set_socket_option 11526 (const XrlCmdError &e, 11527 XrlRespCallback); 11528 #endif 11529 11530 XrlCmdRT handle_raw_packet6_0_1_send(const XrlArgs& in, XrlCmdOT out); 11531 #ifdef XORP_ENABLE_ASYNC_SERVER 11532 void callback_raw_packet6_0_1_send 11533 (const XrlCmdError &e, 11534 XrlRespCallback); 11535 #endif 11536 11537 XrlCmdRT handle_raw_packet6_0_1_register_receiver(const XrlArgs& in, XrlCmdOT out); 11538 #ifdef XORP_ENABLE_ASYNC_SERVER 11539 void callback_raw_packet6_0_1_register_receiver 11540 (const XrlCmdError &e, 11541 XrlRespCallback); 11542 #endif 11543 11544 XrlCmdRT handle_raw_packet6_0_1_unregister_receiver(const XrlArgs& in, XrlCmdOT out); 11545 #ifdef XORP_ENABLE_ASYNC_SERVER 11546 void callback_raw_packet6_0_1_unregister_receiver 11547 (const XrlCmdError &e, 11548 XrlRespCallback); 11549 #endif 11550 11551 XrlCmdRT handle_raw_packet6_0_1_join_multicast_group(const XrlArgs& in, XrlCmdOT out); 11552 #ifdef XORP_ENABLE_ASYNC_SERVER 11553 void callback_raw_packet6_0_1_join_multicast_group 11554 (const XrlCmdError &e, 11555 XrlRespCallback); 11556 #endif 11557 11558 XrlCmdRT handle_raw_packet6_0_1_leave_multicast_group(const XrlArgs& in, XrlCmdOT out); 11559 #ifdef XORP_ENABLE_ASYNC_SERVER 11560 void callback_raw_packet6_0_1_leave_multicast_group 11561 (const XrlCmdError &e, 11562 XrlRespCallback); 11563 #endif 11564 11565 XrlCmdRT handle_profile_0_1_enable(const XrlArgs& in, XrlCmdOT out); 11566 #ifdef XORP_ENABLE_ASYNC_SERVER 11567 void callback_profile_0_1_enable 11568 (const XrlCmdError &e, 11569 XrlRespCallback); 11570 #endif 11571 11572 XrlCmdRT handle_profile_0_1_disable(const XrlArgs& in, XrlCmdOT out); 11573 #ifdef XORP_ENABLE_ASYNC_SERVER 11574 void callback_profile_0_1_disable 11575 (const XrlCmdError &e, 11576 XrlRespCallback); 11577 #endif 11578 11579 XrlCmdRT handle_profile_0_1_get_entries(const XrlArgs& in, XrlCmdOT out); 11580 #ifdef XORP_ENABLE_ASYNC_SERVER 11581 void callback_profile_0_1_get_entries 11582 (const XrlCmdError &e, 11583 XrlRespCallback); 11584 #endif 11585 11586 XrlCmdRT handle_profile_0_1_clear(const XrlArgs& in, XrlCmdOT out); 11587 #ifdef XORP_ENABLE_ASYNC_SERVER 11588 void callback_profile_0_1_clear 11589 (const XrlCmdError &e, 11590 XrlRespCallback); 11591 #endif 11592 11593 XrlCmdRT handle_profile_0_1_list(const XrlArgs& in, XrlCmdOT out); 11594 #ifdef XORP_ENABLE_ASYNC_SERVER 11595 void callback_profile_0_1_list 11596 (const XrlCmdError &e, 11597 const string* arg_info, 11598 XrlRespCallback); 11599 #endif 11600 11601 void add_handlers(); 11602 void remove_handlers(); 11603 11604 struct handler_table { 11605 const char *name; 11606 XrlCmdRT (XrlFeaTargetBase::*method)(const XrlArgs&, XrlCmdOT); 11607 }; 11608 11609 static const struct handler_table handlers[]; 11610 static const size_t num_handlers; 11611 }; 11612 11613 #endif // __XRL_TARGETS_FEA_BASE_HH__