3 /***************************************************************************
5 * Project ___| | | | _ \| |
7 * | (__| |_| | _ <| |___
8 * \___|\___/|_| \_\_____|
10 * Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al.
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.
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.
20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21 * KIND, either express or implied.
23 * $Id: sendf.h,v 1.2 2007-03-15 19:22:13 andy Exp $
24 ***************************************************************************/
26 CURLcode
Curl_sendf(curl_socket_t sockfd
, struct connectdata
*,
27 const char *fmt
, ...);
28 void Curl_infof(struct SessionHandle
*, const char *fmt
, ...);
29 void Curl_failf(struct SessionHandle
*, const char *fmt
, ...);
31 #if defined(CURL_DISABLE_VERBOSE_STRINGS)
33 /* This style of variable argument macros is a gcc extension */
34 #define infof(x...) /*ignore*/
36 /* C99 compilers could use this if we could detect them */
37 /*#define infof(...) */
38 /* Cast the args to void to make them a noop, side effects notwithstanding */
42 #define infof Curl_infof
44 #define failf Curl_failf
46 #define CLIENTWRITE_BODY 1
47 #define CLIENTWRITE_HEADER 2
48 #define CLIENTWRITE_BOTH (CLIENTWRITE_BODY|CLIENTWRITE_HEADER)
50 CURLcode
Curl_client_write(struct connectdata
*conn
, int type
, char *ptr
,
53 void Curl_read_rewind(struct connectdata
*conn
,
54 size_t extraBytesRead
);
56 /* internal read-function, does plain socket, SSL and krb4 */
57 int Curl_read(struct connectdata
*conn
, curl_socket_t sockfd
,
58 char *buf
, size_t buffersize
,
60 /* internal write-function, does plain socket, SSL and krb4 */
61 CURLcode
Curl_write(struct connectdata
*conn
,
63 void *mem
, size_t len
,
66 /* the function used to output verbose information */
67 int Curl_debug(struct SessionHandle
*handle
, curl_infotype type
,
68 char *data
, size_t size
,
69 struct connectdata
*conn
);