23#ifndef MUTT_EMAIL_URL_H
24#define MUTT_EMAIL_URL_H
50#define U_PATH (1 << 1)
86int url_tostring (
const struct Url *url,
char *buf,
size_t buflen, uint8_t flags);
Convenience wrapper for the library headers.
#define STAILQ_HEAD(name, type)
String manipulation buffer.
STAILQ_ENTRY(UrlQuery) entries
Linked list.
A parsed URL proto://user:password@host:port/path?a=1&b=2
struct UrlQueryList query_strings
List of query strings.
char * src
Raw URL string.
enum UrlScheme scheme
Scheme, e.g. U_SMTPS.
int url_pct_decode(char *s)
Decode a percent-encoded string.
UrlScheme
All recognised Url types.
@ U_NOTMUCH
Url is notmuch://.
@ U_UNKNOWN
Url wasn't recognised.
@ U_NNTPS
Url is nntps://.
@ U_MAILTO
Url is mailto://.
@ U_SMTPS
Url is smtps://.
@ U_IMAPS
Url is imaps://.
struct Url * url_parse(const char *src)
Fill in Url.
enum UrlScheme url_check_scheme(const char *s)
Check the protocol of a URL.
void url_free(struct Url **ptr)
Free the contents of a URL.
int url_tostring(const struct Url *url, char *buf, size_t buflen, uint8_t flags)
Output the URL string for a given Url object.
void url_pct_encode(char *buf, size_t buflen, const char *src)
Percent-encode a string.
int url_tobuffer(const struct Url *url, struct Buffer *dest, uint8_t flags)
Output the URL string for a given Url object.