diff options
Diffstat (limited to 'src/libtnccs/tnc/imv')
-rw-r--r-- | src/libtnccs/tnc/imv/imv.h | 33 | ||||
-rw-r--r-- | src/libtnccs/tnc/imv/imv_manager.h | 22 |
2 files changed, 46 insertions, 9 deletions
diff --git a/src/libtnccs/tnc/imv/imv.h b/src/libtnccs/tnc/imv/imv.h index 67de8a47b..3716532d6 100644 --- a/src/libtnccs/tnc/imv/imv.h +++ b/src/libtnccs/tnc/imv/imv.h @@ -96,6 +96,33 @@ struct imv_t { 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 IMV’s last chance * to send a message in the batch of IMV messages currently being collected. @@ -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. diff --git a/src/libtnccs/tnc/imv/imv_manager.h b/src/libtnccs/tnc/imv/imv_manager.h index 780d0f625..43f40973c 100644 --- a/src/libtnccs/tnc/imv/imv_manager.h +++ b/src/libtnccs/tnc/imv/imv_manager.h @@ -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 |