Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:11

0001 #ifndef CURLINC_OPTIONS_H
0002 #define CURLINC_OPTIONS_H
0003 /***************************************************************************
0004  *                                  _   _ ____  _
0005  *  Project                     ___| | | |  _ \| |
0006  *                             / __| | | | |_) | |
0007  *                            | (__| |_| |  _ <| |___
0008  *                             \___|\___/|_| \_\_____|
0009  *
0010  * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
0011  *
0012  * This software is licensed as described in the file COPYING, which
0013  * you should have received as part of this distribution. The terms
0014  * are also available at https://curl.se/docs/copyright.html.
0015  *
0016  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
0017  * copies of the Software, and permit persons to whom the Software is
0018  * furnished to do so, under the terms of the COPYING file.
0019  *
0020  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
0021  * KIND, either express or implied.
0022  *
0023  * SPDX-License-Identifier: curl
0024  *
0025  ***************************************************************************/
0026 
0027 #ifdef  __cplusplus
0028 extern "C" {
0029 #endif
0030 
0031 typedef enum {
0032   CURLOT_LONG,    /* long (a range of values) */
0033   CURLOT_VALUES,  /*      (a defined set or bitmask) */
0034   CURLOT_OFF_T,   /* curl_off_t (a range of values) */
0035   CURLOT_OBJECT,  /* pointer (void *) */
0036   CURLOT_STRING,  /*         (char * to null-terminated buffer) */
0037   CURLOT_SLIST,   /*         (struct curl_slist *) */
0038   CURLOT_CBPTR,   /*         (void * passed as-is to a callback) */
0039   CURLOT_BLOB,    /* blob (struct curl_blob *) */
0040   CURLOT_FUNCTION /* function pointer */
0041 } curl_easytype;
0042 
0043 /* Flag bits */
0044 
0045 /* "alias" means it is provided for old programs to remain functional,
0046    we prefer another name */
0047 #define CURLOT_FLAG_ALIAS (1<<0)
0048 
0049 /* The CURLOPTTYPE_* id ranges can still be used to figure out what type/size
0050    to use for curl_easy_setopt() for the given id */
0051 struct curl_easyoption {
0052   const char *name;
0053   CURLoption id;
0054   curl_easytype type;
0055   unsigned int flags;
0056 };
0057 
0058 CURL_EXTERN const struct curl_easyoption *
0059 curl_easy_option_by_name(const char *name);
0060 
0061 CURL_EXTERN const struct curl_easyoption *
0062 curl_easy_option_by_id(CURLoption id);
0063 
0064 CURL_EXTERN const struct curl_easyoption *
0065 curl_easy_option_next(const struct curl_easyoption *prev);
0066 
0067 #ifdef __cplusplus
0068 } /* end of extern "C" */
0069 #endif
0070 #endif /* CURLINC_OPTIONS_H */