Blame include/libxml/uri.h

Packit 423ecb
/**
Packit 423ecb
 * Summary: library of generic URI related routines
Packit 423ecb
 * Description: library of generic URI related routines
Packit 423ecb
 *              Implements RFC 2396
Packit 423ecb
 *
Packit 423ecb
 * Copy: See Copyright for the status of this software.
Packit 423ecb
 *
Packit 423ecb
 * Author: Daniel Veillard
Packit 423ecb
 */
Packit 423ecb
Packit 423ecb
#ifndef __XML_URI_H__
Packit 423ecb
#define __XML_URI_H__
Packit 423ecb
Packit 423ecb
#include <libxml/xmlversion.h>
Packit 423ecb
#include <libxml/tree.h>
Packit 423ecb
Packit 423ecb
#ifdef __cplusplus
Packit 423ecb
extern "C" {
Packit 423ecb
#endif
Packit 423ecb
Packit 423ecb
/**
Packit 423ecb
 * xmlURI:
Packit 423ecb
 *
Packit 423ecb
 * A parsed URI reference. This is a struct containing the various fields
Packit 423ecb
 * as described in RFC 2396 but separated for further processing.
Packit 423ecb
 *
Packit 423ecb
 * Note: query is a deprecated field which is incorrectly unescaped.
Packit 423ecb
 * query_raw takes precedence over query if the former is set.
Packit 423ecb
 * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
Packit 423ecb
 */
Packit 423ecb
typedef struct _xmlURI xmlURI;
Packit 423ecb
typedef xmlURI *xmlURIPtr;
Packit 423ecb
struct _xmlURI {
Packit 423ecb
    char *scheme;	/* the URI scheme */
Packit 423ecb
    char *opaque;	/* opaque part */
Packit 423ecb
    char *authority;	/* the authority part */
Packit 423ecb
    char *server;	/* the server part */
Packit 423ecb
    char *user;		/* the user part */
Packit 423ecb
    int port;		/* the port number */
Packit 423ecb
    char *path;		/* the path string */
Packit 423ecb
    char *query;	/* the query string (deprecated - use with caution) */
Packit 423ecb
    char *fragment;	/* the fragment identifier */
Packit 423ecb
    int  cleanup;	/* parsing potentially unclean URI */
Packit 423ecb
    char *query_raw;	/* the query string (as it appears in the URI) */
Packit 423ecb
};
Packit 423ecb
Packit 423ecb
/*
Packit 423ecb
 * This function is in tree.h:
Packit 423ecb
 * xmlChar *	xmlNodeGetBase	(xmlDocPtr doc,
Packit 423ecb
 *                               xmlNodePtr cur);
Packit 423ecb
 */
Packit 423ecb
XMLPUBFUN xmlURIPtr XMLCALL
Packit 423ecb
		xmlCreateURI		(void);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
		xmlBuildURI		(const xmlChar *URI,
Packit 423ecb
					 const xmlChar *base);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
		xmlBuildRelativeURI	(const xmlChar *URI,
Packit 423ecb
					 const xmlChar *base);
Packit 423ecb
XMLPUBFUN xmlURIPtr XMLCALL
Packit 423ecb
		xmlParseURI		(const char *str);
Packit 423ecb
XMLPUBFUN xmlURIPtr XMLCALL
Packit 423ecb
		xmlParseURIRaw		(const char *str,
Packit 423ecb
					 int raw);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		xmlParseURIReference	(xmlURIPtr uri,
Packit 423ecb
					 const char *str);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
		xmlSaveUri		(xmlURIPtr uri);
Packit 423ecb
XMLPUBFUN void XMLCALL
Packit 423ecb
		xmlPrintURI		(FILE *stream,
Packit 423ecb
					 xmlURIPtr uri);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
		xmlURIEscapeStr         (const xmlChar *str,
Packit 423ecb
					 const xmlChar *list);
Packit 423ecb
XMLPUBFUN char * XMLCALL
Packit 423ecb
		xmlURIUnescapeString	(const char *str,
Packit 423ecb
					 int len,
Packit 423ecb
					 char *target);
Packit 423ecb
XMLPUBFUN int XMLCALL
Packit 423ecb
		xmlNormalizeURIPath	(char *path);
Packit 423ecb
XMLPUBFUN xmlChar * XMLCALL
Packit 423ecb
		xmlURIEscape		(const xmlChar *str);
Packit 423ecb
XMLPUBFUN void XMLCALL
Packit 423ecb
		xmlFreeURI		(xmlURIPtr uri);
Packit 423ecb
XMLPUBFUN xmlChar* XMLCALL
Packit 423ecb
		xmlCanonicPath		(const xmlChar *path);
Packit 423ecb
XMLPUBFUN xmlChar* XMLCALL
Packit 423ecb
		xmlPathToURI		(const xmlChar *path);
Packit 423ecb
Packit 423ecb
#ifdef __cplusplus
Packit 423ecb
}
Packit 423ecb
#endif
Packit 423ecb
#endif /* __XML_URI_H__ */