aboutsummaryrefslogtreecommitdiffstats
path: root/os400/libxmlrpg/chvalid.rpgle
blob: 444d1cb2a015b615a9698ec57885b1c3b0657772 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
      * Summary: Unicode character range checking
      * Description: this module exports interfaces for the character
      *               range validation APIs
      *
      * Copy: See Copyright for the status of this software.
      *
      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.

      /if not defined(XML_CHVALID_H__)
      /define XML_CHVALID_H__

      /include "libxmlrpg/xmlversion"
      /include "libxmlrpg/xmlTypesC"
      /include "libxmlrpg/xmlstring"

      * Define our typedefs and structures

     d xmlChSRangePtr  s               *   based(######typedef######)

     d xmlChSRange     ds                  based(xmlChSRangePtr)
     d                                     align qualified
     d  low                                like(xmlCushort)
     d  high                               like(xmlCushort)

     d xmlChLRangePtr  s               *   based(######typedef######)

     d xmlChLRange     ds                  based(xmlChLRangePtr)
     d                                     align qualified
     d  low                          10u 0
     d  high                         10u 0

     d xmlChRangeGroupPtr...
     d                 s               *   based(######typedef######)

     d xmlChRangeGroup...
     d                 ds                  based(xmlChRangeGroupPtr)
     d                                     align qualified
     d  nbShortRange                 10i 0
     d  nbLongRange                  10i 0
     d  shortRange                         like(xmlChSRangePtr)
     d  longRange                          like(xmlChLRangePtr)

      * Range checking routine

     d xmlCharInRange  pr            10i 0 extproc('xmlCharInRange')
     d val                           10u 0 value
     d group                               like(xmlChRangeGroupPtr)             const

     d xmlIsBaseCharGroup...
     d                 ds                  import('xmlIsBaseCharGroup')
     d                                     likeds(xmlChRangeGroup)              const

     d xmlIsCharGroup...
     d                 ds                  import('xmlIsCharGroup')
     d                                     likeds(xmlChRangeGroup)              const

     d xmlIsCombiningGroup...
     d                 ds                  import('xmlIsCombiningGroup')
     d                                     likeds(xmlChRangeGroup)              const

     d xmlIsDigitGroup...
     d                 ds                  import('xmlIsDigitGroup')
     d                                     likeds(xmlChRangeGroup)              const

     d xmlIsExtenderGroup...
     d                 ds                  import('xmlIsExtenderGroup')
     d                                     likeds(xmlChRangeGroup)              const

     d xmlIsIdeographicGroup...
     d                 ds                  import('xmlIsIdeographicGroup')
     d                                     likeds(xmlChRangeGroup)              const

     d xmlIsBaseChar   pr            10i 0 extproc('xmlIsBaseChar')
     d ch                            10u 0 value

     d xmlIsBlank      pr            10i 0 extproc('xmlIsBlank')
     d ch                            10u 0 value

     d xmlIsChar       pr            10i 0 extproc('xmlIsChar')
     d ch                            10u 0 value

     d xmlIsCombining  pr            10i 0 extproc('xmlIsCombining')
     d ch                            10u 0 value

     d xmlIsDigit      pr            10i 0 extproc('xmlIsDigit')
     d ch                            10u 0 value

     d xmlIsExtender   pr            10i 0 extproc('xmlIsExtender')
     d ch                            10u 0 value

     d xmlIsIdeographic...
     d                 pr            10i 0 extproc('xmlIsIdeographic')
     d ch                            10u 0 value

     d xmlIsPubidChar  pr            10i 0 extproc('xmlIsPubidChar')
     d ch                            10u 0 value

      /endif                                                                    XML_CHVALID_H__