Home | History | Annotate | Download | only in libxmlrpg
      1       * Summary: Unicode character range checking
      2       * Description: this module exports interfaces for the character
      3       *               range validation APIs
      4       *
      5       * Copy: See Copyright for the status of this software.
      6       *
      7       * Author: Patrick Monnerat <pm (a] datasphere.ch>, DATASPHERE S.A.
      8 
      9       /if not defined(XML_CHVALID_H__)
     10       /define XML_CHVALID_H__
     11 
     12       /include "libxmlrpg/xmlversion"
     13       /include "libxmlrpg/xmlTypesC"
     14       /include "libxmlrpg/xmlstring"
     15 
     16       * Define our typedefs and structures
     17 
     18      d xmlChSRangePtr  s               *   based(######typedef######)
     19 
     20      d xmlChSRange     ds                  based(xmlChSRangePtr)
     21      d                                     align qualified
     22      d  low                                like(xmlCushort)
     23      d  high                               like(xmlCushort)
     24 
     25      d xmlChLRangePtr  s               *   based(######typedef######)
     26 
     27      d xmlChLRange     ds                  based(xmlChLRangePtr)
     28      d                                     align qualified
     29      d  low                                like(xmlCuint)
     30      d  high                               like(xmlCuint)
     31 
     32      d xmlChRangeGroupPtr...
     33      d                 s               *   based(######typedef######)
     34 
     35      d xmlChRangeGroup...
     36      d                 ds                  based(xmlChRangeGroupPtr)
     37      d                                     align qualified
     38      d  nbShortRange                       like(xmlCint)
     39      d  nbLongRange                        like(xmlCint)
     40      d  shortRange                         like(xmlChSRangePtr)
     41      d  longRange                          like(xmlChLRangePtr)
     42 
     43       * Range checking routine
     44 
     45      d xmlCharInRange  pr                  extproc('xmlCharInRange')
     46      d                                     like(xmlCint)
     47      d val                                 value like(xmlCuint)
     48      d group                               like(xmlChRangeGroupPtr)             const
     49 
     50      d xmlIsBaseCharGroup...
     51      d                 ds                  import('xmlIsBaseCharGroup')
     52      d                                     likeds(xmlChRangeGroup)              const
     53 
     54      d xmlIsCharGroup...
     55      d                 ds                  import('xmlIsCharGroup')
     56      d                                     likeds(xmlChRangeGroup)              const
     57 
     58      d xmlIsCombiningGroup...
     59      d                 ds                  import('xmlIsCombiningGroup')
     60      d                                     likeds(xmlChRangeGroup)              const
     61 
     62      d xmlIsDigitGroup...
     63      d                 ds                  import('xmlIsDigitGroup')
     64      d                                     likeds(xmlChRangeGroup)              const
     65 
     66      d xmlIsExtenderGroup...
     67      d                 ds                  import('xmlIsExtenderGroup')
     68      d                                     likeds(xmlChRangeGroup)              const
     69 
     70      d xmlIsIdeographicGroup...
     71      d                 ds                  import('xmlIsIdeographicGroup')
     72      d                                     likeds(xmlChRangeGroup)              const
     73 
     74      d xmlIsBaseChar   pr                  extproc('xmlIsBaseChar')
     75      d                                     like(xmlCint)
     76      d ch                                  value like(xmlCuint)
     77 
     78      d xmlIsBlank      pr                  extproc('xmlIsBlank')
     79      d                                     like(xmlCint)
     80      d ch                                  value like(xmlCuint)
     81 
     82      d xmlIsChar       pr                  extproc('xmlIsChar')
     83      d                                     like(xmlCint)
     84      d ch                                  value like(xmlCuint)
     85 
     86      d xmlIsCombining  pr                  extproc('xmlIsCombining')
     87      d                                     like(xmlCint)
     88      d ch                                  value like(xmlCuint)
     89 
     90      d xmlIsDigit      pr                  extproc('xmlIsDigit')
     91      d                                     like(xmlCint)
     92      d ch                                  value like(xmlCuint)
     93 
     94      d xmlIsExtender   pr                  extproc('xmlIsExtender')
     95      d                                     like(xmlCint)
     96      d ch                                  value like(xmlCuint)
     97 
     98      d xmlIsIdeographic...
     99      d                 pr                  extproc('xmlIsIdeographic')
    100      d                                     like(xmlCint)
    101      d ch                                  value like(xmlCuint)
    102 
    103      d xmlIsPubidChar  pr                  extproc('xmlIsPubidChar')
    104      d                                     like(xmlCint)
    105      d ch                                  value like(xmlCuint)
    106 
    107       /endif                                                                    XML_CHVALID_H__
    108