/* * yuarel.h * * Created on: 2022/12/9 * Author: folus */ #ifndef YUAREL_H_ #define YUAREL_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include struct yuarel { char *scheme; /* scheme, without ":" and "//" */ char *username; /* username, default: NULL */ char *password; /* password, default: NULL */ char *host; /* hostname or IP address */ int port; /* port, default: 0 */ char *path; /* path, without leading "/", default: NULL */ char *query; /* query, default: NULL */ char *fragment; /* fragment, default: NULL */ }; /* A struct to hold the query string parameter values. */ struct yuarel_param { char *key; char *val; }; extern int yuarel_parse(struct yuarel *url, char *url_str); extern int yuarel_split_path(char *path, char **parts, int max_parts); extern int yuarel_parse_query(char *query, char delimiter, struct yuarel_param *params, int max_params); #endif /* YUAREL_H_ */