sendf.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef __SENDF_H
  2. #define __SENDF_H
  3. /***************************************************************************
  4. * _ _ ____ _
  5. * Project ___| | | | _ \| |
  6. * / __| | | | |_) | |
  7. * | (__| |_| | _ <| |___
  8. * \___|\___/|_| \_\_____|
  9. *
  10. * Copyright (C) 1998 - 2005, 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. * $Id$
  24. ***************************************************************************/
  25. CURLcode Curl_sendf(curl_socket_t sockfd, struct connectdata *,
  26. const char *fmt, ...);
  27. void Curl_infof(struct SessionHandle *, const char *fmt, ...);
  28. void Curl_failf(struct SessionHandle *, const char *fmt, ...);
  29. #if defined(CURL_DISABLE_VERBOSE_STRINGS)
  30. #if defined(__GNUC__)
  31. /* This style of variable argument macros is a gcc extension */
  32. #define infof(x...) /*ignore*/
  33. #else
  34. /* C99 compilers could use this if we could detect them */
  35. /*#define infof(...) */
  36. /* Cast the args to void to make them a noop, side effects notwithstanding */
  37. #define infof (void)
  38. #endif
  39. #else
  40. #define infof Curl_infof
  41. #endif
  42. #define failf Curl_failf
  43. #define CLIENTWRITE_BODY 1
  44. #define CLIENTWRITE_HEADER 2
  45. #define CLIENTWRITE_BOTH (CLIENTWRITE_BODY|CLIENTWRITE_HEADER)
  46. CURLcode Curl_client_write(struct SessionHandle *data, int type, char *ptr,
  47. size_t len);
  48. /* internal read-function, does plain socket, SSL and krb4 */
  49. int Curl_read(struct connectdata *conn, curl_socket_t sockfd,
  50. char *buf, size_t buffersize,
  51. ssize_t *n);
  52. /* internal write-function, does plain socket, SSL and krb4 */
  53. CURLcode Curl_write(struct connectdata *conn,
  54. curl_socket_t sockfd,
  55. void *mem, size_t len,
  56. ssize_t *written);
  57. /* the function used to output verbose information */
  58. int Curl_debug(struct SessionHandle *handle, curl_infotype type,
  59. char *data, size_t size,
  60. struct connectdata *conn);
  61. #endif