1 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
2 /* Elementary types and macros for the GNU UniString library.
3    Copyright (C) 2002, 2005-2006, 2009-2012 Free Software Foundation, Inc.
4 
5    This program is free software: you can redistribute it and/or modify it
6    under the terms of the GNU General Public License as published
7    by the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9 
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    General Public License for more details.
14 
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17 
18 #ifndef _UNITYPES_H
19 #define _UNITYPES_H
20 
21 /* Get uint8_t, uint16_t, uint32_t.  */
22 #include <stdint.h>
23 
24 /* Type representing a Unicode character.  */
25 typedef uint32_t ucs4_t;
26 
27 /* Attribute of a function whose result depends only on the arguments
28    (not pointers!) and which has no side effects.  */
29 #ifndef _UC_ATTRIBUTE_CONST
30 # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
31 #  define _UC_ATTRIBUTE_CONST __attribute__ ((__const__))
32 # else
33 #  define _UC_ATTRIBUTE_CONST
34 # endif
35 #endif
36 
37 /* Attribute of a function whose result depends only on the arguments
38    (possibly pointers) and global memory, and which has no side effects.  */
39 #ifndef _UC_ATTRIBUTE_PURE
40 # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
41 #  define _UC_ATTRIBUTE_PURE __attribute__ ((__pure__))
42 # else
43 #  define _UC_ATTRIBUTE_PURE
44 # endif
45 #endif
46 
47 #endif /* _UNITYPES_H */
48