File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / strongswan / src / libtncif / tncif.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 09:46:44 2020 UTC (4 years, 4 months ago) by misho
Branches: strongswan, MAIN
CVS tags: v5_9_2p0, v5_8_4p7, HEAD
Strongswan

    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>