/*
* Sherlock Library -- URL Functions
*
- * (c) 1997 Martin Mares, <mj@atrey.karlin.mff.cuni.cz>
+ * (c) 1997 Martin Mares <mj@ucw.cz>
+ * (c) 2001 Robert Spalek <robert@ucw.cz>
*/
+#ifndef _SHERLOCK_URL_H
+#define _SHERLOCK_URL_H
+
#define MAX_URL_SIZE 1024
/* Non-control meanings of control characters */
int url_canonicalize(struct url *);
int url_pack(struct url *, byte *);
int url_canon_split(byte *, byte *, byte *, struct url *);
+int url_auto_canonicalize(byte *, byte *);
uns identify_protocol(byte *);
+int url_has_repeated_component(byte *url);
/* Error codes */
#define URL_PROTO_HTTP 1
#define URL_PROTO_FTP 2
#define URL_PROTO_FILE 3
-#define URL_PROTO_MAX 4
+#define URL_PROTO_SQL 4
+#define URL_PROTO_MAX 5
-#define URL_PNAMES { "unknown", "http", "ftp", "file" }
+#define URL_PNAMES { "unknown", "http", "ftp", "file", "sql" }
#define URL_DEFPORTS { ~0, 80, 21, 0 }
#define URL_PATH_FLAGS { 0, 1, 1, 1 }
extern byte *url_proto_names[];
+
+#endif