diff options
Diffstat (limited to 'src/libtnccs/tnc/imc')
-rw-r--r-- | src/libtnccs/tnc/imc/imc.h | 77 | ||||
-rw-r--r-- | src/libtnccs/tnc/imc/imc_manager.h | 25 |
2 files changed, 64 insertions, 38 deletions
diff --git a/src/libtnccs/tnc/imc/imc.h b/src/libtnccs/tnc/imc/imc.h index ddedf714c..3545005ad 100644 --- a/src/libtnccs/tnc/imc/imc.h +++ b/src/libtnccs/tnc/imc/imc.h @@ -40,11 +40,11 @@ struct imc_t { * the API version number to be used. It also supplies the IMC ID, an IMC * identifier that the IMC must use when calling TNC Client callback functions. * - * @param imcID IMC ID assigned by TNCC - * @param minVersion minimum API version supported by TNCC - * @param maxVersion maximum API version supported by TNCC - * @param OutActualVersion mutually supported API version number - * @return TNC result code + * @param imcID IMC ID assigned by TNCC + * @param minVersion minimum API version supported by TNCC + * @param maxVersion maximum API version supported by TNCC + * @param OutActualVersion mutually supported API version number + * @return TNC result code */ TNC_Result (*initialize)(TNC_IMCID imcID, TNC_Version minVersion, @@ -55,10 +55,10 @@ struct imc_t { * The TNC Client calls this function to inform the IMC that the state of * the network connection identified by connectionID has changed to newState. * - * @param imcID IMC ID assigned by TNCC - * @param connectionID network connection ID assigned by TNCC - * @param newState new network connection state - * @return TNC result code + * @param imcID IMC ID assigned by TNCC + * @param connectionID network connection ID assigned by TNCC + * @param newState new network connection state + * @return TNC result code */ TNC_Result (*notify_connection_change)(TNC_IMCID imcID, TNC_ConnectionID connectionID, @@ -68,9 +68,9 @@ struct imc_t { * The TNC Client calls this function to indicate that an Integrity Check * Handshake is beginning and solicit messages from IMCs for the first batch. * - * @param imcID IMC ID assigned by TNCC - * @param connectionID network connection ID assigned by TNCC - * @return TNC result code + * @param imcID IMC ID assigned by TNCC + * @param connectionID network connection ID assigned by TNCC + * @return TNC result code */ TNC_Result (*begin_handshake)(TNC_IMCID imcID, TNC_ConnectionID connectionID); @@ -81,12 +81,12 @@ struct imc_t { * the number of octets indicated by messageLength. The type of the message * is indicated by messageType. * - * @param imcID IMC ID assigned by TNCS - * @param connectionID network connection ID assigned by TNCC - * @param message reference to buffer containing message - * @param messageLength number of octets in message - * @param messageType message type of message - * @return TNC result code + * @param imcID IMC ID assigned by TNCS + * @param connectionID network connection ID assigned by TNCC + * @param message reference to buffer containing message + * @param messageLength number of octets in message + * @param messageType message type of message + * @return TNC result code */ TNC_Result (*receive_message)(TNC_IMCID imcID, TNC_ConnectionID connectionID, @@ -99,9 +99,9 @@ struct imc_t { * received in a batch have been delivered and this is the IMC’s last chance * to send a message in the batch of IMC messages currently being collected. * - * @param imcID IMC ID assigned by TNCC - * @param connectionID network connection ID assigned by TNCC - * @return TNC result code + * @param imcID IMC ID assigned by TNCC + * @param connectionID network connection ID assigned by TNCC + * @return TNC result code */ TNC_Result (*batch_ending)(TNC_IMCID imcID, TNC_ConnectionID connectionID); @@ -110,8 +110,8 @@ struct imc_t { * The TNC Client calls this function to close down the IMC when all work is * complete or the IMC reports TNC_RESULT_FATAL. * - * @param imcID IMC ID assigned by TNCC - * @return TNC result code + * @param imcID IMC ID assigned by TNCC + * @return TNC result code */ TNC_Result (*terminate)(TNC_IMCID imcID); @@ -122,9 +122,9 @@ struct imc_t { * TNCS bind function. The IMV can then use the TNCS bind function to obtain * pointers to any other TNCS functions. * - * @param imcID IMC ID assigned by TNCC - * @param bindFunction pointer to TNC_TNCC_BindFunction - * @return TNC result code + * @param imcID IMC ID assigned by TNCC + * @param bindFunction pointer to TNC_TNCC_BindFunction + * @return TNC result code */ TNC_Result (*provide_bind_function)(TNC_IMCID imcID, TNC_TNCC_BindFunctionPointer bindFunction); @@ -132,38 +132,49 @@ struct imc_t { /** * Sets the ID of an imc_t object. * - * @param id IMC ID to be assigned + * @param id IMC ID to be assigned */ void (*set_id)(imc_t *this, TNC_IMCID id); /** * Returns the ID of an imc_t object. * - * @return assigned IMC ID + * @return assigned IMC ID */ TNC_IMCID (*get_id)(imc_t *this); /** * Returns the name of an imc_t object. * - * @return name of IMC + * @return name of IMC */ char* (*get_name)(imc_t *this); /** * Sets the supported message types of an imc_t object. * - * @param supported_types list of messages type supported by IMC - * @param type_count number of supported message types + * @param supported_types list of messages type supported by IMC + * @param type_count number of supported message types */ void (*set_message_types)(imc_t *this, TNC_MessageTypeList supported_types, TNC_UInt32 type_count); /** + * Sets the supported long message types of an imc_t object. + * + * @param supported_vids list of vendor IDs supported by IMC + * @param supported_subtypes list of messages type supported by IMC + * @param type_count number of supported message types + */ + void (*set_message_types_long)(imc_t *this, TNC_VendorIDList supported_vids, + TNC_MessageSubtypeList supported_subtypes, + TNC_UInt32 type_count); + + /** * Check if the IMC supports a given message type. * - * @param message_type message type - * @return TRUE if supported + * @param message_type message type + * @return TRUE if supported */ bool (*type_supported)(imc_t *this, TNC_MessageType message_type); diff --git a/src/libtnccs/tnc/imc/imc_manager.h b/src/libtnccs/tnc/imc/imc_manager.h index 396964100..38eafbbee 100644 --- a/src/libtnccs/tnc/imc/imc_manager.h +++ b/src/libtnccs/tnc/imc/imc_manager.h @@ -84,17 +84,17 @@ struct imc_manager_t { /** * Begin a handshake between the IMCs and a connection * - * @param id connection ID + * @param id connection ID */ void (*begin_handshake)(imc_manager_t *this, TNC_ConnectionID id); /** * Sets the supported message types reported by a given IMC * - * @param id ID of reporting IMC - * @param supported_types list of messages type supported by IMC - * @param type_count number of supported message types - * @return TNC result code + * @param id ID of reporting IMC + * @param supported_types list of messages type supported by IMC + * @param type_count number of supported message types + * @return TNC result code */ TNC_Result (*set_message_types)(imc_manager_t *this, TNC_IMCID id, @@ -102,6 +102,21 @@ struct imc_manager_t { TNC_UInt32 type_count); /** + * Sets the supported long message types reported by a given IMC + * + * @param id ID of reporting IMC + * @param supported_vids list of vendor IDs supported by IMC + * @param supported_subtypes list of messages type supported by IMC + * @param type_count number of supported message types + * @return TNC result code + */ + TNC_Result (*set_message_types_long)(imc_manager_t *this, + TNC_IMCID id, + TNC_VendorIDList supported_vids, + TNC_MessageSubtypeList supported_subtypes, + TNC_UInt32 type_count); + + /** * Delivers a message to interested IMCs. * * @param connection_id ID of connection over which message was received |