|
xorp
|
00001 /* 00002 * obj/i386-pc-mingw32/xrl/interfaces/mfea_xif.hh 00003 * vim:set sts=4 ts=8 ft=cpp: 00004 * 00005 * Copyright (c) 2001-2010 XORP, Inc and Others 00006 * See the XORP LICENSE.lgpl file for licensing, conditions, and warranties 00007 * on use. 00008 * 00009 * DO NOT EDIT THIS FILE - IT IS PROGRAMMATICALLY GENERATED 00010 * 00011 * Generated by 'clnt-gen'. 00012 */ 00013 00014 #ifndef __XRL_INTERFACES_MFEA_XIF_HH__ 00015 #define __XRL_INTERFACES_MFEA_XIF_HH__ 00016 00017 #undef XORP_LIBRARY_NAME 00018 #define XORP_LIBRARY_NAME "XifMfea" 00019 00020 #include "libxorp/xlog.h" 00021 #include "libxorp/callback.hh" 00022 00023 #include "libxipc/xrl.hh" 00024 #include "libxipc/xrl_error.hh" 00025 #include "libxipc/xrl_sender.hh" 00026 00027 //#include <memory> 00028 00029 class XrlMfeaV0p1Client { 00030 public: 00031 XrlMfeaV0p1Client(XrlSender* s) : _sender(s) {} 00032 virtual ~XrlMfeaV0p1Client() {} 00033 00034 typedef XorpCallback2<void, const XrlError&, const bool*>::RefPtr HaveMulticastRouting4CB; 00042 bool send_have_multicast_routing4( 00043 const char* dst_xrl_target_name, 00044 const HaveMulticastRouting4CB& cb 00045 ); 00046 00047 typedef XorpCallback1<void, const XrlError&>::RefPtr RegisterProtocol4CB; 00067 bool send_register_protocol4( 00068 const char* dst_xrl_target_name, 00069 const string& xrl_sender_name, 00070 const string& if_name, 00071 const string& vif_name, 00072 const uint32_t& ip_protocol, 00073 const RegisterProtocol4CB& cb 00074 ); 00075 00076 typedef XorpCallback1<void, const XrlError&>::RefPtr UnregisterProtocol4CB; 00093 bool send_unregister_protocol4( 00094 const char* dst_xrl_target_name, 00095 const string& xrl_sender_name, 00096 const string& if_name, 00097 const string& vif_name, 00098 const UnregisterProtocol4CB& cb 00099 ); 00100 00101 typedef XorpCallback1<void, const XrlError&>::RefPtr AddMfc4CB; 00128 bool send_add_mfc4( 00129 const char* dst_xrl_target_name, 00130 const string& xrl_sender_name, 00131 const IPv4& source_address, 00132 const IPv4& group_address, 00133 const uint32_t& iif_vif_index, 00134 const vector<uint8_t>& oiflist, 00135 const vector<uint8_t>& oiflist_disable_wrongvif, 00136 const uint32_t& max_vifs_oiflist, 00137 const IPv4& rp_address, 00138 const AddMfc4CB& cb 00139 ); 00140 00141 typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteMfc4CB; 00142 00143 bool send_delete_mfc4( 00144 const char* dst_xrl_target_name, 00145 const string& xrl_sender_name, 00146 const IPv4& source_address, 00147 const IPv4& group_address, 00148 const DeleteMfc4CB& cb 00149 ); 00150 00151 typedef XorpCallback1<void, const XrlError&>::RefPtr AddDataflowMonitor4CB; 00187 bool send_add_dataflow_monitor4( 00188 const char* dst_xrl_target_name, 00189 const string& xrl_sender_name, 00190 const IPv4& source_address, 00191 const IPv4& group_address, 00192 const uint32_t& threshold_interval_sec, 00193 const uint32_t& threshold_interval_usec, 00194 const uint32_t& threshold_packets, 00195 const uint32_t& threshold_bytes, 00196 const bool& is_threshold_in_packets, 00197 const bool& is_threshold_in_bytes, 00198 const bool& is_geq_upcall, 00199 const bool& is_leq_upcall, 00200 const AddDataflowMonitor4CB& cb 00201 ); 00202 00203 typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteDataflowMonitor4CB; 00204 00205 bool send_delete_dataflow_monitor4( 00206 const char* dst_xrl_target_name, 00207 const string& xrl_sender_name, 00208 const IPv4& source_address, 00209 const IPv4& group_address, 00210 const uint32_t& threshold_interval_sec, 00211 const uint32_t& threshold_interval_usec, 00212 const uint32_t& threshold_packets, 00213 const uint32_t& threshold_bytes, 00214 const bool& is_threshold_in_packets, 00215 const bool& is_threshold_in_bytes, 00216 const bool& is_geq_upcall, 00217 const bool& is_leq_upcall, 00218 const DeleteDataflowMonitor4CB& cb 00219 ); 00220 00221 typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteAllDataflowMonitor4CB; 00222 00223 bool send_delete_all_dataflow_monitor4( 00224 const char* dst_xrl_target_name, 00225 const string& xrl_sender_name, 00226 const IPv4& source_address, 00227 const IPv4& group_address, 00228 const DeleteAllDataflowMonitor4CB& cb 00229 ); 00230 00231 typedef XorpCallback1<void, const XrlError&>::RefPtr EnableVifCB; 00243 bool send_enable_vif( 00244 const char* dst_xrl_target_name, 00245 const string& vif_name, 00246 const bool& enable, 00247 const EnableVifCB& cb 00248 ); 00249 00250 typedef XorpCallback1<void, const XrlError&>::RefPtr StartVifCB; 00251 00252 bool send_start_vif( 00253 const char* dst_xrl_target_name, 00254 const string& vif_name, 00255 const StartVifCB& cb 00256 ); 00257 00258 typedef XorpCallback1<void, const XrlError&>::RefPtr StopVifCB; 00259 00260 bool send_stop_vif( 00261 const char* dst_xrl_target_name, 00262 const string& vif_name, 00263 const StopVifCB& cb 00264 ); 00265 00266 typedef XorpCallback1<void, const XrlError&>::RefPtr EnableAllVifsCB; 00276 bool send_enable_all_vifs( 00277 const char* dst_xrl_target_name, 00278 const bool& enable, 00279 const EnableAllVifsCB& cb 00280 ); 00281 00282 typedef XorpCallback1<void, const XrlError&>::RefPtr StartAllVifsCB; 00283 00284 bool send_start_all_vifs( 00285 const char* dst_xrl_target_name, 00286 const StartAllVifsCB& cb 00287 ); 00288 00289 typedef XorpCallback1<void, const XrlError&>::RefPtr StopAllVifsCB; 00290 00291 bool send_stop_all_vifs( 00292 const char* dst_xrl_target_name, 00293 const StopAllVifsCB& cb 00294 ); 00295 00296 typedef XorpCallback1<void, const XrlError&>::RefPtr EnableMfeaCB; 00306 bool send_enable_mfea( 00307 const char* dst_xrl_target_name, 00308 const bool& enable, 00309 const EnableMfeaCB& cb 00310 ); 00311 00312 typedef XorpCallback1<void, const XrlError&>::RefPtr StartMfeaCB; 00313 00314 bool send_start_mfea( 00315 const char* dst_xrl_target_name, 00316 const StartMfeaCB& cb 00317 ); 00318 00319 typedef XorpCallback1<void, const XrlError&>::RefPtr StopMfeaCB; 00320 00321 bool send_stop_mfea( 00322 const char* dst_xrl_target_name, 00323 const StopMfeaCB& cb 00324 ); 00325 00326 typedef XorpCallback1<void, const XrlError&>::RefPtr EnableCliCB; 00337 bool send_enable_cli( 00338 const char* dst_xrl_target_name, 00339 const bool& enable, 00340 const EnableCliCB& cb 00341 ); 00342 00343 typedef XorpCallback1<void, const XrlError&>::RefPtr StartCliCB; 00344 00345 bool send_start_cli( 00346 const char* dst_xrl_target_name, 00347 const StartCliCB& cb 00348 ); 00349 00350 typedef XorpCallback1<void, const XrlError&>::RefPtr StopCliCB; 00351 00352 bool send_stop_cli( 00353 const char* dst_xrl_target_name, 00354 const StopCliCB& cb 00355 ); 00356 00357 typedef XorpCallback1<void, const XrlError&>::RefPtr LogTraceAllCB; 00367 bool send_log_trace_all( 00368 const char* dst_xrl_target_name, 00369 const bool& enable, 00370 const LogTraceAllCB& cb 00371 ); 00372 00373 typedef XorpCallback2<void, const XrlError&, const bool*>::RefPtr HaveMulticastRouting6CB; 00381 bool send_have_multicast_routing6( 00382 const char* dst_xrl_target_name, 00383 const HaveMulticastRouting6CB& cb 00384 ); 00385 00386 typedef XorpCallback1<void, const XrlError&>::RefPtr RegisterProtocol6CB; 00387 00388 bool send_register_protocol6( 00389 const char* dst_xrl_target_name, 00390 const string& xrl_sender_name, 00391 const string& if_name, 00392 const string& vif_name, 00393 const uint32_t& ip_protocol, 00394 const RegisterProtocol6CB& cb 00395 ); 00396 00397 typedef XorpCallback1<void, const XrlError&>::RefPtr UnregisterProtocol6CB; 00398 00399 bool send_unregister_protocol6( 00400 const char* dst_xrl_target_name, 00401 const string& xrl_sender_name, 00402 const string& if_name, 00403 const string& vif_name, 00404 const UnregisterProtocol6CB& cb 00405 ); 00406 00407 typedef XorpCallback1<void, const XrlError&>::RefPtr AddMfc6CB; 00408 00409 bool send_add_mfc6( 00410 const char* dst_xrl_target_name, 00411 const string& xrl_sender_name, 00412 const IPv6& source_address, 00413 const IPv6& group_address, 00414 const uint32_t& iif_vif_index, 00415 const vector<uint8_t>& oiflist, 00416 const vector<uint8_t>& oiflist_disable_wrongvif, 00417 const uint32_t& max_vifs_oiflist, 00418 const IPv6& rp_address, 00419 const AddMfc6CB& cb 00420 ); 00421 00422 typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteMfc6CB; 00423 00424 bool send_delete_mfc6( 00425 const char* dst_xrl_target_name, 00426 const string& xrl_sender_name, 00427 const IPv6& source_address, 00428 const IPv6& group_address, 00429 const DeleteMfc6CB& cb 00430 ); 00431 00432 typedef XorpCallback1<void, const XrlError&>::RefPtr AddDataflowMonitor6CB; 00433 00434 bool send_add_dataflow_monitor6( 00435 const char* dst_xrl_target_name, 00436 const string& xrl_sender_name, 00437 const IPv6& source_address, 00438 const IPv6& group_address, 00439 const uint32_t& threshold_interval_sec, 00440 const uint32_t& threshold_interval_usec, 00441 const uint32_t& threshold_packets, 00442 const uint32_t& threshold_bytes, 00443 const bool& is_threshold_in_packets, 00444 const bool& is_threshold_in_bytes, 00445 const bool& is_geq_upcall, 00446 const bool& is_leq_upcall, 00447 const AddDataflowMonitor6CB& cb 00448 ); 00449 00450 typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteDataflowMonitor6CB; 00451 00452 bool send_delete_dataflow_monitor6( 00453 const char* dst_xrl_target_name, 00454 const string& xrl_sender_name, 00455 const IPv6& source_address, 00456 const IPv6& group_address, 00457 const uint32_t& threshold_interval_sec, 00458 const uint32_t& threshold_interval_usec, 00459 const uint32_t& threshold_packets, 00460 const uint32_t& threshold_bytes, 00461 const bool& is_threshold_in_packets, 00462 const bool& is_threshold_in_bytes, 00463 const bool& is_geq_upcall, 00464 const bool& is_leq_upcall, 00465 const DeleteDataflowMonitor6CB& cb 00466 ); 00467 00468 typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteAllDataflowMonitor6CB; 00469 00470 bool send_delete_all_dataflow_monitor6( 00471 const char* dst_xrl_target_name, 00472 const string& xrl_sender_name, 00473 const IPv6& source_address, 00474 const IPv6& group_address, 00475 const DeleteAllDataflowMonitor6CB& cb 00476 ); 00477 00478 protected: 00479 XrlSender* _sender; 00480 00481 private: 00482 static void unmarshall_have_multicast_routing4( 00483 const XrlError& e, 00484 XrlArgs* a, 00485 HaveMulticastRouting4CB cb 00486 ); 00487 00488 static void unmarshall_register_protocol4( 00489 const XrlError& e, 00490 XrlArgs* a, 00491 RegisterProtocol4CB cb 00492 ); 00493 00494 static void unmarshall_unregister_protocol4( 00495 const XrlError& e, 00496 XrlArgs* a, 00497 UnregisterProtocol4CB cb 00498 ); 00499 00500 static void unmarshall_add_mfc4( 00501 const XrlError& e, 00502 XrlArgs* a, 00503 AddMfc4CB cb 00504 ); 00505 00506 static void unmarshall_delete_mfc4( 00507 const XrlError& e, 00508 XrlArgs* a, 00509 DeleteMfc4CB cb 00510 ); 00511 00512 static void unmarshall_add_dataflow_monitor4( 00513 const XrlError& e, 00514 XrlArgs* a, 00515 AddDataflowMonitor4CB cb 00516 ); 00517 00518 static void unmarshall_delete_dataflow_monitor4( 00519 const XrlError& e, 00520 XrlArgs* a, 00521 DeleteDataflowMonitor4CB cb 00522 ); 00523 00524 static void unmarshall_delete_all_dataflow_monitor4( 00525 const XrlError& e, 00526 XrlArgs* a, 00527 DeleteAllDataflowMonitor4CB cb 00528 ); 00529 00530 static void unmarshall_enable_vif( 00531 const XrlError& e, 00532 XrlArgs* a, 00533 EnableVifCB cb 00534 ); 00535 00536 static void unmarshall_start_vif( 00537 const XrlError& e, 00538 XrlArgs* a, 00539 StartVifCB cb 00540 ); 00541 00542 static void unmarshall_stop_vif( 00543 const XrlError& e, 00544 XrlArgs* a, 00545 StopVifCB cb 00546 ); 00547 00548 static void unmarshall_enable_all_vifs( 00549 const XrlError& e, 00550 XrlArgs* a, 00551 EnableAllVifsCB cb 00552 ); 00553 00554 static void unmarshall_start_all_vifs( 00555 const XrlError& e, 00556 XrlArgs* a, 00557 StartAllVifsCB cb 00558 ); 00559 00560 static void unmarshall_stop_all_vifs( 00561 const XrlError& e, 00562 XrlArgs* a, 00563 StopAllVifsCB cb 00564 ); 00565 00566 static void unmarshall_enable_mfea( 00567 const XrlError& e, 00568 XrlArgs* a, 00569 EnableMfeaCB cb 00570 ); 00571 00572 static void unmarshall_start_mfea( 00573 const XrlError& e, 00574 XrlArgs* a, 00575 StartMfeaCB cb 00576 ); 00577 00578 static void unmarshall_stop_mfea( 00579 const XrlError& e, 00580 XrlArgs* a, 00581 StopMfeaCB cb 00582 ); 00583 00584 static void unmarshall_enable_cli( 00585 const XrlError& e, 00586 XrlArgs* a, 00587 EnableCliCB cb 00588 ); 00589 00590 static void unmarshall_start_cli( 00591 const XrlError& e, 00592 XrlArgs* a, 00593 StartCliCB cb 00594 ); 00595 00596 static void unmarshall_stop_cli( 00597 const XrlError& e, 00598 XrlArgs* a, 00599 StopCliCB cb 00600 ); 00601 00602 static void unmarshall_log_trace_all( 00603 const XrlError& e, 00604 XrlArgs* a, 00605 LogTraceAllCB cb 00606 ); 00607 00608 static void unmarshall_have_multicast_routing6( 00609 const XrlError& e, 00610 XrlArgs* a, 00611 HaveMulticastRouting6CB cb 00612 ); 00613 00614 static void unmarshall_register_protocol6( 00615 const XrlError& e, 00616 XrlArgs* a, 00617 RegisterProtocol6CB cb 00618 ); 00619 00620 static void unmarshall_unregister_protocol6( 00621 const XrlError& e, 00622 XrlArgs* a, 00623 UnregisterProtocol6CB cb 00624 ); 00625 00626 static void unmarshall_add_mfc6( 00627 const XrlError& e, 00628 XrlArgs* a, 00629 AddMfc6CB cb 00630 ); 00631 00632 static void unmarshall_delete_mfc6( 00633 const XrlError& e, 00634 XrlArgs* a, 00635 DeleteMfc6CB cb 00636 ); 00637 00638 static void unmarshall_add_dataflow_monitor6( 00639 const XrlError& e, 00640 XrlArgs* a, 00641 AddDataflowMonitor6CB cb 00642 ); 00643 00644 static void unmarshall_delete_dataflow_monitor6( 00645 const XrlError& e, 00646 XrlArgs* a, 00647 DeleteDataflowMonitor6CB cb 00648 ); 00649 00650 static void unmarshall_delete_all_dataflow_monitor6( 00651 const XrlError& e, 00652 XrlArgs* a, 00653 DeleteAllDataflowMonitor6CB cb 00654 ); 00655 00656 private: 00657 /* Declare cached Xrl pointers */ 00658 auto_ptr<Xrl> ap_xrl_have_multicast_routing4; 00659 auto_ptr<Xrl> ap_xrl_register_protocol4; 00660 auto_ptr<Xrl> ap_xrl_unregister_protocol4; 00661 auto_ptr<Xrl> ap_xrl_add_mfc4; 00662 auto_ptr<Xrl> ap_xrl_delete_mfc4; 00663 auto_ptr<Xrl> ap_xrl_add_dataflow_monitor4; 00664 auto_ptr<Xrl> ap_xrl_delete_dataflow_monitor4; 00665 auto_ptr<Xrl> ap_xrl_delete_all_dataflow_monitor4; 00666 auto_ptr<Xrl> ap_xrl_enable_vif; 00667 auto_ptr<Xrl> ap_xrl_start_vif; 00668 auto_ptr<Xrl> ap_xrl_stop_vif; 00669 auto_ptr<Xrl> ap_xrl_enable_all_vifs; 00670 auto_ptr<Xrl> ap_xrl_start_all_vifs; 00671 auto_ptr<Xrl> ap_xrl_stop_all_vifs; 00672 auto_ptr<Xrl> ap_xrl_enable_mfea; 00673 auto_ptr<Xrl> ap_xrl_start_mfea; 00674 auto_ptr<Xrl> ap_xrl_stop_mfea; 00675 auto_ptr<Xrl> ap_xrl_enable_cli; 00676 auto_ptr<Xrl> ap_xrl_start_cli; 00677 auto_ptr<Xrl> ap_xrl_stop_cli; 00678 auto_ptr<Xrl> ap_xrl_log_trace_all; 00679 auto_ptr<Xrl> ap_xrl_have_multicast_routing6; 00680 auto_ptr<Xrl> ap_xrl_register_protocol6; 00681 auto_ptr<Xrl> ap_xrl_unregister_protocol6; 00682 auto_ptr<Xrl> ap_xrl_add_mfc6; 00683 auto_ptr<Xrl> ap_xrl_delete_mfc6; 00684 auto_ptr<Xrl> ap_xrl_add_dataflow_monitor6; 00685 auto_ptr<Xrl> ap_xrl_delete_dataflow_monitor6; 00686 auto_ptr<Xrl> ap_xrl_delete_all_dataflow_monitor6; 00687 }; 00688 00689 #endif /* __XRL_INTERFACES_MFEA_XIF_HH__ */