licentivo-launch 0.1.1

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.
Files changed (143) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +35 -0
  4. data/ext/launch_native/extconf.rb +28 -0
  5. data/lib/licentivo_launch/vendor/licentivo.rb +262 -0
  6. data/lib/licentivo_launch.rb +352 -0
  7. data/vendor/LICENSE +21 -0
  8. data/vendor/NOTICE +17 -0
  9. data/vendor/VERSION +1 -0
  10. data/vendor/c/app.c +33 -0
  11. data/vendor/c/demo.c +77 -0
  12. data/vendor/c/feature_tasks.h +72 -0
  13. data/vendor/c/licentivo.c +382 -0
  14. data/vendor/c/licentivo.h +67 -0
  15. data/vendor/c/quickstart.c +51 -0
  16. data/vendor/c/test_vectors.c +4 -0
  17. data/vendor/c/vendor/Monocypher-LICENCE.md +173 -0
  18. data/vendor/c/vendor/cJSON-LICENSE +20 -0
  19. data/vendor/c/vendor/cJSON.c +3191 -0
  20. data/vendor/c/vendor/cJSON.h +306 -0
  21. data/vendor/c/vendor/monocypher-ed25519.c +500 -0
  22. data/vendor/c/vendor/monocypher-ed25519.h +140 -0
  23. data/vendor/c/vendor/monocypher.c +2956 -0
  24. data/vendor/c/vendor/monocypher.h +321 -0
  25. data/vendor/curl/COPYING.txt +22 -0
  26. data/vendor/curl/bin/libcurl-x64.dll +0 -0
  27. data/vendor/curl/include/brotli/decode.h +409 -0
  28. data/vendor/curl/include/brotli/encode.h +505 -0
  29. data/vendor/curl/include/brotli/port.h +302 -0
  30. data/vendor/curl/include/brotli/shared_dictionary.h +100 -0
  31. data/vendor/curl/include/brotli/types.h +83 -0
  32. data/vendor/curl/include/curl/curl.h +3374 -0
  33. data/vendor/curl/include/curl/curlver.h +77 -0
  34. data/vendor/curl/include/curl/easy.h +123 -0
  35. data/vendor/curl/include/curl/header.h +74 -0
  36. data/vendor/curl/include/curl/mprintf.h +85 -0
  37. data/vendor/curl/include/curl/multi.h +561 -0
  38. data/vendor/curl/include/curl/options.h +70 -0
  39. data/vendor/curl/include/curl/stdcheaders.h +35 -0
  40. data/vendor/curl/include/curl/system.h +399 -0
  41. data/vendor/curl/include/curl/typecheck-gcc.h +964 -0
  42. data/vendor/curl/include/curl/urlapi.h +156 -0
  43. data/vendor/curl/include/curl/websockets.h +98 -0
  44. data/vendor/curl/include/libpsl.h +207 -0
  45. data/vendor/curl/include/libssh2.h +1516 -0
  46. data/vendor/curl/include/libssh2_publickey.h +128 -0
  47. data/vendor/curl/include/libssh2_sftp.h +382 -0
  48. data/vendor/curl/include/nghttp2/nghttp2.h +6878 -0
  49. data/vendor/curl/include/nghttp2/nghttp2ver.h +42 -0
  50. data/vendor/curl/include/nghttp3/nghttp3.h +3704 -0
  51. data/vendor/curl/include/nghttp3/version.h +46 -0
  52. data/vendor/curl/include/ngtcp2/ngtcp2.h +7485 -0
  53. data/vendor/curl/include/ngtcp2/ngtcp2_crypto.h +1071 -0
  54. data/vendor/curl/include/ngtcp2/ngtcp2_crypto_quictls.h +147 -0
  55. data/vendor/curl/include/ngtcp2/version.h +51 -0
  56. data/vendor/curl/include/openssl/aes.h +120 -0
  57. data/vendor/curl/include/openssl/asn1.h +1121 -0
  58. data/vendor/curl/include/openssl/asn1t.h +996 -0
  59. data/vendor/curl/include/openssl/bio.h +716 -0
  60. data/vendor/curl/include/openssl/blowfish.h +106 -0
  61. data/vendor/curl/include/openssl/bn.h +480 -0
  62. data/vendor/curl/include/openssl/buffer.h +102 -0
  63. data/vendor/curl/include/openssl/camellia.h +121 -0
  64. data/vendor/curl/include/openssl/cast.h +99 -0
  65. data/vendor/curl/include/openssl/chacha.h +54 -0
  66. data/vendor/curl/include/openssl/cmac.h +81 -0
  67. data/vendor/curl/include/openssl/cms.h +541 -0
  68. data/vendor/curl/include/openssl/comp.h +7 -0
  69. data/vendor/curl/include/openssl/conf.h +189 -0
  70. data/vendor/curl/include/openssl/crypto.h +458 -0
  71. data/vendor/curl/include/openssl/ct.h +567 -0
  72. data/vendor/curl/include/openssl/curve25519.h +104 -0
  73. data/vendor/curl/include/openssl/des.h +215 -0
  74. data/vendor/curl/include/openssl/dh.h +245 -0
  75. data/vendor/curl/include/openssl/dsa.h +263 -0
  76. data/vendor/curl/include/openssl/dtls1.h +107 -0
  77. data/vendor/curl/include/openssl/ec.h +675 -0
  78. data/vendor/curl/include/openssl/ecdh.h +6 -0
  79. data/vendor/curl/include/openssl/ecdsa.h +6 -0
  80. data/vendor/curl/include/openssl/engine.h +215 -0
  81. data/vendor/curl/include/openssl/err.h +325 -0
  82. data/vendor/curl/include/openssl/evp.h +1288 -0
  83. data/vendor/curl/include/openssl/hkdf.h +65 -0
  84. data/vendor/curl/include/openssl/hmac.h +101 -0
  85. data/vendor/curl/include/openssl/idea.h +99 -0
  86. data/vendor/curl/include/openssl/kdf.h +137 -0
  87. data/vendor/curl/include/openssl/lhash.h +179 -0
  88. data/vendor/curl/include/openssl/md4.h +105 -0
  89. data/vendor/curl/include/openssl/md5.h +99 -0
  90. data/vendor/curl/include/openssl/mlkem.h +236 -0
  91. data/vendor/curl/include/openssl/modes.h +118 -0
  92. data/vendor/curl/include/openssl/obj_mac.h +4646 -0
  93. data/vendor/curl/include/openssl/objects.h +137 -0
  94. data/vendor/curl/include/openssl/ocsp.h +484 -0
  95. data/vendor/curl/include/openssl/opensslconf.h +16 -0
  96. data/vendor/curl/include/openssl/opensslfeatures.h +153 -0
  97. data/vendor/curl/include/openssl/opensslv.h +18 -0
  98. data/vendor/curl/include/openssl/ossl_typ.h +196 -0
  99. data/vendor/curl/include/openssl/pem.h +542 -0
  100. data/vendor/curl/include/openssl/pkcs12.h +284 -0
  101. data/vendor/curl/include/openssl/pkcs7.h +523 -0
  102. data/vendor/curl/include/openssl/poly1305.h +45 -0
  103. data/vendor/curl/include/openssl/posix_time.h +54 -0
  104. data/vendor/curl/include/openssl/rand.h +118 -0
  105. data/vendor/curl/include/openssl/rc2.h +101 -0
  106. data/vendor/curl/include/openssl/rc4.h +88 -0
  107. data/vendor/curl/include/openssl/ripemd.h +107 -0
  108. data/vendor/curl/include/openssl/rsa.h +603 -0
  109. data/vendor/curl/include/openssl/safestack.h +1739 -0
  110. data/vendor/curl/include/openssl/sha.h +190 -0
  111. data/vendor/curl/include/openssl/sm3.h +49 -0
  112. data/vendor/curl/include/openssl/sm4.h +47 -0
  113. data/vendor/curl/include/openssl/srtp.h +148 -0
  114. data/vendor/curl/include/openssl/ssl.h +2336 -0
  115. data/vendor/curl/include/openssl/ssl3.h +441 -0
  116. data/vendor/curl/include/openssl/stack.h +99 -0
  117. data/vendor/curl/include/openssl/tls1.h +764 -0
  118. data/vendor/curl/include/openssl/ts.h +660 -0
  119. data/vendor/curl/include/openssl/txt_db.h +112 -0
  120. data/vendor/curl/include/openssl/ui.h +397 -0
  121. data/vendor/curl/include/openssl/x509.h +1037 -0
  122. data/vendor/curl/include/openssl/x509_vfy.h +464 -0
  123. data/vendor/curl/include/openssl/x509v3.h +1039 -0
  124. data/vendor/curl/include/zconf.h +206 -0
  125. data/vendor/curl/include/zdict.h +481 -0
  126. data/vendor/curl/include/zlib.h +1859 -0
  127. data/vendor/curl/include/zlib_name_mangling.h +8 -0
  128. data/vendor/curl/include/zstd.h +3198 -0
  129. data/vendor/curl/include/zstd_errors.h +107 -0
  130. data/vendor/curl/lib/libcurl.dll.a +0 -0
  131. data/vendor/curl/licenses/brotli/LICENSE.txt +19 -0
  132. data/vendor/curl/licenses/certdata/LICENSE.url +2 -0
  133. data/vendor/curl/licenses/libpsl/COPYING.txt +20 -0
  134. data/vendor/curl/licenses/libressl/COPYING.txt +133 -0
  135. data/vendor/curl/licenses/libssh2/COPYING.txt +43 -0
  136. data/vendor/curl/licenses/nghttp2/COPYING.txt +23 -0
  137. data/vendor/curl/licenses/nghttp3/COPYING.txt +22 -0
  138. data/vendor/curl/licenses/ngtcp2/COPYING.txt +22 -0
  139. data/vendor/curl/licenses/psl/LICENSE.txt +373 -0
  140. data/vendor/curl/licenses/trurl/COPYING.txt +22 -0
  141. data/vendor/curl/licenses/zlibng/LICENSE.md +19 -0
  142. data/vendor/curl/licenses/zstd/LICENSE.txt +30 -0
  143. metadata +205 -0
@@ -0,0 +1,77 @@
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.23.0"
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 23
41
+ #define LIBCURL_VERSION_PATCH 0
42
+ /* This is the numeric version of the libcurl version number, meant for easier
43
+ parsing and comparisons by programs. The LIBCURL_VERSION_NUM define always
44
+ follows this syntax:
45
+
46
+ 0xXXYYZZ
47
+
48
+ Where XX, YY and ZZ are the main version, release and patch numbers in
49
+ hexadecimal (using 8 bits each). All three numbers are always represented
50
+ using two digits. Version 1.2 would appear as "0x010200" while 9.11.7
51
+ appears as "0x090b07".
52
+
53
+ This 6-digit (24 bits) hexadecimal number does not show pre-release number,
54
+ and it is always a greater number in a more recent release. It makes
55
+ comparisons with greater than and less than work.
56
+
57
+ Note: This define is the full hex number and _does not_ use the
58
+ CURL_VERSION_BITS() macro since curl's own configure script greps for it
59
+ and needs it to contain the full number. */
60
+ #define LIBCURL_VERSION_NUM 0x081700
61
+
62
+ /*
63
+ * This is the date and time when the full source package was created. The
64
+ * timestamp is not stored in git, as the timestamp is properly set in the
65
+ * tarballs by the maketgz script.
66
+ *
67
+ * The format of the date follows this template:
68
+ *
69
+ * "2007-11-23"
70
+ */
71
+ #define LIBCURL_TIMESTAMP "2026-10-14"
72
+
73
+ #define CURL_VERSION_BITS(x, y, z) ((x) << 16 | (y) << 8 | (z))
74
+ #define CURL_AT_LEAST_VERSION(x, y, z) \
75
+ (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))
76
+
77
+ #endif /* CURLINC_CURLVER_H */
@@ -0,0 +1,123 @@
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 man page of the option. The data pointed to
54
+ * is 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
+ * NAME curl_easy_duphandle()
63
+ *
64
+ * DESCRIPTION
65
+ *
66
+ * Creates a new curl session handle with the same options set for the handle
67
+ * passed in. Duplicating a handle could only be a matter of cloning data and
68
+ * options, internal state info and things like persistent connections cannot
69
+ * be transferred. It is useful in multi-threaded applications when you can run
70
+ * curl_easy_duphandle() for each new thread to avoid a series of identical
71
+ * curl_easy_setopt() invokes in every thread.
72
+ */
73
+ CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl);
74
+
75
+ /*
76
+ * NAME curl_easy_reset()
77
+ *
78
+ * DESCRIPTION
79
+ *
80
+ * Re-initializes a curl handle to the default values. This puts back the
81
+ * handle to the same state as it was in when it was created.
82
+ *
83
+ * It does keep: live connections, the Session ID cache, the DNS cache and the
84
+ * cookies.
85
+ */
86
+ CURL_EXTERN void curl_easy_reset(CURL *curl);
87
+
88
+ /*
89
+ * NAME curl_easy_recv()
90
+ *
91
+ * DESCRIPTION
92
+ *
93
+ * Receives data from the connected socket. Use after successful
94
+ * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
95
+ */
96
+ CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen,
97
+ size_t *n);
98
+
99
+ /*
100
+ * NAME curl_easy_send()
101
+ *
102
+ * DESCRIPTION
103
+ *
104
+ * Sends data over the connected socket. Use after successful
105
+ * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
106
+ */
107
+ CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
108
+ size_t buflen, size_t *n);
109
+
110
+ /*
111
+ * NAME curl_easy_upkeep()
112
+ *
113
+ * DESCRIPTION
114
+ *
115
+ * Performs connection upkeep for the given session handle.
116
+ */
117
+ CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl);
118
+
119
+ #ifdef __cplusplus
120
+ } /* end of extern "C" */
121
+ #endif
122
+
123
+ #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 *curl,
59
+ const char *name,
60
+ size_t nameindex,
61
+ unsigned int origin,
62
+ int request,
63
+ struct curl_header **hout);
64
+
65
+ CURL_EXTERN struct curl_header *curl_easy_nextheader(CURL *curl,
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
+ #ifdef __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 */