/* #include /* free(3), malloc(3), NULL */ /* RFC 1738 3.1 */ struct CommonInternetScheme{ char *user; char *password; char *host; /* FQDN, IPv4, or IPv6 address */ char *port; /* Can have default; must be supplied in decimal. */ char *url_path; }; /* standard; RFC 1738 */ struct Url{ char *s; /* scheme */ /* char * or some sort of struct SchemeSpecificPart * */ void *ssp; /* scheme-specific-part */ }; struct Url *disassemble_url(char *url); struct Url *free_url(struct Url *url);