34 #ifdef HAVE_SYS_TYPES_H
35 #include <sys/types.h>
41 #if defined(_MSC_FULL_VER) && ! defined (_SSIZE_T_DEFINED)
42 #define _SSIZE_T_DEFINED
43 typedef intptr_t ssize_t;
46 #ifdef MHD_FAVOR_SMALL_CODE
47 #include "mhd_limits.h"
50 #ifndef MHD_STATICSTR_LEN_
54 #define MHD_STATICSTR_LEN_(macro) (sizeof(macro) / sizeof(char) - 1)
66 #define _MHD_S_STR_W_LEN(str) { str, MHD_STATICSTR_LEN_(str) }
74 #ifndef MHD_FAVOR_SMALL_CODE
87 #define MHD_str_equal_caseless_(s1,s2) MHD_str_equal_caseless_n_ ((s1),(s2), \
104 const char *
const str2,
119 const char *
const str2,
138 const char *
const token,
151 #define MHD_str_has_s_token_caseless_(str,tkn) \
152 MHD_str_has_token_caseless_ ((str),(tkn),MHD_STATICSTR_LEN_ (tkn))
186 const char *
const token,
187 const size_t token_len,
218 const char *
const tokens,
219 const size_t tokens_len);
222 #ifndef MHD_FAVOR_SMALL_CODE
339 MHD_str_to_uvalue_n_ (
const char *str,
346 #define MHD_str_to_uint64_(s,ov) MHD_str_to_uvalue_n_ ((s),SIZE_MAX,(ov), \
350 #define MHD_str_to_uint64_n_(s,ml,ov) MHD_str_to_uvalue_n_ ((s),(ml),(ov), \
354 #define MHD_strx_to_sizet_(s,ov) MHD_str_to_uvalue_n_ ((s),SIZE_MAX,(ov), \
355 sizeof(size_t),SIZE_MAX, \
358 #define MHD_strx_to_sizet_n_(s,ml,ov) MHD_str_to_uvalue_n_ ((s),(ml),(ov), \
362 #define MHD_strx_to_uint32_(s,ov) MHD_str_to_uvalue_n_ ((s),SIZE_MAX,(ov), \
366 #define MHD_strx_to_uint32_n_(s,ml,ov) MHD_str_to_uvalue_n_ ((s),(ml),(ov), \
370 #define MHD_strx_to_uint64_(s,ov) MHD_str_to_uvalue_n_ ((s),SIZE_MAX,(ov), \
374 #define MHD_strx_to_uint64_n_(s,ml,ov) MHD_str_to_uvalue_n_ ((s),(ml),(ov), \
396 #ifndef MHD_FAVOR_SMALL_CODE
412 #define MHD_uint16_to_str(v,b,s) MHD_uint64_to_str(v,b,s)
int MHD_str_equal_caseless_(const char *str1, const char *str2)
size_t MHD_strx_to_uint32_(const char *str, uint32_t *out_val)
size_t MHD_str_to_uint64_n_(const char *str, size_t maxlen, uint64_t *out_val)
size_t MHD_strx_to_uint64_n_(const char *str, size_t maxlen, uint64_t *out_val)
int MHD_str_equal_caseless_n_(const char *const str1, const char *const str2, size_t maxlen)
size_t MHD_str_to_uint64_(const char *str, uint64_t *out_val)
bool MHD_str_has_token_caseless_(const char *str, const char *const token, size_t token_len)
size_t MHD_strx_to_uint64_(const char *str, uint64_t *out_val)
size_t MHD_strx_to_uint32_n_(const char *str, size_t maxlen, uint32_t *out_val)
additional automatic macros for MHD_config.h
size_t MHD_uint8_to_str_pad(uint8_t val, uint8_t min_digits, char *buf, size_t buf_size)
bool MHD_str_remove_tokens_caseless_(char *str, size_t *str_len, const char *const tokens, const size_t tokens_len)
size_t MHD_uint16_to_str(uint16_t val, char *buf, size_t buf_size)
size_t MHD_uint64_to_str(uint64_t val, char *buf, size_t buf_size)
bool MHD_str_remove_token_caseless_(const char *str, size_t str_len, const char *const token, const size_t token_len, char *buf, ssize_t *buf_size)
bool MHD_str_equal_caseless_bin_n_(const char *const str1, const char *const str2, size_t len)
size_t MHD_uint32_to_strx(uint32_t val, char *buf, size_t buf_size)