Annotation of embedaddon/strongswan/src/libtnccs/plugins/tnc_imc/tnc_imc.h, revision 1.1.1.1

1.1       misho       1: /*
                      2:  * Copyright (C) 2010 Andreas Steffen
                      3:  * HSR Hochschule fuer Technik Rapperswil
                      4:  *
                      5:  * This program is free software; you can redistribute it and/or modify it
                      6:  * under the terms of the GNU General Public License as published by the
                      7:  * Free Software Foundation; either version 2 of the License, or (at your
                      8:  * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
                      9:  *
                     10:  * This program is distributed in the hope that it will be useful, but
                     11:  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
                     12:  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
                     13:  * for more details.
                     14:  */
                     15: 
                     16: /**
                     17:  *
                     18:  * @defgroup tnc_imc_t tnc_imc
                     19:  * @{ @ingroup tnc_imc
                     20:  */
                     21: 
                     22: #ifndef TNC_IMC_H_
                     23: #define TNC_IMC_H_
                     24: 
                     25: #include <tnc/imc/imc.h>
                     26: 
                     27: /**
                     28:  * Create an Integrity Measurement Collector loaded from a library.
                     29:  *
                     30:  * @param name                 name of the IMC
                     31:  * @param filename             path to the dynamic IMC library
                     32:  * @return                             instance of the imc_t interface
                     33:  */
                     34: imc_t* tnc_imc_create(char *name, char *filename);
                     35: 
                     36: /**
                     37:  * Create an Integrity Measurement Collector from a set of IMC functions.
                     38:  *
                     39:  * @param name                                         name of the IMC
                     40:  * @param initialize                           TNC_IMC_InitializePointer
                     41:  * @param notify_connection_change     TNC_IMC_NotifyConnectionChangePointer
                     42:  * @param begin_handshake                      TNC_IMC_BeginHandshakePointer
                     43:  * @param receive_message                      TNC_IMC_ReceiveMessagePointer
                     44:  * @param receive_message_long         TNC_IMC_ReceiveMessageLongPointer
                     45:  * @param batch_ending                         TNC_IMC_BatchEndingPointer
                     46:  * @param terminate                                    TNC_IMC_TerminatePointer
                     47:  * @param provide_bind_function                TNC_IMC_ProvideBindFunctionPointer
                     48:  * @return                                                     instance of the imc_t interface
                     49:  */
                     50: imc_t* tnc_imc_create_from_functions(char *name,
                     51:                                TNC_IMC_InitializePointer initialize,
                     52:                                TNC_IMC_NotifyConnectionChangePointer notify_connection_change,
                     53:                                TNC_IMC_BeginHandshakePointer begin_handshake,
                     54:                                TNC_IMC_ReceiveMessagePointer receive_message,
                     55:                                TNC_IMC_ReceiveMessageLongPointer receive_message_long,
                     56:                                TNC_IMC_BatchEndingPointer batch_ending,
                     57:                                TNC_IMC_TerminatePointer terminate,
                     58:                                TNC_IMC_ProvideBindFunctionPointer provide_bind_function);
                     59: 
                     60: #endif /** TNC_IMC_H_ @}*/

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