curl_impersonate 0.1.1-x86_64-linux-gnu

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,79 @@
1
+ #ifndef CURLINC_CURLVER_H
2
+ #define CURLINC_CURLVER_H
3
+ /***************************************************************************
4
+ * _ _ ____ _
5
+ * Project ___| | | | _ \| |
6
+ * / __| | | | |_) | |
7
+ * | (__| |_| | _ <| |___
8
+ * \___|\___/|_| \_\_____|
9
+ *
10
+ * Copyright (C) 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 https://curl.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
+ * SPDX-License-Identifier: curl
24
+ *
25
+ ***************************************************************************/
26
+
27
+ /* This header file contains nothing but libcurl version info, generated by
28
+ a script at release-time. This was made its own header file in 7.11.2 */
29
+
30
+ /* This is the global package copyright */
31
+ #define LIBCURL_COPYRIGHT "Daniel Stenberg, <daniel@haxx.se>."
32
+
33
+ /* This is the version number of the libcurl package from which this header
34
+ file origins: */
35
+ #define LIBCURL_VERSION "8.15.0-DEV"
36
+
37
+ /* The numeric version number is also available "in parts" by using these
38
+ defines: */
39
+ #define LIBCURL_VERSION_MAJOR 8
40
+ #define LIBCURL_VERSION_MINOR 15
41
+ #define LIBCURL_VERSION_PATCH 0
42
+
43
+ /* This is the numeric version of the libcurl version number, meant for easier
44
+ parsing and comparisons by programs. The LIBCURL_VERSION_NUM define will
45
+ always follow this syntax:
46
+
47
+ 0xXXYYZZ
48
+
49
+ Where XX, YY and ZZ are the main version, release and patch numbers in
50
+ hexadecimal (using 8 bits each). All three numbers are always represented
51
+ using two digits. 1.2 would appear as "0x010200" while version 9.11.7
52
+ appears as "0x090b07".
53
+
54
+ This 6-digit (24 bits) hexadecimal number does not show pre-release number,
55
+ and it is always a greater number in a more recent release. It makes
56
+ comparisons with greater than and less than work.
57
+
58
+ Note: This define is the full hex number and _does not_ use the
59
+ CURL_VERSION_BITS() macro since curl's own configure script greps for it
60
+ and needs it to contain the full number.
61
+ */
62
+ #define LIBCURL_VERSION_NUM 0x080f00
63
+
64
+ /*
65
+ * This is the date and time when the full source package was created. The
66
+ * timestamp is not stored in git, as the timestamp is properly set in the
67
+ * tarballs by the maketgz script.
68
+ *
69
+ * The format of the date follows this template:
70
+ *
71
+ * "2007-11-23"
72
+ */
73
+ #define LIBCURL_TIMESTAMP "[unreleased]"
74
+
75
+ #define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z))
76
+ #define CURL_AT_LEAST_VERSION(x,y,z) \
77
+ (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))
78
+
79
+ #endif /* CURLINC_CURLVER_H */
@@ -0,0 +1,125 @@
1
+ #ifndef CURLINC_EASY_H
2
+ #define CURLINC_EASY_H
3
+ /***************************************************************************
4
+ * _ _ ____ _
5
+ * Project ___| | | | _ \| |
6
+ * / __| | | | |_) | |
7
+ * | (__| |_| | _ <| |___
8
+ * \___|\___/|_| \_\_____|
9
+ *
10
+ * Copyright (C) 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 https://curl.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
+ * SPDX-License-Identifier: curl
24
+ *
25
+ ***************************************************************************/
26
+ #ifdef __cplusplus
27
+ extern "C" {
28
+ #endif
29
+
30
+ /* Flag bits in the curl_blob struct: */
31
+ #define CURL_BLOB_COPY 1 /* tell libcurl to copy the data */
32
+ #define CURL_BLOB_NOCOPY 0 /* tell libcurl to NOT copy the data */
33
+
34
+ struct curl_blob {
35
+ void *data;
36
+ size_t len;
37
+ unsigned int flags; /* bit 0 is defined, the rest are reserved and should be
38
+ left zeroes */
39
+ };
40
+
41
+ CURL_EXTERN CURL *curl_easy_init(void);
42
+ CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
43
+ CURL_EXTERN CURLcode curl_easy_perform(CURL *curl);
44
+ CURL_EXTERN void curl_easy_cleanup(CURL *curl);
45
+
46
+ /*
47
+ * NAME curl_easy_getinfo()
48
+ *
49
+ * DESCRIPTION
50
+ *
51
+ * Request internal information from the curl session with this function.
52
+ * The third argument MUST be pointing to the specific type of the used option
53
+ * which is documented in each manpage of the option. The data pointed to
54
+ * will be filled in accordingly and can be relied upon only if the function
55
+ * returns CURLE_OK. This function is intended to get used *AFTER* a performed
56
+ * transfer, all results from this function are undefined until the transfer
57
+ * is completed.
58
+ */
59
+ CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);
60
+
61
+
62
+ /*
63
+ * NAME curl_easy_duphandle()
64
+ *
65
+ * DESCRIPTION
66
+ *
67
+ * Creates a new curl session handle with the same options set for the handle
68
+ * passed in. Duplicating a handle could only be a matter of cloning data and
69
+ * options, internal state info and things like persistent connections cannot
70
+ * be transferred. It is useful in multithreaded applications when you can run
71
+ * curl_easy_duphandle() for each new thread to avoid a series of identical
72
+ * curl_easy_setopt() invokes in every thread.
73
+ */
74
+ CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl);
75
+
76
+ /*
77
+ * NAME curl_easy_reset()
78
+ *
79
+ * DESCRIPTION
80
+ *
81
+ * Re-initializes a curl handle to the default values. This puts back the
82
+ * handle to the same state as it was in when it was just created.
83
+ *
84
+ * It does keep: live connections, the Session ID cache, the DNS cache and the
85
+ * cookies.
86
+ */
87
+ CURL_EXTERN void curl_easy_reset(CURL *curl);
88
+
89
+ /*
90
+ * NAME curl_easy_recv()
91
+ *
92
+ * DESCRIPTION
93
+ *
94
+ * Receives data from the connected socket. Use after successful
95
+ * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
96
+ */
97
+ CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen,
98
+ size_t *n);
99
+
100
+ /*
101
+ * NAME curl_easy_send()
102
+ *
103
+ * DESCRIPTION
104
+ *
105
+ * Sends data over the connected socket. Use after successful
106
+ * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
107
+ */
108
+ CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
109
+ size_t buflen, size_t *n);
110
+
111
+
112
+ /*
113
+ * NAME curl_easy_upkeep()
114
+ *
115
+ * DESCRIPTION
116
+ *
117
+ * Performs connection upkeep for the given session handle.
118
+ */
119
+ CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl);
120
+
121
+ #ifdef __cplusplus
122
+ } /* end of extern "C" */
123
+ #endif
124
+
125
+ #endif
@@ -0,0 +1,74 @@
1
+ #ifndef CURLINC_HEADER_H
2
+ #define CURLINC_HEADER_H
3
+ /***************************************************************************
4
+ * _ _ ____ _
5
+ * Project ___| | | | _ \| |
6
+ * / __| | | | |_) | |
7
+ * | (__| |_| | _ <| |___
8
+ * \___|\___/|_| \_\_____|
9
+ *
10
+ * Copyright (C) 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 https://curl.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
+ * SPDX-License-Identifier: curl
24
+ *
25
+ ***************************************************************************/
26
+
27
+ #ifdef __cplusplus
28
+ extern "C" {
29
+ #endif
30
+
31
+ struct curl_header {
32
+ char *name; /* this might not use the same case */
33
+ char *value;
34
+ size_t amount; /* number of headers using this name */
35
+ size_t index; /* ... of this instance, 0 or higher */
36
+ unsigned int origin; /* see bits below */
37
+ void *anchor; /* handle privately used by libcurl */
38
+ };
39
+
40
+ /* 'origin' bits */
41
+ #define CURLH_HEADER (1<<0) /* plain server header */
42
+ #define CURLH_TRAILER (1<<1) /* trailers */
43
+ #define CURLH_CONNECT (1<<2) /* CONNECT headers */
44
+ #define CURLH_1XX (1<<3) /* 1xx headers */
45
+ #define CURLH_PSEUDO (1<<4) /* pseudo headers */
46
+
47
+ typedef enum {
48
+ CURLHE_OK,
49
+ CURLHE_BADINDEX, /* header exists but not with this index */
50
+ CURLHE_MISSING, /* no such header exists */
51
+ CURLHE_NOHEADERS, /* no headers at all exist (yet) */
52
+ CURLHE_NOREQUEST, /* no request with this number was used */
53
+ CURLHE_OUT_OF_MEMORY, /* out of memory while processing */
54
+ CURLHE_BAD_ARGUMENT, /* a function argument was not okay */
55
+ CURLHE_NOT_BUILT_IN /* if API was disabled in the build */
56
+ } CURLHcode;
57
+
58
+ CURL_EXTERN CURLHcode curl_easy_header(CURL *easy,
59
+ const char *name,
60
+ size_t index,
61
+ unsigned int origin,
62
+ int request,
63
+ struct curl_header **hout);
64
+
65
+ CURL_EXTERN struct curl_header *curl_easy_nextheader(CURL *easy,
66
+ unsigned int origin,
67
+ int request,
68
+ struct curl_header *prev);
69
+
70
+ #ifdef __cplusplus
71
+ } /* end of extern "C" */
72
+ #endif
73
+
74
+ #endif /* CURLINC_HEADER_H */
@@ -0,0 +1,85 @@
1
+ #ifndef CURLINC_MPRINTF_H
2
+ #define CURLINC_MPRINTF_H
3
+ /***************************************************************************
4
+ * _ _ ____ _
5
+ * Project ___| | | | _ \| |
6
+ * / __| | | | |_) | |
7
+ * | (__| |_| | _ <| |___
8
+ * \___|\___/|_| \_\_____|
9
+ *
10
+ * Copyright (C) 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 https://curl.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
+ * SPDX-License-Identifier: curl
24
+ *
25
+ ***************************************************************************/
26
+
27
+ #include <stdarg.h>
28
+ #include <stdio.h> /* needed for FILE */
29
+ #include "curl.h" /* for CURL_EXTERN */
30
+
31
+ #ifdef __cplusplus
32
+ extern "C" {
33
+ #endif
34
+
35
+ #ifndef CURL_TEMP_PRINTF
36
+ #if (defined(__GNUC__) || defined(__clang__) || \
37
+ defined(__IAR_SYSTEMS_ICC__)) && \
38
+ defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
39
+ !defined(CURL_NO_FMT_CHECKS)
40
+ #if defined(__MINGW32__) && !defined(__clang__)
41
+ #if defined(__MINGW_PRINTF_FORMAT) /* mingw-w64 3.0.0+. Needs stdio.h. */
42
+ #define CURL_TEMP_PRINTF(fmt, arg) \
43
+ __attribute__((format(__MINGW_PRINTF_FORMAT, fmt, arg)))
44
+ #else
45
+ #define CURL_TEMP_PRINTF(fmt, arg)
46
+ #endif
47
+ #else
48
+ #define CURL_TEMP_PRINTF(fmt, arg) \
49
+ __attribute__((format(printf, fmt, arg)))
50
+ #endif
51
+ #else
52
+ #define CURL_TEMP_PRINTF(fmt, arg)
53
+ #endif
54
+ #endif
55
+
56
+ CURL_EXTERN int curl_mprintf(const char *format, ...)
57
+ CURL_TEMP_PRINTF(1, 2);
58
+ CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...)
59
+ CURL_TEMP_PRINTF(2, 3);
60
+ CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...)
61
+ CURL_TEMP_PRINTF(2, 3);
62
+ CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
63
+ const char *format, ...)
64
+ CURL_TEMP_PRINTF(3, 4);
65
+ CURL_EXTERN int curl_mvprintf(const char *format, va_list args)
66
+ CURL_TEMP_PRINTF(1, 0);
67
+ CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args)
68
+ CURL_TEMP_PRINTF(2, 0);
69
+ CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args)
70
+ CURL_TEMP_PRINTF(2, 0);
71
+ CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
72
+ const char *format, va_list args)
73
+ CURL_TEMP_PRINTF(3, 0);
74
+ CURL_EXTERN char *curl_maprintf(const char *format, ...)
75
+ CURL_TEMP_PRINTF(1, 2);
76
+ CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args)
77
+ CURL_TEMP_PRINTF(1, 0);
78
+
79
+ #undef CURL_TEMP_PRINTF
80
+
81
+ #ifdef __cplusplus
82
+ } /* end of extern "C" */
83
+ #endif
84
+
85
+ #endif /* CURLINC_MPRINTF_H */