00001 #ifndef URL_H 00002 #define URL_H 00003 00004 #define DEFAULT_FTP_DATA_PORT 20 00005 #define DEFAULT_FTP_PORT 21 00006 #define DEFAULT_TELNET_PORT 23 00007 #define DEFAULT_SMTP_PORT 25 00008 #define DEFAULT_TIME_PORT 37 00009 #define DEFAULT_DNS_PORT 42 00010 #define DEFAULT_WHOIS_PORT 43 00011 #define DEFAULT_TFTP_PORT 69 00012 #define DEFAULT_GOPHER_PORT 70 00013 #define DEFAULT_FINGER_PORT 79 00014 #define DEFAULT_HTTP_PORT 80 00015 #define DEFAULT_POP3_PORT 110 00016 #define DEFAULT_NNTP_PORT 119 00017 #define DEFAULT_WAIS_PORT 210 00018 #define DEFAULT_HTTPS_PORT 443 00019 #define DEFAULT_SNEWS_PORT 563 00020 #define DEFAULT_PROSPERO_PORT 1525 00021 00022 00023 typedef struct { 00024 char *scheme; 00025 char *user; 00026 char *pass; 00027 char *host; 00028 unsigned short port; 00029 char *path; 00030 char *query; 00031 char *fragment; 00032 } URL; 00033 00034 extern void free_url(URL *url); 00035 extern URL *parse_url(const char *urlString); 00036 extern unsigned url_decode(char *str, unsigned len); 00037 extern char *url_encode(char *s, unsigned len); 00038 00039 #endif