Packages
hackney
3.0.3
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_str.h
/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */
/*
* lsquic_str.h -- Some string routines.
*/
#ifndef LSQUIC_STR_H
#define LSQUIC_STR_H 1
struct lsquic_str
{
char *str;
size_t len;
};
typedef struct lsquic_str lsquic_str_t;
lsquic_str_t *
lsquic_str_new (const char *, size_t);
#define lsquic_str_len(lstr) (+(lstr)->len)
#define lsquic_str_setlen(lstr, len_) do { \
(lstr)->len = len_; \
} while (0)
void
lsquic_str_setto (lsquic_str_t *, const void *, size_t);
int
lsquic_str_append (lsquic_str_t *, const char *, size_t);
void
lsquic_str_d (lsquic_str_t *);
void
lsquic_str_delete (lsquic_str_t *);
char *
lsquic_str_prealloc (lsquic_str_t *, size_t);
#define lsquic_str_buf(lstr) ((char *) (lstr)->str)
#define lsquic_str_cstr(lstr) ((const char *) (lstr)->str)
#define lsquic_str_blank(lstr) do { \
(lstr)->str = NULL; \
(lstr)->len = 0; \
} while (0)
int
lsquic_str_bcmp (const void *, const void *);
lsquic_str_t *
lsquic_str_copy (lsquic_str_t *, const lsquic_str_t *);
#define lsquic_str_set(lstr, src, len_) do { \
(lstr)->str = src; \
(lstr)->len = len_; \
} while (0)
#endif