8 typedef unsigned long TNC_UInt32;
9 typedef unsigned char *TNC_BufferReference;
11 typedef TNC_UInt32 TNC_IMVID;
12 typedef TNC_UInt32 TNC_IMCID;
13 typedef TNC_UInt32 TNC_ConnectionID;
14 typedef TNC_UInt32 TNC_ConnectionState;
15 typedef TNC_UInt32 TNC_RetryReason;
16 typedef TNC_UInt32 TNC_IMV_Action_Recommendation;
17 typedef TNC_UInt32 TNC_IMV_Evaluation_Result;
18 typedef TNC_UInt32 TNC_MessageType;
19 typedef TNC_MessageType *TNC_MessageTypeList;
20 typedef TNC_UInt32 TNC_VendorID;
21 typedef TNC_UInt32 TNC_Subtype;
22 typedef TNC_UInt32 TNC_MessageSubtype;
23 typedef TNC_UInt32 TNC_Version;
24 typedef TNC_UInt32 TNC_Result;
25 typedef TNC_UInt32 TNC_AttributeID;
27 typedef TNC_Result (*TNC_TNCS_BindFunctionPointer)(
30 void **pOutfunctionPointer);
31 typedef TNC_Result (*TNC_TNCS_ReportMessageTypesPointer)(
33 TNC_MessageTypeList supportedTypes,
34 TNC_UInt32 typeCount);
35 typedef TNC_Result (*TNC_TNCS_SendMessagePointer)(
37 TNC_ConnectionID connectionID,
38 TNC_BufferReference message,
39 TNC_UInt32 messageLength,
40 TNC_MessageType messageType);
41 typedef TNC_Result (*TNC_TNCS_RequestHandshakeRetryPointer)(
43 TNC_ConnectionID connectionID,
44 TNC_RetryReason reason);
45 typedef TNC_Result (*TNC_TNCS_ProvideRecommendationPointer)(
47 TNC_ConnectionID connectionID,
48 TNC_IMV_Action_Recommendation recommendation,
49 TNC_IMV_Evaluation_Result evaluation);
50 typedef TNC_Result (*TNC_TNCC_BindFunctionPointer)(
53 void **pOutfunctionPointer);
54 typedef TNC_Result (*TNC_TNCC_SendMessagePointer)(
56 TNC_ConnectionID connectionID,
57 TNC_BufferReference message,
58 TNC_UInt32 messageLength,
59 TNC_MessageType messageType);
60 typedef TNC_Result (*TNC_TNCC_ReportMessageTypesPointer)(
62 TNC_MessageTypeList supportedTypes,
63 TNC_UInt32 typeCount);
64 typedef TNC_Result (*TNC_TNCC_RequestHandshakeRetryPointer)(
66 TNC_ConnectionID connectionID,
67 TNC_RetryReason reason);
69 #define TNC_IFIMV_VERSION_1 1
70 #define TNC_IFIMC_VERSION_1 1
72 #define TNC_RESULT_SUCCESS 0
73 #define TNC_RESULT_NOT_INITIALIZED 1
74 #define TNC_RESULT_ALREADY_INITIALIZED 2
75 #define TNC_RESULT_NO_COMMON_VERSION 3
76 #define TNC_RESULT_CANT_RETRY 4
77 #define TNC_RESULT_WONT_RETRY 5
78 #define TNC_RESULT_INVALID_PARAMETER 6
79 #define TNC_RESULT_CANT_RESPOND 7
80 #define TNC_RESULT_ILLEGAL_OPERATION 8
81 #define TNC_RESULT_OTHER 9
82 #define TNC_RESULT_FATAL 10
84 #define TNC_CONNECTION_STATE_CREATE 0
85 #define TNC_CONNECTION_STATE_HANDSHAKE 1
86 #define TNC_CONNECTION_STATE_ACCESS_ALLOWED 2
87 #define TNC_CONNECTION_STATE_ACCESS_ISOLATED 3
88 #define TNC_CONNECTION_STATE_ACCESS_NONE 4
89 #define TNC_CONNECTION_STATE_DELETE 5
91 #define TNC_VENDORID_ANY ((TNC_VendorID) 0xffffff)
92 #define TNC_SUBTYPE_ANY ((TNC_Subtype) 0xff)
95 #define TNC_TNCCS_RECOMMENDATION 0x00000001
96 #define TNC_TNCCS_ERROR 0x00000002
97 #define TNC_TNCCS_PREFERREDLANGUAGE 0x00000003
98 #define TNC_TNCCS_REASONSTRINGS 0x00000004
101 enum IMV_Action_Recommendation {
102 TNC_IMV_ACTION_RECOMMENDATION_ALLOW,
103 TNC_IMV_ACTION_RECOMMENDATION_NO_ACCESS,
104 TNC_IMV_ACTION_RECOMMENDATION_ISOLATE,
105 TNC_IMV_ACTION_RECOMMENDATION_NO_RECOMMENDATION
109 enum IMV_Evaluation_Result {
110 TNC_IMV_EVALUATION_RESULT_COMPLIANT,
111 TNC_IMV_EVALUATION_RESULT_NONCOMPLIANT_MINOR,
112 TNC_IMV_EVALUATION_RESULT_NONCOMPLIANT_MAJOR,
113 TNC_IMV_EVALUATION_RESULT_ERROR,
114 TNC_IMV_EVALUATION_RESULT_DONT_KNOW