3 * Trusted Network Connect IF-IMV API version 1.20
4 * Microsoft Windows DLL Platform Binding C Header
7 * Copyright(c) 2005-2007, Trusted Computing Group, Inc. All rights
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
13 * - Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * - Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in
17 * the documentation and/or other materials provided with the
19 * - Neither the name of the Trusted Computing Group nor the names of
20 * its contributors may be used to endorse or promote products
21 * derived from this software without specific prior written
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
27 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
28 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
29 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
30 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
31 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
34 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
37 * Contact the Trusted Computing Group at
38 * admin@trustedcomputinggroup.org for information on specification
39 * licensing through membership agreements.
41 * Any marks and brands contained herein are the property of their
44 * Trusted Network Connect IF-IMC/IF-IMV API version 1.00 Revision 3
45 * Microsoft Windows DLL Platform Binding C Header
46 * Common definitions for IF-IMC and IF-IMV
47 * extracted from tncifimc.h and tncifimv.h
55 * @defgroup tncif tncif
65 typedef unsigned long TNC_UInt32
;
66 typedef unsigned char *TNC_BufferReference
;
69 typedef TNC_UInt32 TNC_ConnectionID
;
70 typedef TNC_UInt32 TNC_ConnectionState
;
71 typedef TNC_UInt32 TNC_RetryReason
;
72 typedef TNC_UInt32 TNC_MessageType
;
73 typedef TNC_MessageType
*TNC_MessageTypeList
;
74 typedef TNC_UInt32 TNC_VendorID
;
75 typedef TNC_UInt32 TNC_MessageSubtype
;
76 typedef TNC_UInt32 TNC_Version
;
77 typedef TNC_UInt32 TNC_Result
;
80 #define TNC_RESULT_SUCCESS 0
81 #define TNC_RESULT_NOT_INITIALIZED 1
82 #define TNC_RESULT_ALREADY_INITIALIZED 2
83 #define TNC_RESULT_NO_COMMON_VERSION 3
84 #define TNC_RESULT_CANT_RETRY 4
85 #define TNC_RESULT_WONT_RETRY 5
86 #define TNC_RESULT_INVALID_PARAMETER 6
87 #define TNC_RESULT_CANT_RESPOND 7
88 #define TNC_RESULT_ILLEGAL_OPERATION 8
89 #define TNC_RESULT_OTHER 9
90 #define TNC_RESULT_FATAL 10
92 /* Network Connection ID Values */
93 #define TNC_CONNECTIONID_ANY 0xFFFFFFFF
95 /* Network Connection State Values */
96 #define TNC_CONNECTION_STATE_CREATE 0
97 #define TNC_CONNECTION_STATE_HANDSHAKE 1
98 #define TNC_CONNECTION_STATE_ACCESS_ALLOWED 2
99 #define TNC_CONNECTION_STATE_ACCESS_ISOLATED 3
100 #define TNC_CONNECTION_STATE_ACCESS_NONE 4
101 #define TNC_CONNECTION_STATE_DELETE 5
103 extern enum_name_t
*TNC_Connection_State_names
;
105 /* Vendor ID Values */
106 #define TNC_VENDORID_TCG 0
107 #define TNC_VENDORID_ANY ((TNC_VendorID) 0xffffff)
108 /* Message Subtype Values */
109 #define TNC_SUBTYPE_ANY ((TNC_MessageSubtype) 0xff)
111 #endif /** TNCIF_H_ @}*/