dhewm3-libs/i686-w64-mingw32/include/curl/header.h
Daniel Gibson a374be9917 Update libCURL to 7.87.1
that's almost recent and fixes building Yamagi Quake II (which supports
using dhewm3-libs as YQUAKE2LIBS in its CMake build, esp. relevant
when building with MSVC).

This time it's build with Visual Studio 2019 instead of MinGW
(`nmake /f Makefile.vc mode=dll` in VS developer console); the curl
nmake files had to be adjusted a bit to output libcurl-4.dll instead of
libcurl.dll (I didn't want to change the DLL name in dhewm3 builds), and
libcurl-4.lib had to be manually renamed to libcurl.lib for the dhewm3
and YQ2 builds to still work.
You may have to delete and recreate your existing CMake build directories
if you used them with dhewm3-libs from before this commit.
I successfully tested this with dhewm3 with both MinGW (YQ2 buildenv)
and VS2019, 32bit (x86) and 64bit (x64), and Yamagi Quake II with
VS2019 x86+x64 - apparently MinGW is happy to use the MSVC .lib file
and doesn't require the .dll.a for linking.

Thanks to Yamagi for giving me the curl builds so I could integrate them!
2023-03-26 00:49:53 +01:00

74 lines
2.8 KiB
C

#ifndef CURLINC_HEADER_H
#define CURLINC_HEADER_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
* SPDX-License-Identifier: curl
*
***************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
struct curl_header {
char *name; /* this might not use the same case */
char *value;
size_t amount; /* number of headers using this name */
size_t index; /* ... of this instance, 0 or higher */
unsigned int origin; /* see bits below */
void *anchor; /* handle privately used by libcurl */
};
/* 'origin' bits */
#define CURLH_HEADER (1<<0) /* plain server header */
#define CURLH_TRAILER (1<<1) /* trailers */
#define CURLH_CONNECT (1<<2) /* CONNECT headers */
#define CURLH_1XX (1<<3) /* 1xx headers */
#define CURLH_PSEUDO (1<<4) /* pseudo headers */
typedef enum {
CURLHE_OK,
CURLHE_BADINDEX, /* header exists but not with this index */
CURLHE_MISSING, /* no such header exists */
CURLHE_NOHEADERS, /* no headers at all exist (yet) */
CURLHE_NOREQUEST, /* no request with this number was used */
CURLHE_OUT_OF_MEMORY, /* out of memory while processing */
CURLHE_BAD_ARGUMENT, /* a function argument was not okay */
CURLHE_NOT_BUILT_IN /* if API was disabled in the build */
} CURLHcode;
CURL_EXTERN CURLHcode curl_easy_header(CURL *easy,
const char *name,
size_t index,
unsigned int origin,
int request,
struct curl_header **hout);
CURL_EXTERN struct curl_header *curl_easy_nextheader(CURL *easy,
unsigned int origin,
int request,
struct curl_header *prev);
#ifdef __cplusplus
} /* end of extern "C" */
#endif
#endif /* CURLINC_HEADER_H */