]> mj.ucw.cz Git - libucw.git/blobdiff - lib/url.h
As usually, stuff in lib/* is LGPL'ed.
[libucw.git] / lib / url.h
index 4d95ec985b0def1111aeabd9eb85a2e5c5e8c6c5..44c9bc2ce6513247bef39d86e80a0442cead672c 100644 (file)
--- a/lib/url.h
+++ b/lib/url.h
@@ -1,9 +1,16 @@
 /*
  *     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>
+ *
+ *     This software may be freely distributed and used according to the terms
+ *     of the GNU Lesser General Public License.
  */
 
+#ifndef _SHERLOCK_URL_H
+#define _SHERLOCK_URL_H
+
 #define MAX_URL_SIZE 1024
 
 /* Non-control meanings of control characters */
 #define NCC_AT 5
 #define NCC_EQUAL 6
 #define NCC_AND 7
-#define NCC_MAX 8
+#define NCC_HASH 8
+#define NCC_MAX 9
 
-#define NCC_CHARS " ;/?:@=&"
+#define NCC_CHARS " ;/?:@=&#"
 
 /* Remove/Introduce '%' escapes */
 
@@ -41,7 +49,9 @@ int url_normalize(struct url *, struct url *);
 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 */
 
@@ -65,5 +75,8 @@ char *url_error(uns);
 
 #define URL_PNAMES { "unknown", "http", "ftp", "file" }
 #define URL_DEFPORTS { ~0, 80, 21, 0 }
+#define URL_PATH_FLAGS { 0, 1, 1, 1 }
 
 extern byte *url_proto_names[];
+
+#endif