libtools
url.h
Go to the documentation of this file.
1 
20 #ifndef __TOOLS_URL_H
21 #define __TOOLS_URL_H
22 
23 #include <stdint.h>
24 #include <sys/socket.h>
25 
38 /*------------------------------------------------------------------------*/
39 
41 struct url {
43  char *scheme;
44 
46  char *username;
47 
49  char *password;
50 
52  char *hostname;
53 
55  uint16_t port;
56 
58  char *path;
59 
61  char *query;
62 
64  char *fragment;
65 };
66 
80 struct url *url_parse(const char *s, struct url **u);
81 
86 void url_free(struct url *u);
87 
100 int url2sockaddr(struct url *u, struct sockaddr_storage *sa);
101 
107 socklen_t sockaddr_size(const struct sockaddr_storage *sa);
108 
111 #endif /* __TOOLS_URL_H */
char * scheme
scheme (protocol)
Definition: url.h:43
parserd URL, see url_parse()
Definition: url.h:41
char * query
query to resource
Definition: url.h:61
char * fragment
fragment
Definition: url.h:64
char * password
password for URL
Definition: url.h:49
uint16_t port
port for URL
Definition: url.h:55
int url2sockaddr(struct url *u, struct sockaddr_storage *sa)
Set socket address according to URL.
void url_free(struct url *u)
Free memory used by URL structure.
char * path
path of resource URL
Definition: url.h:58
char * username
username for URL
Definition: url.h:46
struct url * url_parse(const char *s, struct url **u)
Parse string as URL.
socklen_t sockaddr_size(const struct sockaddr_storage *sa)
Return real size of socket address.
char * hostname
hostname for URL
Definition: url.h:52