Return to tls_peer.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / strongswan / src / libtls |
1.1 ! misho 1: /* ! 2: * Copyright (C) 2010 Martin Willi ! 3: * Copyright (C) 2010 revosec AG ! 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: * @defgroup tls_peer tls_peer ! 18: * @{ @ingroup libtls ! 19: */ ! 20: ! 21: #ifndef TLS_PEER_H_ ! 22: #define TLS_PEER_H_ ! 23: ! 24: typedef struct tls_peer_t tls_peer_t; ! 25: ! 26: #include "tls_handshake.h" ! 27: #include "tls_crypto.h" ! 28: ! 29: #include <library.h> ! 30: ! 31: /** ! 32: * TLS handshake protocol handler as peer. ! 33: */ ! 34: struct tls_peer_t { ! 35: ! 36: /** ! 37: * Implements the TLS handshake protocol handler. ! 38: */ ! 39: tls_handshake_t handshake; ! 40: }; ! 41: ! 42: /** ! 43: * Create a tls_peer instance. ! 44: * ! 45: * If a peer identity is given, but the client does not get requested or is ! 46: * otherwise unable to perform client authentication, NULL is returned in ! 47: * tls_handshake_t.get_peer_id() instead of the peer identity. ! 48: * ! 49: * @param tls TLS stack ! 50: * @param crypto TLS crypto helper ! 51: * @param alert TLS alert handler ! 52: * @param peer peer identity, NULL to skip client authentication ! 53: * @param server server identity ! 54: */ ! 55: tls_peer_t *tls_peer_create(tls_t *tls, tls_crypto_t *crypto, tls_alert_t *alert, ! 56: identification_t *peer, identification_t *server); ! 57: ! 58: #endif /** TLS_PEER_H_ @}*/