xorp

fea_base.hh

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__
 All Classes Namespaces Functions Variables Typedefs Enumerations