blob: a0cf8cc29a8b438331e5dcd3ed08c3dc6a7a33e6 [file] [log] [blame]
Kristian Monsen5ab50182010-05-14 18:53:44 +01001#ifndef __QSSL_H
2#define __QSSL_H
3/***************************************************************************
4 * _ _ ____ _
5 * Project ___| | | | _ \| |
6 * / __| | | | |_) | |
7 * | (__| |_| | _ <| |___
8 * \___|\___/|_| \_\_____|
9 *
10 * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
11 *
12 * This software is licensed as described in the file COPYING, which
13 * you should have received as part of this distribution. The terms
14 * are also available at http://curl.haxx.se/docs/copyright.html.
15 *
16 * You may opt to use, copy, modify, merge, publish, distribute and/or sell
17 * copies of the Software, and permit persons to whom the Software is
18 * furnished to do so, under the terms of the COPYING file.
19 *
20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21 * KIND, either express or implied.
22 *
23 ***************************************************************************/
24
25/*
26 * This header should only be needed to get included by sslgen.c and qssl.c
27 */
28
29#include "urldata.h"
30
31#ifdef USE_QSOSSL
32int Curl_qsossl_init(void);
33void Curl_qsossl_cleanup(void);
34CURLcode Curl_qsossl_connect(struct connectdata * conn, int sockindex);
35void Curl_qsossl_close(struct connectdata *conn, int sockindex);
36int Curl_qsossl_close_all(struct SessionHandle * data);
37int Curl_qsossl_shutdown(struct connectdata * conn, int sockindex);
38
39/* for documentation see Curl_ssl_send() in sslgen.h */
40ssize_t Curl_qsossl_send(struct connectdata * conn,
41 int sockindex,
42 const void * mem,
43 size_t len,
44 int * curlcode);
45
46/* for documentation see Curl_ssl_recv() in sslgen.h */
47ssize_t Curl_qsossl_recv(struct connectdata * conn, /* connection data */
48 int num, /* socketindex */
49 char * buf, /* store read data here */
50 size_t buffersize, /* max amount to read */
51 int * curlcode);
52
53size_t Curl_qsossl_version(char * buffer, size_t size);
54int Curl_qsossl_check_cxn(struct connectdata * cxn);
55
56/* API setup for QsoSSL */
57#define curlssl_init Curl_qsossl_init
58#define curlssl_cleanup Curl_qsossl_cleanup
59#define curlssl_connect Curl_qsossl_connect
60
61/* No session handling for QsoSSL */
62#define curlssl_session_free(x)
63#define curlssl_close_all Curl_qsossl_close_all
64#define curlssl_close Curl_qsossl_close
65#define curlssl_shutdown(x,y) Curl_qsossl_shutdown(x,y)
66#define curlssl_set_engine(x,y) CURLE_FAILED_INIT
67#define curlssl_set_engine_default(x) CURLE_FAILED_INIT
68#define curlssl_engines_list(x) NULL
69#define curlssl_send Curl_qsossl_send
70#define curlssl_recv Curl_qsossl_recv
71#define curlssl_version Curl_qsossl_version
72#define curlssl_check_cxn(x) Curl_qsossl_check_cxn(x)
73#define curlssl_data_pending(x,y) 0
74#endif /* USE_QSOSSL */
75#endif