qssl.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef __QSSL_H
  2. #define __QSSL_H
  3. /***************************************************************************
  4. * _ _ ____ _
  5. * Project ___| | | | _ \| |
  6. * / __| | | | |_) | |
  7. * | (__| |_| | _ <| |___
  8. * \___|\___/|_| \_\_____|
  9. *
  10. * Copyright (C) 1998 - 2008, Daniel Stenberg, <[email protected]>, 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. * $Id$
  24. ***************************************************************************/
  25. /*
  26. * This header should only be needed to get included by sslgen.c and qssl.c
  27. */
  28. #include "urldata.h"
  29. #ifdef USE_QSOSSL
  30. int Curl_qsossl_init(void);
  31. void Curl_qsossl_cleanup(void);
  32. CURLcode Curl_qsossl_connect(struct connectdata * conn, int sockindex);
  33. void Curl_qsossl_close(struct connectdata *conn, int sockindex);
  34. int Curl_qsossl_close_all(struct SessionHandle * data);
  35. int Curl_qsossl_shutdown(struct connectdata * conn, int sockindex);
  36. ssize_t Curl_qsossl_send(struct connectdata * conn,
  37. int sockindex,
  38. const void * mem,
  39. size_t len);
  40. ssize_t Curl_qsossl_recv(struct connectdata * conn, /* connection data */
  41. int num, /* socketindex */
  42. char * buf, /* store read data here */
  43. size_t buffersize, /* max amount to read */
  44. bool * wouldblock);
  45. size_t Curl_qsossl_version(char * buffer, size_t size);
  46. int Curl_qsossl_check_cxn(struct connectdata * cxn);
  47. /* API setup for QsoSSL */
  48. #define curlssl_init Curl_qsossl_init
  49. #define curlssl_cleanup Curl_qsossl_cleanup
  50. #define curlssl_connect Curl_qsossl_connect
  51. /* No session handling for QsoSSL */
  52. #define curlssl_session_free(x)
  53. #define curlssl_close_all Curl_qsossl_close_all
  54. #define curlssl_close Curl_qsossl_close
  55. #define curlssl_shutdown(x,y) Curl_qsossl_shutdown(x,y)
  56. #define curlssl_set_engine(x,y) CURLE_FAILED_INIT
  57. #define curlssl_set_engine_default(x) CURLE_FAILED_INIT
  58. #define curlssl_engines_list(x) NULL
  59. #define curlssl_send Curl_qsossl_send
  60. #define curlssl_recv Curl_qsossl_recv
  61. #define curlssl_version Curl_qsossl_version
  62. #define curlssl_check_cxn(x) Curl_qsossl_check_cxn(x)
  63. #define curlssl_data_pending(x,y) 0
  64. #endif /* USE_QSOSSL */
  65. #endif