Annotation of embedaddon/strongswan/src/libtncif/tncif.h, revision 1.1.1.1

1.1       misho       1: /* tncif.h
                      2:  *
                      3:  * Trusted Network Connect IF-IMC/IMV API version 1.30
                      4:  * Microsoft Windows DLL Platform Binding C Header
                      5:  * October 14, 2011
                      6:  *
                      7:  *   Common definitions for IF-IMC and IF-IMV
                      8:  *   extracted from tncifimc.h and tncifimv.h
                      9:  *
                     10:  * Copyright(c) 2005-2011, Trusted Computing Group, Inc. All rights
                     11:  * reserved.
                     12:  *
                     13:  * Redistribution and use in source and binary forms, with or without
                     14:  * modification, are permitted provided that the following conditions
                     15:  * are met:
                     16:  * o Redistributions of source code must retain the above copyright
                     17:  *   notice, this list of conditions and the following disclaimer.
                     18:  * o Redistributions in binary form must reproduce the above copyright
                     19:  *   notice, this list of conditions and the following disclaimer in
                     20:  *   the documentation and/or other materials provided with the
                     21:  *   distribution.
                     22:  * o Neither the name of the Trusted Computing Group nor the names of
                     23:  *   its contributors may be used to endorse or promote products
                     24:  *   derived from this software without specific prior written
                     25:  *   permission.
                     26:  *
                     27:  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
                     28:  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
                     29:  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
                     30:  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
                     31:  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
                     32:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
                     33:  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
                     34:  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
                     35:  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     36:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
                     37:  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     38:  * POSSIBILITY OF SUCH DAMAGE.
                     39:  *
                     40:  * Contact the Trusted Computing Group at
                     41:  * admin@trustedcomputinggroup.org for information on specification
                     42:  * licensing through membership agreements.
                     43:  *
                     44:  * Any marks and brands contained herein are the property of their
                     45:  * respective owners.
                     46:  *
                     47:  */
                     48: 
                     49: /**
                     50:  * @defgroup tncif tncif
                     51:  * @{ @ingroup libtncif
                     52:  */
                     53: 
                     54: #ifndef TNCIF_H_
                     55: #define TNCIF_H_
                     56: 
                     57: /* Basic Types */
                     58: 
                     59: typedef unsigned long TNC_UInt32;
                     60: typedef unsigned char *TNC_BufferReference;
                     61: 
                     62: /* Derived Types */
                     63: 
                     64: typedef TNC_UInt32 TNC_ConnectionID;
                     65: typedef TNC_UInt32 TNC_ConnectionState;
                     66: typedef TNC_UInt32 TNC_RetryReason;
                     67: typedef TNC_UInt32 TNC_MessageType;
                     68: typedef TNC_MessageType *TNC_MessageTypeList;
                     69: typedef TNC_UInt32 TNC_VendorID;
                     70: typedef TNC_VendorID *TNC_VendorIDList;
                     71: typedef TNC_UInt32 TNC_MessageSubtype;
                     72: typedef TNC_MessageSubtype *TNC_MessageSubtypeList;
                     73: typedef TNC_UInt32 TNC_Version;
                     74: typedef TNC_UInt32 TNC_Result;
                     75: typedef TNC_UInt32 TNC_AttributeID;
                     76: 
                     77: /* Result Codes */
                     78: 
                     79: #define TNC_RESULT_SUCCESS 0
                     80: #define TNC_RESULT_NOT_INITIALIZED 1
                     81: #define TNC_RESULT_ALREADY_INITIALIZED 2
                     82: #define TNC_RESULT_NO_COMMON_VERSION 3
                     83: #define TNC_RESULT_CANT_RETRY 4
                     84: #define TNC_RESULT_WONT_RETRY 5
                     85: #define TNC_RESULT_INVALID_PARAMETER 6
                     86: #define TNC_RESULT_CANT_RESPOND 7
                     87: #define TNC_RESULT_ILLEGAL_OPERATION 8
                     88: #define TNC_RESULT_OTHER 9
                     89: #define TNC_RESULT_FATAL 10
                     90: #define TNC_RESULT_EXCEEDED_MAX_ROUND_TRIPS 0x00559700
                     91: #define TNC_RESULT_EXCEEDED_MAX_MESSAGE_SIZE 0x00559701
                     92: #define TNC_RESULT_NO_LONG_MESSAGE_TYPES 0x00559702
                     93: #define TNC_RESULT_NO_SOH_SUPPORT 0x00559703
                     94: 
                     95: /* Network Connection ID Values */
                     96: 
                     97: #define TNC_CONNECTIONID_ANY 0xFFFFFFFF
                     98: 
                     99: /* Network Connection State Values */
                    100: 
                    101: #define TNC_CONNECTION_STATE_CREATE 0
                    102: #define TNC_CONNECTION_STATE_HANDSHAKE 1
                    103: #define TNC_CONNECTION_STATE_ACCESS_ALLOWED 2
                    104: #define TNC_CONNECTION_STATE_ACCESS_ISOLATED 3
                    105: #define TNC_CONNECTION_STATE_ACCESS_NONE 4
                    106: #define TNC_CONNECTION_STATE_DELETE 5
                    107: 
                    108: /* IMC/IMV ID Values */
                    109: 
                    110: #define TNC_IMVID_ANY ((TNC_UInt32) 0xffff)
                    111: #define TNC_IMCID_ANY ((TNC_UInt32) 0xffff)
                    112: 
                    113: /* Vendor ID Values */
                    114: 
                    115: #define TNC_VENDORID_TCG 0
                    116: #define TNC_VENDORID_TCG_NEW 0x005597
                    117: #define TNC_VENDORID_ANY ((TNC_VendorID) 0xffffff)
                    118: 
                    119: /* Message Subtype Values */
                    120: 
                    121: #define TNC_SUBTYPE_ANY ((TNC_MessageSubtype) 0xff)
                    122: 
                    123: /* Message Flags Values */
                    124: 
                    125: #define TNC_MESSAGE_FLAGS_EXCLUSIVE ((TNC_UInt32) 0x80000000)
                    126: 
                    127: /* Message Attribute ID Values */
                    128: 
                    129: #define TNC_ATTRIBUTEID_PREFERRED_LANGUAGE ((TNC_AttributeID) 0x00000001)
                    130: #define TNC_ATTRIBUTEID_MAX_ROUND_TRIPS ((TNC_AttributeID) 0x00559700)
                    131: #define TNC_ATTRIBUTEID_MAX_MESSAGE_SIZE ((TNC_AttributeID) 0x00559701)
                    132: #define TNC_ATTRIBUTEID_DHPN ((TNC_AttributeID) 0x00559702)
                    133: #define TNC_ATTRIBUTEID_HAS_LONG_TYPES  ((TNC_AttributeID) 0x00559703)
                    134: #define TNC_ATTRIBUTEID_HAS_EXCLUSIVE ((TNC_AttributeID) 0x00559704)
                    135: #define TNC_ATTRIBUTEID_HAS_SOH ((TNC_AttributeID) 0x00559705)
                    136: #define TNC_ATTRIBUTEID_IFTNCCS_PROTOCOL ((TNC_AttributeID) 0x0055970A)
                    137: #define TNC_ATTRIBUTEID_IFTNCCS_VERSION ((TNC_AttributeID) 0x0055970B)
                    138: #define TNC_ATTRIBUTEID_IFT_PROTOCOL ((TNC_AttributeID) 0x0055970C)
                    139: #define TNC_ATTRIBUTEID_IFT_VERSION ((TNC_AttributeID) 0x0055970D)
                    140: #define TNC_ATTRIBUTEID_TLS_UNIQUE ((TNC_AttributeID) 0x0055970E)
                    141: 
                    142: #endif /** TNCIF_H_ @}*/

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>