Packages
hackney
2.0.1
4.7.2
4.7.1
4.7.0
4.6.1
4.6.0
4.5.2
4.5.1
4.5.0
4.4.5
4.4.3
4.4.2
4.4.1
4.4.0
4.3.0
4.2.3
4.2.2
4.2.1
4.2.0
4.1.0
4.0.3
4.0.2
4.0.1
4.0.0
3.2.1
3.2.0
3.1.2
3.1.1
3.1.0
3.0.3
3.0.2
3.0.1
3.0.0
retired
2.0.1
2.0.0
2.0.0-beta.1
1.25.0
1.24.1
1.24.0
1.23.0
1.22.0
1.21.0
1.20.1
1.20.0
1.19.1
1.19.0
1.18.2
1.18.1
1.18.0
1.17.4
1.17.3
1.17.2
1.17.1
1.17.0
1.16.0
1.15.2
1.15.1
1.15.0
1.14.3
1.14.2
1.14.0
1.13.0
1.12.1
1.12.0
1.11.0
1.10.1
1.10.0
1.9.0
1.8.6
1.8.5
1.8.4
1.8.3
1.8.2
1.8.0
1.7.1
1.7.0
1.6.6
retired
1.6.5
1.6.4
retired
1.6.3
1.6.2
1.6.1
1.6.0
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.10
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
1.3.1
1.3.0
1.2.0
1.1.0
1.0.6
1.0.5
1.0.2
1.0.1
0.15.2
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.1
Simple HTTP client with HTTP/1.1, HTTP/2, and HTTP/3 support
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
c_src/lsquic/src/liblsquic/lsquic_util.h
/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */
/*
* lsquic_util.h -- Utility functions
*/
#ifndef LSQUIC_UTIL_H
#define LSQUIC_UTIL_H 1
#ifdef __cplusplus
extern "C" {
#endif
struct sockaddr;
lsquic_time_t
lsquic_time_now (void);
void
lsquic_init_timers (void);
/* Returns 1 if `buf' contains only zero bytes, 0 otherwise.
*/
int
lsquic_is_zero (const void *buf, size_t bufsz);
char *
lsquic_get_bin_str (const void *s, size_t len, size_t max_display_len);
size_t
lsquic_hex_encode (const void *src, size_t src_sz, void *dst, size_t dst_sz);
/* `out_sz' is assumed to be at least 1. `out' is always NUL-terminated. */
size_t
lsquic_hexdump (const void *src, size_t src_sz, char *out, size_t out_sz);
void
lsquic_hexstr (const unsigned char *buf, size_t bufsz, char *out, size_t outsz);
#define HEXSTR(buf, bufsz, out) \
(lsquic_hexstr(buf, bufsz, out, sizeof(out)), out)
int
lsquic_sockaddr_eq (const struct sockaddr *a, const struct sockaddr *b);
void
lsquic_sockaddr2str (const struct sockaddr *addr, char *buf, size_t sz);
#define SA2STR(sa_, buf_) (lsquic_sockaddr2str(sa_, buf_, sizeof(buf_)), buf_)
#ifdef _MSC_VER
char *
lsquic_strndup(const char *s, size_t n);
#define strndup lsquic_strndup
#endif
#ifdef __cplusplus
}
#endif
#endif