gwenhywfar 5.10.1
syncio_tls.h
Go to the documentation of this file.
1/***************************************************************************
2 begin : Wed Apr 28 2010
3 copyright : (C) 2010, 2016 by Martin Preuss
4 email : martin@libchipcard.de
5
6 ***************************************************************************
7 * *
8 * This library is free software; you can redistribute it and/or *
9 * modify it under the terms of the GNU Lesser General Public *
10 * License as published by the Free Software Foundation; either *
11 * version 2.1 of the License, or (at your option) any later version. *
12 * *
13 * This library is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16 * Lesser General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU Lesser General Public *
19 * License along with this library; if not, write to the Free Software *
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
21 * MA 02111-1307 USA *
22 * *
23 ***************************************************************************/
24
25
26#ifndef GWENHYWFAR_SYNCIO_TLS_H
27#define GWENHYWFAR_SYNCIO_TLS_H
28
29#include <gwenhywfar/syncio.h>
31
32
33#define GWEN_SYNCIO_TLS_TYPE "tls"
34
35
36#define GWEN_SYNCIO_TLS_FLAGS_REQUEST_CERT 0x00000001
37
38#define GWEN_SYNCIO_TLS_FLAGS_ALLOW_V1_CA_CRT 0x00000004
39#define GWEN_SYNCIO_TLS_FLAGS_NEED_PEER_CERT 0x00000008
40#define GWEN_SYNCIO_TLS_FLAGS_ADD_TRUSTED_CAS 0x00000010
41#define GWEN_SYNCIO_TLS_FLAGS_SET_PASSV_HOST_NAME 0x00000020 /* not used atm */
42#define GWEN_SYNCIO_TLS_FLAGS_SET_PASSV_HOST_IP 0x00000020 /* not used atm */
43
45#define GWEN_SYNCIO_TLS_FLAGS_IGN_PREMATURE_CLOSE 0x00000200
46
47#define GWEN_SYNCIO_TLS_FLAGS_SECURE 0x00008000
48
49
50
51#ifdef __cplusplus
52extern "C" {
53#endif
54
55
56
59
60
63
66
69
72
73
76
79
81
82
83
86
87
88#ifdef __cplusplus
89}
90#endif
91
92
93#endif
94
95
#define GWENHYWFAR_API
Definition: gwenhywfarapi.h:67
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
struct GWEN_SSLCERTDESCR GWEN_SSLCERTDESCR
struct GWEN_SYNCIO GWEN_SYNCIO
Definition: syncio.h:40
GWENHYWFAR_API const char * GWEN_SyncIo_Tls_GetLocalTrustFile(const GWEN_SYNCIO *sio)
GWENHYWFAR_API const char * GWEN_SyncIo_Tls_GetRemoteHostName(const GWEN_SYNCIO *sio)
GWENHYWFAR_API void GWEN_SyncIo_Tls_SetLocalTrustFile(GWEN_SYNCIO *sio, const char *s)
GWENHYWFAR_API GWEN_SYNCIO * GWEN_SyncIo_Tls_new(GWEN_SYNCIO *baseIo)
GWENHYWFAR_API const char * GWEN_SyncIo_Tls_GetLocalTrustFolder(const GWEN_SYNCIO *sio)
GWENHYWFAR_API void GWEN_SyncIo_Tls_SetRemoteHostName(GWEN_SYNCIO *sio, const char *s)
GWENHYWFAR_API void GWEN_SyncIo_Tls_SetLocalTrustFolder(GWEN_SYNCIO *sio, const char *s)
GWENHYWFAR_API const char * GWEN_SyncIo_Tls_GetLocalCertFile(const GWEN_SYNCIO *sio)
GWENHYWFAR_API void GWEN_SyncIo_Tls_SetLocalCertFile(GWEN_SYNCIO *sio, const char *s)
GWENHYWFAR_API void GWEN_SyncIo_Tls_SetLocalKeyFile(GWEN_SYNCIO *sio, const char *s)
GWENHYWFAR_API void GWEN_SyncIo_Tls_SetDhParamFile(GWEN_SYNCIO *sio, const char *s)
GWENHYWFAR_API const char * GWEN_SyncIo_Tls_GetLocalKeyFile(const GWEN_SYNCIO *sio)
GWENHYWFAR_API GWEN_SIO_TLS_CHECKCERT_FN GWEN_SyncIo_Tls_SetCheckCertFn(GWEN_SYNCIO *sio, GWEN_SIO_TLS_CHECKCERT_FN f)
int GWENHYWFAR_CB(* GWEN_SIO_TLS_CHECKCERT_FN)(GWEN_SYNCIO *sio, const GWEN_SSLCERTDESCR *cert)
Definition: syncio_tls.h:84
GWENHYWFAR_API GWEN_SSLCERTDESCR * GWEN_SyncIo_Tls_GetPeerCertDescr(const GWEN_SYNCIO *sio)
GWENHYWFAR_API const char * GWEN_SyncIo_Tls_GetDhParamFile(const GWEN_SYNCIO *sio)