| /* | 
 |  * TNC - Common defines | 
 |  * Copyright (c) 2007-2014, Jouni Malinen <j@w1.fi> | 
 |  * | 
 |  * This software may be distributed under the terms of the BSD license. | 
 |  * See README for more details. | 
 |  */ | 
 |  | 
 | #ifndef TNC_H | 
 | #define TNC_H | 
 |  | 
 | typedef unsigned long TNC_UInt32; | 
 | typedef unsigned char *TNC_BufferReference; | 
 |  | 
 | typedef TNC_UInt32 TNC_IMVID; | 
 | typedef TNC_UInt32 TNC_IMCID; | 
 | typedef TNC_UInt32 TNC_ConnectionID; | 
 | typedef TNC_UInt32 TNC_ConnectionState; | 
 | typedef TNC_UInt32 TNC_RetryReason; | 
 | typedef TNC_UInt32 TNC_IMV_Action_Recommendation; | 
 | typedef TNC_UInt32 TNC_IMV_Evaluation_Result; | 
 | typedef TNC_UInt32 TNC_MessageType; | 
 | typedef TNC_MessageType *TNC_MessageTypeList; | 
 | typedef TNC_UInt32 TNC_VendorID; | 
 | typedef TNC_UInt32 TNC_Subtype; | 
 | typedef TNC_UInt32 TNC_MessageSubtype; | 
 | typedef TNC_UInt32 TNC_Version; | 
 | typedef TNC_UInt32 TNC_Result; | 
 | typedef TNC_UInt32 TNC_AttributeID; | 
 |  | 
 | typedef TNC_Result (*TNC_TNCS_BindFunctionPointer)( | 
 | 	TNC_IMVID imvID, | 
 | 	char *functionName, | 
 | 	void **pOutfunctionPointer); | 
 | typedef TNC_Result (*TNC_TNCS_ReportMessageTypesPointer)( | 
 | 	TNC_IMVID imvID, | 
 | 	TNC_MessageTypeList supportedTypes, | 
 | 	TNC_UInt32 typeCount); | 
 | typedef TNC_Result (*TNC_TNCS_SendMessagePointer)( | 
 | 	TNC_IMVID imvID, | 
 | 	TNC_ConnectionID connectionID, | 
 | 	TNC_BufferReference message, | 
 | 	TNC_UInt32 messageLength, | 
 | 	TNC_MessageType messageType); | 
 | typedef TNC_Result (*TNC_TNCS_RequestHandshakeRetryPointer)( | 
 | 	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); | 
 | typedef TNC_Result (*TNC_TNCC_BindFunctionPointer)( | 
 | 	TNC_IMCID imcID, | 
 | 	char *functionName, | 
 | 	void **pOutfunctionPointer); | 
 | typedef TNC_Result (*TNC_TNCC_SendMessagePointer)( | 
 | 	TNC_IMCID imcID, | 
 | 	TNC_ConnectionID connectionID, | 
 | 	TNC_BufferReference message, | 
 | 	TNC_UInt32 messageLength, | 
 | 	TNC_MessageType messageType); | 
 | typedef TNC_Result (*TNC_TNCC_ReportMessageTypesPointer)( | 
 | 	TNC_IMCID imcID, | 
 | 	TNC_MessageTypeList supportedTypes, | 
 | 	TNC_UInt32 typeCount); | 
 | typedef TNC_Result (*TNC_TNCC_RequestHandshakeRetryPointer)( | 
 | 	TNC_IMCID imcID, | 
 | 	TNC_ConnectionID connectionID, | 
 | 	TNC_RetryReason reason); | 
 |  | 
 | #define TNC_IFIMV_VERSION_1 1 | 
 | #define TNC_IFIMC_VERSION_1 1 | 
 |  | 
 | #define TNC_RESULT_SUCCESS 0 | 
 | #define TNC_RESULT_NOT_INITIALIZED 1 | 
 | #define TNC_RESULT_ALREADY_INITIALIZED 2 | 
 | #define TNC_RESULT_NO_COMMON_VERSION 3 | 
 | #define TNC_RESULT_CANT_RETRY 4 | 
 | #define TNC_RESULT_WONT_RETRY 5 | 
 | #define TNC_RESULT_INVALID_PARAMETER 6 | 
 | #define TNC_RESULT_CANT_RESPOND 7 | 
 | #define TNC_RESULT_ILLEGAL_OPERATION 8 | 
 | #define TNC_RESULT_OTHER 9 | 
 | #define TNC_RESULT_FATAL 10 | 
 |  | 
 | #define TNC_CONNECTION_STATE_CREATE 0 | 
 | #define TNC_CONNECTION_STATE_HANDSHAKE 1 | 
 | #define TNC_CONNECTION_STATE_ACCESS_ALLOWED 2 | 
 | #define TNC_CONNECTION_STATE_ACCESS_ISOLATED 3 | 
 | #define TNC_CONNECTION_STATE_ACCESS_NONE 4 | 
 | #define TNC_CONNECTION_STATE_DELETE 5 | 
 |  | 
 | #define TNC_VENDORID_ANY ((TNC_VendorID) 0xffffff) | 
 | #define TNC_SUBTYPE_ANY ((TNC_Subtype) 0xff) | 
 |  | 
 | /* TNCC-TNCS Message Types */ | 
 | #define TNC_TNCCS_RECOMMENDATION		0x00000001 | 
 | #define TNC_TNCCS_ERROR				0x00000002 | 
 | #define TNC_TNCCS_PREFERREDLANGUAGE		0x00000003 | 
 | #define TNC_TNCCS_REASONSTRINGS			0x00000004 | 
 |  | 
 | /* Possible TNC_IMV_Action_Recommendation values: */ | 
 | enum IMV_Action_Recommendation { | 
 | 	TNC_IMV_ACTION_RECOMMENDATION_ALLOW, | 
 | 	TNC_IMV_ACTION_RECOMMENDATION_NO_ACCESS, | 
 | 	TNC_IMV_ACTION_RECOMMENDATION_ISOLATE, | 
 | 	TNC_IMV_ACTION_RECOMMENDATION_NO_RECOMMENDATION | 
 | }; | 
 |  | 
 | /* Possible TNC_IMV_Evaluation_Result values: */ | 
 | enum IMV_Evaluation_Result { | 
 | 	TNC_IMV_EVALUATION_RESULT_COMPLIANT, | 
 | 	TNC_IMV_EVALUATION_RESULT_NONCOMPLIANT_MINOR, | 
 | 	TNC_IMV_EVALUATION_RESULT_NONCOMPLIANT_MAJOR, | 
 | 	TNC_IMV_EVALUATION_RESULT_ERROR, | 
 | 	TNC_IMV_EVALUATION_RESULT_DONT_KNOW | 
 | }; | 
 |  | 
 | #endif /* TNC_H */ |