VirtualBox

source: vbox/trunk/src/libs/curl-7.64.0/lib/url.h@ 94601

Last change on this file since 94601 was 85671, checked in by vboxsync, 4 years ago

Export out internal curl copy to make it a lot simpler to build VBox (OSE) on Windows. bugref:9814

  • Property svn:eol-style set to native
File size: 4.5 KB
Line 
1#ifndef HEADER_CURL_URL_H
2#define HEADER_CURL_URL_H
3/***************************************************************************
4 * _ _ ____ _
5 * Project ___| | | | _ \| |
6 * / __| | | | |_) | |
7 * | (__| |_| | _ <| |___
8 * \___|\___/|_| \_\_____|
9 *
10 * Copyright (C) 1998 - 2019, 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 https://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#include "curl_setup.h"
25
26#define READBUFFER_SIZE CURL_MAX_WRITE_SIZE
27#define READBUFFER_MAX CURL_MAX_READ_SIZE
28#define READBUFFER_MIN 1024
29
30/* The default upload buffer size, should not be smaller than
31 CURL_MAX_WRITE_SIZE, as it needs to hold a full buffer as could be sent in
32 a write callback.
33
34 The size was 16KB for many years but was bumped to 64KB because it makes
35 libcurl able to do significantly faster uploads in some circumstances. Even
36 larger buffers can help further, but this is deemed a fair memory/speed
37 compromise. */
38#define UPLOADBUFFER_DEFAULT 65536
39#define UPLOADBUFFER_MAX (2*1024*1024)
40#define UPLOADBUFFER_MIN CURL_MAX_WRITE_SIZE
41
42/*
43 * Prototypes for library-wide functions provided by url.c
44 */
45
46CURLcode Curl_init_do(struct Curl_easy *data, struct connectdata *conn);
47CURLcode Curl_open(struct Curl_easy **curl);
48CURLcode Curl_init_userdefined(struct Curl_easy *data);
49
50void Curl_freeset(struct Curl_easy * data);
51/* free the URL pieces */
52void Curl_up_free(struct Curl_easy *data);
53CURLcode Curl_uc_to_curlcode(CURLUcode uc);
54CURLcode Curl_close(struct Curl_easy *data); /* opposite of curl_open() */
55CURLcode Curl_connect(struct Curl_easy *, bool *async, bool *protocol_connect);
56CURLcode Curl_disconnect(struct Curl_easy *data,
57 struct connectdata *, bool dead_connection);
58CURLcode Curl_protocol_connect(struct connectdata *conn, bool *done);
59CURLcode Curl_protocol_connecting(struct connectdata *conn, bool *done);
60CURLcode Curl_protocol_doing(struct connectdata *conn, bool *done);
61CURLcode Curl_setup_conn(struct connectdata *conn,
62 bool *protocol_done);
63void Curl_free_request_state(struct Curl_easy *data);
64
65int Curl_protocol_getsock(struct connectdata *conn,
66 curl_socket_t *socks,
67 int numsocks);
68int Curl_doing_getsock(struct connectdata *conn,
69 curl_socket_t *socks,
70 int numsocks);
71CURLcode Curl_parse_login_details(const char *login, const size_t len,
72 char **userptr, char **passwdptr,
73 char **optionsptr);
74
75int Curl_removeHandleFromPipeline(struct Curl_easy *handle,
76 struct curl_llist *pipeline);
77/* remove the specified connection from all (possible) pipelines and related
78 queues */
79void Curl_getoff_all_pipelines(struct Curl_easy *data,
80 struct connectdata *conn);
81
82CURLcode Curl_upkeep(struct conncache *conn_cache, void *data);
83
84const struct Curl_handler *Curl_builtin_scheme(const char *scheme);
85
86#define CURL_DEFAULT_PROXY_PORT 1080 /* default proxy port unless specified */
87#define CURL_DEFAULT_HTTPS_PROXY_PORT 443 /* default https proxy port unless
88 specified */
89
90CURLcode Curl_connected_proxy(struct connectdata *conn, int sockindex);
91
92#ifdef CURL_DISABLE_VERBOSE_STRINGS
93#define Curl_verboseconnect(x) Curl_nop_stmt
94#else
95void Curl_verboseconnect(struct connectdata *conn);
96#endif
97
98#define CONNECT_PROXY_SSL()\
99 (conn->http_proxy.proxytype == CURLPROXY_HTTPS &&\
100 !conn->bits.proxy_ssl_connected[sockindex])
101
102#define CONNECT_FIRSTSOCKET_PROXY_SSL()\
103 (conn->http_proxy.proxytype == CURLPROXY_HTTPS &&\
104 !conn->bits.proxy_ssl_connected[FIRSTSOCKET])
105
106#define CONNECT_SECONDARYSOCKET_PROXY_SSL()\
107 (conn->http_proxy.proxytype == CURLPROXY_HTTPS &&\
108 !conn->bits.proxy_ssl_connected[SECONDARYSOCKET])
109
110#endif /* HEADER_CURL_URL_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette