curl-curl/docs/examples
Viktor Szakats 308c347c8b
tidy-up: miscellaneous
- apply more clang-format.
- lib/version: use `CURL_ARRAYSIZE()`.
- INSTALL-CMAKE.md: sync-up an option description with others.
- examples: delete unused main args.
- examples/ftpgetinfo: document `_CRT_SECURE_NO_WARNINGS` symbol.
- delete remaining stray duplicate lines.
- acinclude.m4: drop an unnecessary x-hack.
- vtls/mbedtls: join a URL split into two lines.
- src/tool_cb_see: add parentheses around macro expressions.
- src/tool_operate: move literals to the right side of comparisons.
- libtests: sync up fopen/fstat error messages between tests.
- curl_setup.h: replace `if ! defined __LP64` with `ifndef __LP64`.
  I assume it makes no difference on Tandem systems, as the latter form
  is already used in `include/curl/system.h`.

Closes #20018
2025-12-18 21:27:58 +01:00
..
.checksrc build: stop overriding standard memory allocation functions 2025-11-28 10:44:26 +01:00
.gitignore examples/threaded-ssl: delete in favor of examples/threaded 2025-12-17 00:32:20 +01:00
10-at-a-time.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
adddocsref.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
address-scope.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
altsvc.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
anyauthput.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
block_ip.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
cacertinmem.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
certinfo.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
chkspeed.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
CMakeLists.txt build: tidy-up MSVC CRT warning suppression macros 2025-11-18 00:49:26 +01:00
connect-to.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
cookie_interface.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
crawler.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
debug.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
default-scheme.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ephiperfifo.c tidy-up: miscellaneous 2025-12-18 21:27:58 +01:00
evhiperfifo.c tidy-up: miscellaneous 2025-12-18 21:27:58 +01:00
externalsocket.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
fileupload.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ftp-delete.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ftp-wildcard.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ftpget.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ftpgetinfo.c tidy-up: miscellaneous 2025-12-18 21:27:58 +01:00
ftpgetresp.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ftpsget.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ftpupload.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ftpuploadfrommem.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ftpuploadresume.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
getinfo.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
getinmemory.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
getredirect.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
getreferrer.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ghiper.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
headerapi.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
hiperfifo.c tidy-up: miscellaneous 2025-12-18 21:27:58 +01:00
hsts-preload.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
htmltidy.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
htmltitle.cpp docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
http2-download.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
http2-pushinmemory.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
http2-serverpush.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
http2-upload.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
http3-present.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
http3.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
http-options.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
http-post.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
httpcustomheader.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
httpput-postfields.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
httpput.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
https.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-append.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-authzid.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-copy.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-create.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-delete.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-examine.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-fetch.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-list.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-lsub.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-multi.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-noop.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-search.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-ssl.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-store.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
imap-tls.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
interface.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
ipv6.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
keepalive.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
localport.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
log_failed_transfers.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
Makefile.am cmake: support building some complicated examples, build them in CI 2025-10-07 19:09:02 +02:00
Makefile.example Makefile.example: make default options more likely to work 2025-10-20 13:52:58 +02:00
Makefile.inc examples/threaded-ssl: delete in favor of examples/threaded 2025-12-17 00:32:20 +01:00
maxconnects.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
multi-app.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
multi-debugcallback.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
multi-double.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
multi-event.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
multi-formadd.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
multi-legacy.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
multi-post.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
multi-single.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
multi-uv.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
netrc.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
parseurl.c examples: tidy-up headers and includes 2025-11-18 02:05:07 +01:00
persistent.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-authzid.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-dele.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-list.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-multi.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-noop.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-retr.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-ssl.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-stat.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-tls.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-top.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
pop3-uidl.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
post-callback.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
postinmemory.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
postit2-formadd.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
postit2.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
progressfunc.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
protofeats.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
range.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
README.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
resolve.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
rtsp-options.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
sendrecv.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
sepheaders.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
sessioninfo.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
sftpget.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
sftpuploadresume.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
shared-connection-cache.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
simple.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
simplepost.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
simplessl.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
smooth-gtk-thread.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
smtp-authzid.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
smtp-expn.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
smtp-mail.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
smtp-mime.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
smtp-multi.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
smtp-ssl.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
smtp-tls.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
smtp-vrfy.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
sslbackend.c example: fix formatting nits 2025-11-28 15:01:59 +01:00
synctime.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
threaded.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
unixsocket.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
url2file.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
urlapi.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
usercertinmem.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
version-check.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
websocket-cb.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
websocket-updown.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
websocket.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00
xmlstream.c docs: rename CURLcode variables to 'result' 2025-12-17 08:55:12 +01:00

libcurl examples

This directory is for libcurl programming examples. They are meant to show some simple steps on how you can build your own application to take full advantage of libcurl.

If you end up with other small but still useful example sources, please mail them for submission in future packages and on the website.

Building

The Makefile.example is an example Makefile that could be used to build these examples. Just edit the file according to your system and requirements first.

Most examples should build fine using a command line like this:

`curl-config --cc --cflags --libs` -o example-my example.c

Some compilers do not like having the arguments in this order but instead want you do reorganize them like:

`curl-config --cc` -o example-my example.c `curl-config --cflags --libs`

Please do not use the curl.se site as a test target for your libcurl applications/experiments. Even if some of the examples use that site as a URL at some places, it does not mean that the URLs work or that we expect you to actually torture our website with your tests. Thanks.

Examples

Each example source code file is designed to be and work stand-alone and rather self-explanatory. The examples may at times lack the level of error checks you need in a real world, but that is then only for the sake of readability: to make the code smaller and easier to follow.