curl/docs
Viktor Szakats e9a7d4a1c8
windows: use built-in _WIN32 macro to detect Windows
Windows compilers define `_WIN32` automatically. Windows SDK headers
or build env defines `WIN32`, or we have to take care of it. The
agreement seems to be that `_WIN32` is the preferred practice here.
Make the source code rely on that to detect we're building for Windows.

Public `curl.h` was using `WIN32`, `__WIN32__` and `CURL_WIN32` for
Windows detection, next to the official `_WIN32`. After this patch it
only uses `_WIN32` for this. Also, make it stop defining `CURL_WIN32`.

There is a slight chance these break compatibility with Windows
compilers that fail to define `_WIN32`. I'm not aware of any obsolete
or modern compiler affected, but in case there is one, one possible
solution is to define this macro manually.

grepping for `WIN32` remains useful to discover Windows-specific code.

Also:

- extend `checksrc` to ensure we're not using `WIN32` anymore.

- apply minor formatting here and there.

- delete unnecessary checks for `!MSDOS` when `_WIN32` is present.

Co-authored-by: Jay Satiro
Reviewed-by: Daniel Stenberg

Closes #12376
2023-11-22 15:42:25 +00:00
..
cmdline-opts resolve.d: drop a multi use-sentence 2023-11-08 12:40:24 +01:00
examples windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
libcurl windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
.gitignore
ALTSVC.md
BINDINGS.md BINDINGS: add V binding 2023-10-23 07:57:31 +02:00
BUFQ.md
BUFREF.md
BUG-BOUNTY.md
BUGS.md
CHECKSRC.md
CIPHERS.md
CMakeLists.txt
CODE_OF_CONDUCT.md
CODE_REVIEW.md
CODE_STYLE.md
CONNECTION-FILTERS.md
CONTRIBUTE.md
curl-config.1
CURL-DISABLE.md
DEPRECATE.md
DYNBUF.md
EARLY-RELEASE.md
EXPERIMENTAL.md HTTP3: ngtcp2 builds are no longer experimental 2023-10-31 14:31:46 +01:00
FAQ tidy-up: use more example domains 2023-09-29 18:25:56 +00:00
FEATURES.md FEATURES: update the URL phrasing 2023-11-22 13:26:51 +01:00
GOVERNANCE.md
HELP-US.md
HISTORY.md
HSTS.md
HTTP2.md
HTTP3.md HTTP3: ngtcp2 builds are no longer experimental 2023-10-31 14:31:46 +01:00
HTTP-COOKIES.md
HYPER.md hyper: temporarily remove HTTP/2 support 2023-11-20 11:01:48 +01:00
INSTALL
INSTALL.cmake
INSTALL.md build: require Windows XP or newer 2023-10-30 10:46:40 +00:00
INTERNALS.md
IPFS.md IPFS: bugfixes 2023-11-11 23:28:13 +01:00
KNOWN_BUGS docs: KNOWN_BUGS cleanup 2023-11-05 10:39:32 +01:00
MAIL-ETIQUETTE
Makefile.am docs: preserve the modification date when copying the prebuilt man page 2023-11-04 19:39:48 +01:00
MANUAL.md tidy-up: use more example domains 2023-09-29 18:25:56 +00:00
mk-ca-bundle.1
MQTT.md tidy-up: use more example domains 2023-09-29 18:25:56 +00:00
NEW-PROTOCOL.md
options-in-versions
PARALLEL-TRANSFERS.md
README.md
RELEASE-PROCEDURE.md RELEASE-PROCEDURE.md: updated coming release dates 2023-10-02 13:31:51 +02:00
ROADMAP.md
RUSTLS.md
SECURITY-ADVISORY.md
SSL-PROBLEMS.md
SSLCERTS.md
THANKS THANKS: add contributors from 8.4.0 2023-10-11 07:34:19 +02:00
THANKS-filter THANKS: add contributors from 8.4.0 2023-10-11 07:34:19 +02:00
TheArtOfHttpScripting.md tidy-up: use more example domains 2023-09-29 18:25:56 +00:00
TODO TODO: Some TLS options are not offered for HTTPS proxies 2023-11-16 23:41:21 +01:00
URL-SYNTAX.md
VERSIONS.md
VULN-DISCLOSURE-POLICY.md VULN-DISCLOSURE-POLIC: remove broken link to hackerone 2023-11-11 23:16:52 +01:00
WEBSOCKET.md

curl logo

Documentation

you will find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.

If you would rather see the rendered version of the documentation, check out the curl website's documentation section for general curl stuff or the libcurl section for libcurl related documentation.