Source: ../../xrl/interfaces/fea_rawpkt6_xif.hh
|
|
|
|
/*
* Copyright (c) 2001-2005 International Computer Science Institute
* See LICENSE file for licensing, conditions, and warranties on use.
*
* DO NOT EDIT THIS FILE - IT IS PROGRAMMATICALLY GENERATED
*
* Generated by 'clnt-gen'.
*
* $XORP: xorp/xrl/interfaces/fea_rawpkt6_xif.hh,v 1.3 2005/03/25 02:54:48 pavlin Exp $
*/
#ifndef __XRL_INTERFACES_FEA_RAWPKT6_XIF_HH__
#define __XRL_INTERFACES_FEA_RAWPKT6_XIF_HH__
#undef XORP_LIBRARY_NAME
#define XORP_LIBRARY_NAME "XifFeaRawpkt6"
#include "libxorp/xlog.h"
#include "libxorp/callback.hh"
#include "libxipc/xrl.hh"
#include "libxipc/xrl_error.hh"
#include "libxipc/xrl_sender.hh"
class XrlRawPacket6V0p1Client {
public:
XrlRawPacket6V0p1Client(XrlSender* s) : _sender(s) {}
virtual ~XrlRawPacket6V0p1Client() {}
typedef XorpCallback1<void, const XrlError&>::RefPtr SendRawCB;
/**
* Send Xrl intended to:
*
* Send a raw IPv6 datagram, with packet info.
*
* @param tgt_name Xrl Target name
*/
bool send_send_raw(
const char* target_name,
const IPv6& src_address,
const IPv6& dst_address,
const string& vif_name,
const uint32_t& proto,
const uint32_t& tclass,
const uint32_t& hoplimit,
const vector<uint8_t>& hopopts,
const vector<uint8_t>& packet,
const SendRawCB& cb
);
typedef XorpCallback1<void, const XrlError&>::RefPtr RegisterVifReceiverCB;
/**
* Send Xrl intended to:
*
* Register to receive IPv6 datagrams. The receiver is expected to support
* raw_packet6_client/0.1 interface.
*
* @param tgt_name Xrl Target name
*/
bool send_register_vif_receiver(
const char* target_name,
const string& router_name,
const string& if_name,
const string& vif_name,
const uint32_t& proto,
const RegisterVifReceiverCB& cb
);
typedef XorpCallback1<void, const XrlError&>::RefPtr UnregisterVifReceiverCB;
/**
* Send Xrl intended to:
*
* Unregister stop receiving packets.
*
* @param tgt_name Xrl Target name
*
* @param proto Protocol number that the receiver is interested in.
*/
bool send_unregister_vif_receiver(
const char* target_name,
const string& router_name,
const string& if_name,
const string& vif_name,
const uint32_t& proto,
const UnregisterVifReceiverCB& cb
);
protected:
XrlSender* _sender;
private:
void unmarshall_send_raw(
const XrlError& e,
XrlArgs* a,
SendRawCB cb
);
void unmarshall_register_vif_receiver(
const XrlError& e,
XrlArgs* a,
RegisterVifReceiverCB cb
);
void unmarshall_unregister_vif_receiver(
const XrlError& e,
XrlArgs* a,
UnregisterVifReceiverCB cb
);
};
#endif /* __XRL_INTERFACES_FEA_RAWPKT6_XIF_HH__ */
Generated by: pavlin on possum.icir.org on Wed Apr 13 21:52:55 2005, using kdoc $.