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