added TNC_IMC_ReceiveMessageLong() and TNC_IMV_ReceiveMessageLong() support

This commit is contained in:
Andreas Steffen
2011-12-08 12:38:45 +01:00
parent 115d49a748
commit 584282d7c9
10 changed files with 192 additions and 69 deletions
+31 -2
View File
@@ -94,6 +94,33 @@ struct imc_t {
TNC_UInt32 messageLength,
TNC_MessageType messageType);
/**
* The TNC Client calls this function to deliver a message to the IMC.
* The message is contained in the buffer referenced by message and contains
* the number of octets indicated by messageLength. The type of the message
* is indicated by the message Vendor ID and message subtype.
*
* @param imcID IMC ID assigned by TNCS
* @param connectionID network connection ID assigned by TNCC
* @param messageFlags message flags
* @param message reference to buffer containing message
* @param messageLength number of octets in message
* @param messageVendorID message Vendor ID
* @param messageSubtype message subtype
* @param sourceIMVID source IMV ID
* @param destinationIMCID destination IMC ID
* @return TNC result code
*/
TNC_Result (*receive_message_long)(TNC_IMCID imcID,
TNC_ConnectionID connectionID,
TNC_UInt32 messageFlags,
TNC_BufferReference message,
TNC_UInt32 messageLength,
TNC_VendorID messageVendorID,
TNC_MessageSubtype messageSubtype,
TNC_UInt32 sourceIMVID,
TNC_UInt32 destinationIMCID);
/**
* The TNC Client calls this function to notify IMCs that all IMV messages
* received in a batch have been delivered and this is the IMCs last chance
@@ -187,10 +214,12 @@ struct imc_t {
/**
* Check if the IMC supports a given message type.
*
* @param message_type message type
* @param msg_vid message vendor ID
* @param msg_subtype message subtype
* @return TRUE if supported
*/
bool (*type_supported)(imc_t *this, TNC_MessageType message_type);
bool (*type_supported)(imc_t *this, TNC_VendorID msg_vid,
TNC_MessageSubtype msg_subtype);
/**
* Destroys an imc_t object.
+15 -7
View File
@@ -128,16 +128,24 @@ struct imc_manager_t {
/**
* Delivers a message to interested IMCs.
*
* @param connection_id ID of connection over which message was received
* @param message message
* @param message_len message length
* @param message_type message type
* @param connection_id connection ID
* @param excl exclusive message flag
* @param msg message
* @param msg_len message length
* @param msg_vid message Vendor ID
* @param msg_subtype message subtype
* @param src_imv_id source IMV ID
* @param dst_imc_id destination IMC ID
*/
void (*receive_message)(imc_manager_t *this,
TNC_ConnectionID connection_id,
TNC_BufferReference message,
TNC_UInt32 message_len,
TNC_MessageType message_type);
bool excl,
TNC_BufferReference msg,
TNC_UInt32 msg_len,
TNC_VendorID msg_vid,
TNC_MessageSubtype msg_subtype,
TNC_UInt32 src_imv_id,
TNC_UInt32 dst_imc_id);
/**
* Notify all IMCs that all IMV messages received in a batch have been
+31 -2
View File
@@ -95,6 +95,33 @@ struct imv_t {
TNC_UInt32 messageLength,
TNC_MessageType messageType);
/**
* The TNC Server calls this function to deliver a message to the IMV.
* The message is contained in the buffer referenced by message and contains
* the number of octets indicated by messageLength. The type of the message
* is indicated by the message Vendor ID and message subtype.
*
* @param imvID IMV ID assigned by TNCS
* @param connectionID network connection ID assigned by TNCS
* @param messageFlags message flags
* @param message reference to buffer containing message
* @param messageLength number of octets in message
* @param messageVendorID message Vendor ID
* @param messageSubtype message subtype
* @param sourceIMCID source IMC ID
* @param destinationIMVID destination IMV ID
* @return TNC result code
*/
TNC_Result (*receive_message_long)(TNC_IMVID imvID,
TNC_ConnectionID connectionID,
TNC_UInt32 messageFlags,
TNC_BufferReference message,
TNC_UInt32 messageLength,
TNC_VendorID messageVendorID,
TNC_MessageSubtype messageSubtype,
TNC_UInt32 sourceIMCID,
TNC_UInt32 destinationIMVID);
/**
* The TNC Server calls this function to notify IMVs that all IMC messages
* received in a batch have been delivered and this is the IMVs last chance
@@ -187,10 +214,12 @@ struct imv_t {
/**
* Check if the IMV supports a given message type.
*
* @param message_type message type
* @param msg_vid message vendor ID
* @param msg_subtype message subtype
* @return TRUE if supported
*/
bool (*type_supported)(imv_t *this, TNC_MessageType message_type);
bool (*type_supported)(imv_t *this, TNC_VendorID msg_vid,
TNC_MessageSubtype msg_subtype);
/**
* Destroys an imv_t object.
+15 -7
View File
@@ -149,16 +149,24 @@ struct imv_manager_t {
/**
* Delivers a message to interested IMVs.
*
* @param connection_id ID of connection over which message was received
* @param message message
* @param message_len message length
* @param message_type message type
* @param connection_id connection ID
* @param excl exclusive message flag
* @param msg message
* @param msg_len message length
* @param msg_vid message Vendor ID
* @param msg_subtype message subtype
* @param src_imc_id source IMC ID
* @param dst_imv_id destination IMV ID
*/
void (*receive_message)(imv_manager_t *this,
TNC_ConnectionID connection_id,
TNC_BufferReference message,
TNC_UInt32 message_len,
TNC_MessageType message_type);
bool excl,
TNC_BufferReference msg,
TNC_UInt32 msg_len,
TNC_VendorID msg_vid,
TNC_MessageSubtype msg_subtype,
TNC_UInt32 src_imc_id,
TNC_UInt32 dst_imv_id);
/**
* Notify all IMVs that all IMC messages received in a batch have been