#include <debug.h>
#include <daemon.h>
+#define TNC_IMVID_ANY 0xffff
+
/**
* Called by the IMC to inform a TNCC about the set of message types the IMC
* is able to receive
*/
TNC_Result TNC_TNCC_SendMessage(TNC_IMCID imc_id,
TNC_ConnectionID connection_id,
- TNC_BufferReference message,
- TNC_UInt32 message_len,
- TNC_MessageType message_type)
+ TNC_BufferReference msg,
+ TNC_UInt32 msg_len,
+ TNC_MessageType msg_type)
{
- return charon->tnccs->send_message(charon->tnccs, connection_id, message,
- message_len, message_type);
+ return charon->tnccs->send_message(charon->tnccs, imc_id, TNC_IMVID_ANY,
+ connection_id, msg, msg_len, msg_type);
}
/**
#include <debug.h>
#include <daemon.h>
+#define TNC_IMCID_ANY 0xffff
+
/**
* Called by the IMV to inform a TNCS about the set of message types the IMV
* is able to receive
*/
TNC_Result TNC_TNCS_SendMessage(TNC_IMVID imv_id,
TNC_ConnectionID connection_id,
- TNC_BufferReference message,
- TNC_UInt32 message_len,
- TNC_MessageType message_type)
+ TNC_BufferReference msg,
+ TNC_UInt32 msg_len,
+ TNC_MessageType msg_type)
{
- return charon->tnccs->send_message(charon->tnccs, connection_id, message,
- message_len, message_type);
+ return charon->tnccs->send_message(charon->tnccs, TNC_IMCID_ANY, imv_id,
+ connection_id, msg, msg_len, msg_type);
}
/**
};
METHOD(tnccs_t, send_message, void,
- private_tnccs_20_t* this, TNC_BufferReference message,
+ private_tnccs_20_t* this, TNC_IMCID imc_id, TNC_IMVID imv_id,
+ TNC_BufferReference message,
TNC_UInt32 message_len,
TNC_MessageType message_type)
{
#define TNCCS_H_
#include <tnc/tncif.h>
+#include <tnc/tncifimc.h>
#include <tnc/tncifimv.h>
#include <library.h>
/**
* Callback function adding a message to a TNCCS batch
*
- * @param message message to be added
- * @param message_len message length
- * @param message_type message type
+ * @param imc_id ID of IMC or TNC_IMCID_ANY
+ * @param imc_id ID of IMV or TNC_IMVID_ANY
+ * @param msg message to be added
+ * @param msg_len message length
+ * @param msg_type message type
*/
-typedef void (*tnccs_send_message_t)(tnccs_t* tncss,
- TNC_BufferReference message,
- TNC_UInt32 message_len,
- TNC_MessageType message_type);
+typedef void (*tnccs_send_message_t)(tnccs_t* tncss, TNC_IMCID imc_id,
+ TNC_IMVID imv_id,
+ TNC_BufferReference msg,
+ TNC_UInt32 msg_len,
+ TNC_MessageType msg_type);
#endif /** TNCCS_H_ @}*/
}
METHOD(tnccs_manager_t, send_message, TNC_Result,
- private_tnccs_manager_t *this, TNC_ConnectionID id,
- TNC_BufferReference message,
- TNC_UInt32 message_len,
- TNC_MessageType message_type)
+ private_tnccs_manager_t *this, TNC_IMCID imc_id, TNC_IMVID imv_id,
+ TNC_ConnectionID id,
+ TNC_BufferReference msg,
+ TNC_UInt32 msg_len,
+ TNC_MessageType msg_type)
{
enumerator_t *enumerator;
tnccs_connection_entry_t *entry;
if (tnccs && send_message)
{
- send_message(tnccs, message, message_len, message_type);
+ send_message(tnccs, imc_id, imv_id, msg, msg_len, msg_type);
return TNC_RESULT_SUCCESS;
}
return TNC_RESULT_FATAL;
/**
* Add an IMC/IMV message to the batch of a given connection ID.
*
- * @param id target connection ID
+ * @param imc_id ID of IMC or TNC_IMCID_ANY
+ * @param imv_id ID of IMV or TNC_IMVID_ANY
+ * @param connection_id ID of target connection
* @param msg message to be added
* @param msg_len message length
* @param msg_type message type
* @return return code
*/
TNC_Result (*send_message)(tnccs_manager_t *this,
- TNC_ConnectionID id,
+ TNC_IMCID imc_id,
+ TNC_IMVID imv_id,
+ TNC_ConnectionID connection_id,
TNC_BufferReference msg,
TNC_UInt32 msg_len,
TNC_MessageType msg_type);