(root)/
gettext-0.22.4/
libtextstyle/
lib/
libxml/
chvalid.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  
      32  /*
      33   * Summary: Unicode character range checking
      34   * Description: this module exports interfaces for the character
      35   *               range validation APIs
      36   *
      37   * This file is automatically generated from the cvs source
      38   * definition files using the genChRanges.py Python script
      39   *
      40   * Generation date: Mon Mar 27 11:09:48 2006
      41   * Sources: chvalid.def
      42   * Author: William Brack <wbrack@mmm.com.hk>
      43   */
      44  
      45  #ifndef __XML_CHVALID_H__
      46  #define __XML_CHVALID_H__
      47  
      48  #include <libxml/xmlversion.h>
      49  #include <libxml/xmlstring.h>
      50  
      51  #ifdef __cplusplus
      52  extern "C" {
      53  #endif
      54  
      55  /*
      56   * Define our typedefs and structures
      57   *
      58   */
      59  typedef struct _xmlChSRange xmlChSRange;
      60  typedef xmlChSRange *xmlChSRangePtr;
      61  struct _xmlChSRange {
      62      unsigned short	low;
      63      unsigned short	high;
      64  };
      65  
      66  typedef struct _xmlChLRange xmlChLRange;
      67  typedef xmlChLRange *xmlChLRangePtr;
      68  struct _xmlChLRange {
      69      unsigned int	low;
      70      unsigned int	high;
      71  };
      72  
      73  typedef struct _xmlChRangeGroup xmlChRangeGroup;
      74  typedef xmlChRangeGroup *xmlChRangeGroupPtr;
      75  struct _xmlChRangeGroup {
      76      int			nbShortRange;
      77      int			nbLongRange;
      78      const xmlChSRange	*shortRange;	/* points to an array of ranges */
      79      const xmlChLRange	*longRange;
      80  };
      81  
      82  /**
      83   * Range checking routine
      84   */
      85  XMLPUBFUN int XMLCALL
      86  		xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);
      87  
      88  
      89  /**
      90   * xmlIsBaseChar_ch:
      91   * @c: char to validate
      92   *
      93   * Automatically generated by genChRanges.py
      94   */
      95  #define xmlIsBaseChar_ch(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
      96  				 ((0x61 <= (c)) && ((c) <= 0x7a)) || \
      97  				 ((0xc0 <= (c)) && ((c) <= 0xd6)) || \
      98  				 ((0xd8 <= (c)) && ((c) <= 0xf6)) || \
      99  				  (0xf8 <= (c)))
     100  
     101  /**
     102   * xmlIsBaseCharQ:
     103   * @c: char to validate
     104   *
     105   * Automatically generated by genChRanges.py
     106   */
     107  #define xmlIsBaseCharQ(c)	(((c) < 0x100) ? \
     108  				 xmlIsBaseChar_ch((c)) : \
     109  				 xmlCharInRange((c), &xmlIsBaseCharGroup))
     110  
     111  XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup;
     112  
     113  /**
     114   * xmlIsBlank_ch:
     115   * @c: char to validate
     116   *
     117   * Automatically generated by genChRanges.py
     118   */
     119  #define xmlIsBlank_ch(c)	(((c) == 0x20) || \
     120  				 ((0x9 <= (c)) && ((c) <= 0xa)) || \
     121  				 ((c) == 0xd))
     122  
     123  /**
     124   * xmlIsBlankQ:
     125   * @c: char to validate
     126   *
     127   * Automatically generated by genChRanges.py
     128   */
     129  #define xmlIsBlankQ(c)		(((c) < 0x100) ? \
     130  				 xmlIsBlank_ch((c)) : 0)
     131  
     132  
     133  /**
     134   * xmlIsChar_ch:
     135   * @c: char to validate
     136   *
     137   * Automatically generated by genChRanges.py
     138   */
     139  #define xmlIsChar_ch(c)		(((0x9 <= (c)) && ((c) <= 0xa)) || \
     140  				 ((c) == 0xd) || \
     141  				  (0x20 <= (c)))
     142  
     143  /**
     144   * xmlIsCharQ:
     145   * @c: char to validate
     146   *
     147   * Automatically generated by genChRanges.py
     148   */
     149  #define xmlIsCharQ(c)		(((c) < 0x100) ? \
     150  				 xmlIsChar_ch((c)) :\
     151  				(((0x100 <= (c)) && ((c) <= 0xd7ff)) || \
     152  				 ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \
     153  				 ((0x10000 <= (c)) && ((c) <= 0x10ffff))))
     154  
     155  XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup;
     156  
     157  /**
     158   * xmlIsCombiningQ:
     159   * @c: char to validate
     160   *
     161   * Automatically generated by genChRanges.py
     162   */
     163  #define xmlIsCombiningQ(c)	(((c) < 0x100) ? \
     164  				 0 : \
     165  				 xmlCharInRange((c), &xmlIsCombiningGroup))
     166  
     167  XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup;
     168  
     169  /**
     170   * xmlIsDigit_ch:
     171   * @c: char to validate
     172   *
     173   * Automatically generated by genChRanges.py
     174   */
     175  #define xmlIsDigit_ch(c)	(((0x30 <= (c)) && ((c) <= 0x39)))
     176  
     177  /**
     178   * xmlIsDigitQ:
     179   * @c: char to validate
     180   *
     181   * Automatically generated by genChRanges.py
     182   */
     183  #define xmlIsDigitQ(c)		(((c) < 0x100) ? \
     184  				 xmlIsDigit_ch((c)) : \
     185  				 xmlCharInRange((c), &xmlIsDigitGroup))
     186  
     187  XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup;
     188  
     189  /**
     190   * xmlIsExtender_ch:
     191   * @c: char to validate
     192   *
     193   * Automatically generated by genChRanges.py
     194   */
     195  #define xmlIsExtender_ch(c)	(((c) == 0xb7))
     196  
     197  /**
     198   * xmlIsExtenderQ:
     199   * @c: char to validate
     200   *
     201   * Automatically generated by genChRanges.py
     202   */
     203  #define xmlIsExtenderQ(c)	(((c) < 0x100) ? \
     204  				 xmlIsExtender_ch((c)) : \
     205  				 xmlCharInRange((c), &xmlIsExtenderGroup))
     206  
     207  XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup;
     208  
     209  /**
     210   * xmlIsIdeographicQ:
     211   * @c: char to validate
     212   *
     213   * Automatically generated by genChRanges.py
     214   */
     215  #define xmlIsIdeographicQ(c)	(((c) < 0x100) ? \
     216  				 0 :\
     217  				(((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \
     218  				 ((c) == 0x3007) || \
     219  				 ((0x3021 <= (c)) && ((c) <= 0x3029))))
     220  
     221  XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup;
     222  XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256];
     223  
     224  /**
     225   * xmlIsPubidChar_ch:
     226   * @c: char to validate
     227   *
     228   * Automatically generated by genChRanges.py
     229   */
     230  #define xmlIsPubidChar_ch(c)	(xmlIsPubidChar_tab[(c)])
     231  
     232  /**
     233   * xmlIsPubidCharQ:
     234   * @c: char to validate
     235   *
     236   * Automatically generated by genChRanges.py
     237   */
     238  #define xmlIsPubidCharQ(c)	(((c) < 0x100) ? \
     239  				 xmlIsPubidChar_ch((c)) : 0)
     240  
     241  XMLPUBFUN int XMLCALL
     242  		xmlIsBaseChar(unsigned int ch);
     243  XMLPUBFUN int XMLCALL
     244  		xmlIsBlank(unsigned int ch);
     245  XMLPUBFUN int XMLCALL
     246  		xmlIsChar(unsigned int ch);
     247  XMLPUBFUN int XMLCALL
     248  		xmlIsCombining(unsigned int ch);
     249  XMLPUBFUN int XMLCALL
     250  		xmlIsDigit(unsigned int ch);
     251  XMLPUBFUN int XMLCALL
     252  		xmlIsExtender(unsigned int ch);
     253  XMLPUBFUN int XMLCALL
     254  		xmlIsIdeographic(unsigned int ch);
     255  XMLPUBFUN int XMLCALL
     256  		xmlIsPubidChar(unsigned int ch);
     257  
     258  #ifdef __cplusplus
     259  }
     260  #endif
     261  #endif /* __XML_CHVALID_H__ */