1 #ifndef __CONNECT_H 2 #define __CONNECT_H 3 /*************************************************************************** 4 * _ _ ____ _ 5 * Project ___| | | | _ \| | 6 * / __| | | | |_) | | 7 * | (__| |_| | _ <| |___ 8 * \___|\___/|_| \_\_____| 9 * 10 * Copyright (C) 1998 - 2011, 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 #include "nonblock.h" /* for curlx_nonblock(), formerly Curl_nonblock() */ 26 27 CURLcode Curl_is_connected(struct connectdata *conn, 28 int sockindex, 29 bool *connected); 30 31 CURLcode Curl_connecthost(struct connectdata *conn, 32 const struct Curl_dns_entry *host, /* connect to 33 this */ 34 curl_socket_t *sockconn, /* not set if error */ 35 Curl_addrinfo **addr, /* the one we used */ 36 bool *connected); /* truly connected? */ 37 38 /* generic function that returns how much time there's left to run, according 39 to the timeouts set */ 40 long Curl_timeleft(struct SessionHandle *data, 41 struct timeval *nowp, 42 bool duringconnect); 43 44 #define DEFAULT_CONNECT_TIMEOUT 300000 /* milliseconds == five minutes */ 45 46 /* 47 * Used to extract socket and connectdata struct for the most recent 48 * transfer on the given SessionHandle. 49 * 50 * The returned socket will be CURL_SOCKET_BAD in case of failure! 51 */ 52 curl_socket_t Curl_getconnectinfo(struct SessionHandle *data, 53 struct connectdata **connp); 54 55 #ifdef WIN32 56 /* When you run a program that uses the Windows Sockets API, you may 57 experience slow performance when you copy data to a TCP server. 58 59 http://support.microsoft.com/kb/823764 60 61 Work-around: Make the Socket Send Buffer Size Larger Than the Program Send 62 Buffer Size 63 64 */ 65 void Curl_sndbufset(curl_socket_t sockfd); 66 #else 67 #define Curl_sndbufset(y) 68 #endif 69 70 void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd); 71 72 void Curl_persistconninfo(struct connectdata *conn); 73 74 #endif 75