upgraded IF-IMC/IMV inteface definitions to version 1.3
This commit is contained in:
+167
-68
@@ -1,22 +1,22 @@
|
||||
/* tncifimv.h
|
||||
*
|
||||
* Trusted Network Connect IF-IMV API version 1.20
|
||||
* Trusted Network Connect IF-IMV API version 1.30
|
||||
* Microsoft Windows DLL Platform Binding C Header
|
||||
* February 5, 2007
|
||||
* October 14, 2011
|
||||
*
|
||||
* Copyright(c) 2005-2007, Trusted Computing Group, Inc. All rights
|
||||
* Copyright(c) 2005-2011, Trusted Computing Group, Inc. All rights
|
||||
* reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* - Redistributions of source code must retain the above copyright
|
||||
* o Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* - Redistributions in binary form must reproduce the above copyright
|
||||
* o Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* - Neither the name of the Trusted Computing Group nor the names of
|
||||
* o Neither the name of the Trusted Computing Group nor the names of
|
||||
* its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written
|
||||
* permission.
|
||||
@@ -42,80 +42,134 @@
|
||||
* respective owners.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup tncifimv tncifimv
|
||||
* @{ @ingroup libtncif
|
||||
*/
|
||||
|
||||
#ifndef TNCIFIMV_H_
|
||||
#define TNCIFIMV_H_
|
||||
|
||||
#include "tncif.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef TNC_IMV_EXPORTS
|
||||
#define TNC_IMV_API __declspec(dllexport)
|
||||
#else
|
||||
#define TNC_IMV_API __declspec(dllimport)
|
||||
#endif
|
||||
#else
|
||||
#define TNC_IMV_API
|
||||
#endif
|
||||
|
||||
/* Derived Types */
|
||||
|
||||
typedef TNC_UInt32 TNC_IMVID;
|
||||
typedef TNC_UInt32 TNC_IMV_Action_Recommendation;
|
||||
typedef TNC_UInt32 TNC_IMV_Evaluation_Result;
|
||||
typedef TNC_UInt32 TNC_AttributeID;
|
||||
|
||||
/* Function pointers */
|
||||
|
||||
typedef TNC_Result (*TNC_IMV_InitializePointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_Version minVersion,
|
||||
TNC_Version maxVersion,
|
||||
TNC_Version *pOutActualVersion);
|
||||
TNC_IMVID imvID,
|
||||
TNC_Version minVersion,
|
||||
TNC_Version maxVersion,
|
||||
TNC_Version *pOutActualVersion);
|
||||
typedef TNC_Result (*TNC_IMV_NotifyConnectionChangePointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_ConnectionState newState);
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_ConnectionState newState);
|
||||
typedef TNC_Result (*TNC_IMV_ReceiveMessagePointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_BufferReference message,
|
||||
TNC_UInt32 messageLength,
|
||||
TNC_MessageType messageType);
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_BufferReference message,
|
||||
TNC_UInt32 messageLength,
|
||||
TNC_MessageType messageType);
|
||||
typedef TNC_Result (*TNC_IMV_ReceiveMessageSOHPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_BufferReference sohReportEntry,
|
||||
TNC_UInt32 sohRELength,
|
||||
TNC_MessageType systemHealthID);
|
||||
typedef TNC_Result (*TNC_IMV_ReceiveMessageLongPointer)(
|
||||
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);
|
||||
typedef TNC_Result (*TNC_IMV_SolicitRecommendationPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID);
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID);
|
||||
typedef TNC_Result (*TNC_IMV_BatchEndingPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID);
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID);
|
||||
typedef TNC_Result (*TNC_IMV_TerminatePointer)(
|
||||
TNC_IMVID imvID);
|
||||
TNC_IMVID imvID);
|
||||
typedef TNC_Result (*TNC_TNCS_ReportMessageTypesPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_MessageTypeList supportedTypes,
|
||||
TNC_UInt32 typeCount);
|
||||
TNC_IMVID imvID,
|
||||
TNC_MessageTypeList supportedTypes,
|
||||
TNC_UInt32 typeCount);
|
||||
typedef TNC_Result (*TNC_TNCS_ReportMessageTypesLongPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_VendorIDList supportedVendorIDs,
|
||||
TNC_MessageSubtypeList supportedSubtypes,
|
||||
TNC_UInt32 typeCount);
|
||||
typedef TNC_Result (*TNC_TNCS_SendMessagePointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_BufferReference message,
|
||||
TNC_UInt32 messageLength,
|
||||
TNC_MessageType messageType);
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_BufferReference message,
|
||||
TNC_UInt32 messageLength,
|
||||
TNC_MessageType messageType);
|
||||
typedef TNC_Result (*TNC_TNCS_SendMessageSOHPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_BufferReference sohrReportEntry,
|
||||
TNC_UInt32 sohrRELength);
|
||||
typedef TNC_Result (*TNC_TNCS_SendMessageLongPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_UInt32 messageFlags,
|
||||
TNC_BufferReference message,
|
||||
TNC_UInt32 messageLength,
|
||||
TNC_VendorID messageVendorID,
|
||||
TNC_MessageSubtype messageSubtype,
|
||||
TNC_UInt32 destinationIMCID);
|
||||
typedef TNC_Result (*TNC_TNCS_RequestHandshakeRetryPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_RetryReason reason);
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_RetryReason reason);
|
||||
typedef TNC_Result (*TNC_TNCS_ProvideRecommendationPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_IMV_Action_Recommendation recommendation,
|
||||
TNC_IMV_Evaluation_Result evaluation);
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_IMV_Action_Recommendation recommendation,
|
||||
TNC_IMV_Evaluation_Result evaluation);
|
||||
typedef TNC_Result (*TNC_TNCS_GetAttributePointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_AttributeID attributeID,
|
||||
TNC_UInt32 bufferLength,
|
||||
TNC_BufferReference buffer,
|
||||
TNC_UInt32 *pOutValueLength);
|
||||
typedef TNC_Result (*TNC_TNCS_SetAttributePointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_AttributeID attributeID,
|
||||
TNC_UInt32 bufferLength,
|
||||
TNC_BufferReference buffer);
|
||||
TNC_AttributeID attributeID,
|
||||
TNC_UInt32 bufferLength,
|
||||
TNC_BufferReference buffer,
|
||||
TNC_UInt32 *pOutValueLength);
|
||||
typedef TNC_Result (*TNC_TNCS_SetAttributePointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_ConnectionID connectionID,
|
||||
TNC_AttributeID attributeID,
|
||||
TNC_UInt32 bufferLength,
|
||||
TNC_BufferReference buffer);
|
||||
typedef TNC_Result (*TNC_TNCS_ReserveAdditionalIMVIDPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_UInt32 *pOutIMVID);
|
||||
typedef TNC_Result (*TNC_TNCS_BindFunctionPointer)(
|
||||
TNC_IMVID imvID,
|
||||
char *functionName,
|
||||
void **pOutfunctionPointer);
|
||||
TNC_IMVID imvID,
|
||||
char *functionName,
|
||||
void **pOutfunctionPointer);
|
||||
typedef TNC_Result (*TNC_IMV_ProvideBindFunctionPointer)(
|
||||
TNC_IMVID imvID,
|
||||
TNC_TNCS_BindFunctionPointer bindFunction);
|
||||
TNC_IMVID imvID,
|
||||
TNC_TNCS_BindFunctionPointer bindFunction);
|
||||
|
||||
/* Version Numbers */
|
||||
|
||||
@@ -150,42 +204,62 @@ typedef TNC_Result (*TNC_IMV_ProvideBindFunctionPointer)(
|
||||
|
||||
/* Message Attribute ID Values */
|
||||
|
||||
#define TNC_ATTRIBUTEID_PREFERRED_LANGUAGE ((TNC_AttributeID) 0x00000001)
|
||||
#define TNC_ATTRIBUTEID_REASON_STRING ((TNC_AttributeID) 0x00000002)
|
||||
#define TNC_ATTRIBUTEID_REASON_LANGUAGE ((TNC_AttributeID) 0x00000003)
|
||||
#define TNC_ATTRIBUTEID_SOH ((TNC_AttributeID) 0x00559706)
|
||||
#define TNC_ATTRIBUTEID_SSOH ((TNC_AttributeID) 0x00559707)
|
||||
#define TNC_ATTRIBUTEID_PRIMARY_IMV_ID ((TNC_AttributeID) 0x00559710)
|
||||
|
||||
/* IMV Functions */
|
||||
|
||||
TNC_Result TNC_IMV_Initialize(
|
||||
TNC_IMV_API TNC_Result TNC_IMV_Initialize(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_Version minVersion,
|
||||
/*in*/ TNC_Version maxVersion,
|
||||
/*in*/ TNC_Version *pOutActualVersion);
|
||||
|
||||
TNC_Result TNC_IMV_NotifyConnectionChange(
|
||||
TNC_IMV_API TNC_Result TNC_IMV_NotifyConnectionChange(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID,
|
||||
/*in*/ TNC_ConnectionState newState);
|
||||
|
||||
TNC_Result TNC_IMV_ReceiveMessage(
|
||||
TNC_IMV_API TNC_Result TNC_IMV_ReceiveMessage(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID,
|
||||
/*in*/ TNC_BufferReference messageBuffer,
|
||||
/*in*/ TNC_UInt32 messageLength,
|
||||
/*in*/ TNC_MessageType messageType);
|
||||
|
||||
TNC_Result TNC_IMV_SolicitRecommendation(
|
||||
TNC_IMV_API TNC_Result TNC_IMV_ReceiveMessageSOH(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID,
|
||||
/*in*/ TNC_BufferReference sohReportEntry,
|
||||
/*in*/ TNC_UInt32 sohRELength,
|
||||
/*in*/ TNC_MessageType systemHealthID);
|
||||
|
||||
TNC_IMV_API TNC_Result TNC_IMV_ReceiveMessageLong(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID,
|
||||
/*in*/ TNC_UInt32 messageFlags,
|
||||
/*in*/ TNC_BufferReference message,
|
||||
/*in*/ TNC_UInt32 messageLength,
|
||||
/*in*/ TNC_VendorID messageVendorID,
|
||||
/*in*/ TNC_MessageSubtype messageSubtype,
|
||||
/*in*/ TNC_UInt32 sourceIMCID,
|
||||
/*in*/ TNC_UInt32 destinationIMVID);
|
||||
|
||||
TNC_IMV_API TNC_Result TNC_IMV_SolicitRecommendation(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID);
|
||||
|
||||
TNC_Result TNC_IMV_BatchEnding(
|
||||
TNC_IMV_API TNC_Result TNC_IMV_BatchEnding(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID);
|
||||
|
||||
TNC_Result TNC_IMV_Terminate(
|
||||
TNC_IMV_API TNC_Result TNC_IMV_Terminate(
|
||||
/*in*/ TNC_IMVID imvID);
|
||||
|
||||
TNC_Result TNC_IMV_ProvideBindFunction(
|
||||
TNC_IMV_API TNC_Result TNC_IMV_ProvideBindFunction(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_TNCS_BindFunctionPointer bindFunction);
|
||||
|
||||
@@ -196,6 +270,12 @@ TNC_Result TNC_TNCS_ReportMessageTypes(
|
||||
/*in*/ TNC_MessageTypeList supportedTypes,
|
||||
/*in*/ TNC_UInt32 typeCount);
|
||||
|
||||
TNC_Result TNC_TNCS_ReportMessageTypesLong(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_VendorIDList supportedVendorIDs,
|
||||
/*in*/ TNC_MessageSubtypeList supportedSubtypes,
|
||||
/*in*/ TNC_UInt32 typeCount);
|
||||
|
||||
TNC_Result TNC_TNCS_SendMessage(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID,
|
||||
@@ -203,6 +283,22 @@ TNC_Result TNC_TNCS_SendMessage(
|
||||
/*in*/ TNC_UInt32 messageLength,
|
||||
/*in*/ TNC_MessageType messageType);
|
||||
|
||||
TNC_Result TNC_TNCS_SendMessageSOH(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID,
|
||||
/*in*/ TNC_BufferReference sohrReportEntry,
|
||||
/*in*/ TNC_UInt32 sohrRELength);
|
||||
|
||||
TNC_Result TNC_TNCS_SendMessageLong(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID,
|
||||
/*in*/ TNC_UInt32 messageFlags,
|
||||
/*in*/ TNC_BufferReference message,
|
||||
/*in*/ TNC_UInt32 messageLength,
|
||||
/*in*/ TNC_VendorID messageVendorID,
|
||||
/*in*/ TNC_MessageSubtype messageSubtype,
|
||||
/*in*/ TNC_UInt32 destinationIMCID);
|
||||
|
||||
TNC_Result TNC_TNCS_RequestHandshakeRetry(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID,
|
||||
@@ -222,13 +318,16 @@ TNC_Result TNC_TNCS_GetAttribute(
|
||||
/*out*/ TNC_BufferReference buffer,
|
||||
/*out*/ TNC_UInt32 *pOutValueLength);
|
||||
|
||||
TNC_Result TNC_TNCS_ReserveAdditionalIMVID(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*out*/ TNC_UInt32 *pOutIMVID);
|
||||
|
||||
TNC_Result TNC_TNCS_SetAttribute(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ TNC_ConnectionID connectionID,
|
||||
/*in*/ TNC_AttributeID attributeID,
|
||||
/*in*/ TNC_UInt32 bufferLength,
|
||||
/*in*/ TNC_BufferReference buffer);
|
||||
|
||||
/*in*/ TNC_ConnectionID connectionID,
|
||||
/*in*/ TNC_AttributeID attributeID,
|
||||
/*in*/ TNC_UInt32 bufferLength,
|
||||
/*in*/ TNC_BufferReference buffer);
|
||||
TNC_Result TNC_TNCS_BindFunction(
|
||||
/*in*/ TNC_IMVID imvID,
|
||||
/*in*/ char *functionName,
|
||||
|
||||
Reference in New Issue
Block a user