Some
of these functions use the
uri_components
structure:
typedef struct { char *scheme; /* scheme ("http"/"ftp"/...) */ char *hostinfo; /* combined [user[:password]@]host[:port] */ char *user; /* username, as in http://user:passwd@host:port/ */ char *password; /* password, as in http://user:passwd@host:port/ */ char *hostname; /* hostname from URI (or from Host: header) */ char *port_str; /* port string (integer representation is in "port") */ char *path; /* The request path (or "/" if only scheme://host was /* given) */ char *query; /* Everything after a '?' in the path, if present */ char *fragment; /* Trailing "#fragment" string, if present */ struct hostent *hostent; unsigned short port; /* The port number, numeric, valid only if /* port_str != NULL */ unsigned is_initialized:1; unsigned dns_looked_up:1; unsigned dns_resolved:1; } uri_components;