id3lib 3.8.3

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

sized_types.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /* $Id: sized_types.h,v 1.7 2002/07/23 16:28:44 t1mpy Exp $
3
4 * id3lib: a C++ library for creating and manipulating id3v1/v2 tags Copyright
5 * 1999, 2000 Scott Thomas Haug
6
7 * This library is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Library General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or (at your
10 * option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful, but WITHOUT
13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
15 * License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; if not, write to the Free Software Foundation,
19 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20
21 * The id3lib authors encourage improvements and optimisations to be sent to
22 * the id3lib coordinator. Please see the README file for details on where to
23 * send such submissions. See the AUTHORS file for a list of people who have
24 * contributed to id3lib. See the ChangeLog file for a list of changes to
25 * id3lib. These files are distributed with id3lib at
26 * http://download.sourceforge.net/id3lib/
27 */
28
34 #ifndef _SIZED_TYPES_H_
35 #define _SIZED_TYPES_H_
36
37 #include <limits.h>
38
39 /* define our datatypes */
40
41 /* Define 8-bit types */
42 #if UCHAR_MAX == 0xff
43
44 typedef unsigned char uint8;
45 typedef signed char int8;
46
47 #else
48 #error This machine has no 8-bit type; report compiler, and the contents of your limits.h to the persons in the AUTHORS file
49 #endif /* UCHAR_MAX == 0xff */
50
51 /* Define 16-bit types */
52 #if UINT_MAX == 0xffff
53
54 typedef unsigned int uint16;
55 typedef int int16;
56
57 #elif USHRT_MAX == 0xffff
58
59 typedef unsigned short uint16;
60 typedef short int16;
61
62 #else
63 #error This machine has no 16-bit type; report compiler, and the contents of your limits.h to the persons in the AUTHORS file
64 #endif /* UINT_MAX == 0xffff */
65
66 /* Define 32-bit types */
67 #if UINT_MAX == 0xfffffffful
68
69 typedef unsigned int uint32;
70 typedef int int32;
71
72 #elif ULONG_MAX == 0xfffffffful
73
74 typedef unsigned long uint32;
75 typedef long int32;
76
77 #elif USHRT_MAX == 0xfffffffful
78
79 typedef unsigned short uint32;
80 typedef short int32;
81
82 #else
83 #error This machine has no 32-bit type; report compiler, and the contents of your limits.h to the persons in the AUTHORS file
84 #endif /* UINT_MAX == 0xfffffffful */
85
86 #endif /* _SIZED_TYPES_H_ */
87