(root)/
gettext-0.22.4/
gnulib-local/
lib/
libxml/
uri.in.h
       1  /* libxml2 - Library for parsing XML documents
       2   * Copyright (C) 2006-2019 Free Software Foundation, Inc.
       3   *
       4   * This file is not part of the GNU gettext program, but is used with
       5   * GNU gettext.
       6   *
       7   * The original copyright notice is as follows:
       8   */
       9  
      10  /*
      11   * Copyright (C) 1998-2012 Daniel Veillard.  All Rights Reserved.
      12   *
      13   * Permission is hereby granted, free of charge, to any person obtaining a copy
      14   * of this software and associated documentation files (the "Software"), to deal
      15   * in the Software without restriction, including without limitation the rights
      16   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      17   * copies of the Software, and to permit persons to whom the Software is fur-
      18   * nished to do so, subject to the following conditions:
      19   *
      20   * The above copyright notice and this permission notice shall be included in
      21   * all copies or substantial portions of the Software.
      22   *
      23   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      24   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
      25   * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
      26   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      27   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      28   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
      29   * THE SOFTWARE.
      30   *
      31   * Author: Daniel Veillard
      32   */
      33  
      34  /**
      35   * Summary: library of generic URI related routines
      36   * Description: library of generic URI related routines
      37   *              Implements RFC 2396
      38   */
      39  
      40  #ifndef __XML_URI_H__
      41  #define __XML_URI_H__
      42  
      43  #include <libxml/xmlversion.h>
      44  #include <libxml/tree.h>
      45  
      46  #ifdef __cplusplus
      47  extern "C" {
      48  #endif
      49  
      50  /**
      51   * xmlURI:
      52   *
      53   * A parsed URI reference. This is a struct containing the various fields
      54   * as described in RFC 2396 but separated for further processing.
      55   *
      56   * Note: query is a deprecated field which is incorrectly unescaped.
      57   * query_raw takes precedence over query if the former is set.
      58   * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
      59   */
      60  typedef struct _xmlURI xmlURI;
      61  typedef xmlURI *xmlURIPtr;
      62  struct _xmlURI {
      63      char *scheme;	/* the URI scheme */
      64      char *opaque;	/* opaque part */
      65      char *authority;	/* the authority part */
      66      char *server;	/* the server part */
      67      char *user;		/* the user part */
      68      int port;		/* the port number */
      69      char *path;		/* the path string */
      70      char *query;	/* the query string (deprecated - use with caution) */
      71      char *fragment;	/* the fragment identifier */
      72      int  cleanup;	/* parsing potentially unclean URI */
      73      char *query_raw;	/* the query string (as it appears in the URI) */
      74  };
      75  
      76  /*
      77   * This function is in tree.h:
      78   * xmlChar *	xmlNodeGetBase	(xmlDocPtr doc,
      79   *                               xmlNodePtr cur);
      80   */
      81  XMLPUBFUN xmlURIPtr XMLCALL
      82  		xmlCreateURI		(void);
      83  XMLPUBFUN xmlChar * XMLCALL
      84  		xmlBuildURI		(const xmlChar *URI,
      85  					 const xmlChar *base);
      86  XMLPUBFUN xmlChar * XMLCALL
      87  		xmlBuildRelativeURI	(const xmlChar *URI,
      88  					 const xmlChar *base);
      89  XMLPUBFUN xmlURIPtr XMLCALL
      90  		xmlParseURI		(const char *str);
      91  XMLPUBFUN xmlURIPtr XMLCALL
      92  		xmlParseURIRaw		(const char *str,
      93  					 int raw);
      94  XMLPUBFUN int XMLCALL
      95  		xmlParseURIReference	(xmlURIPtr uri,
      96  					 const char *str);
      97  XMLPUBFUN xmlChar * XMLCALL
      98  		xmlSaveUri		(xmlURIPtr uri);
      99  XMLPUBFUN void XMLCALL
     100  		xmlPrintURI		(FILE *stream,
     101  					 xmlURIPtr uri);
     102  XMLPUBFUN xmlChar * XMLCALL
     103  		xmlURIEscapeStr         (const xmlChar *str,
     104  					 const xmlChar *list);
     105  XMLPUBFUN char * XMLCALL
     106  		xmlURIUnescapeString	(const char *str,
     107  					 int len,
     108  					 char *target);
     109  XMLPUBFUN int XMLCALL
     110  		xmlNormalizeURIPath	(char *path);
     111  XMLPUBFUN xmlChar * XMLCALL
     112  		xmlURIEscape		(const xmlChar *str);
     113  XMLPUBFUN void XMLCALL
     114  		xmlFreeURI		(xmlURIPtr uri);
     115  XMLPUBFUN xmlChar* XMLCALL
     116  		xmlCanonicPath		(const xmlChar *path);
     117  XMLPUBFUN xmlChar* XMLCALL
     118  		xmlPathToURI		(const xmlChar *path);
     119  
     120  #ifdef __cplusplus
     121  }
     122  #endif
     123  #endif /* __XML_URI_H__ */