source: libcaca/trunk/caca/caca_types.h.in @ 4148

Last change on this file since 4148 was 4148, checked in by Sam Hocevar, 10 years ago

Update my e-mail address everywhere.

File size: 3.0 KB
Line 
1/*
2 *  libcaca       Colour ASCII-Art library
3 *  libcaca       Colour ASCII-Art library
4 *  Copyright (c) 2008 Sam Hocevar <sam@hocevar.net>
5 *                All Rights Reserved
6 *
7 *  $Id$
8 *
9 *  This library is free software; you can redistribute it and/or
10 *  modify it under the terms of the Do What The Fuck You Want To
11 *  Public License, Version 2, as published by Sam Hocevar. See
12 *  http://sam.zoy.org/wtfpl/COPYING for more details.
13 */
14
15/*
16 *  This file contains definitions for the C99 integer types.
17 */
18
19#ifndef __CACA_TYPES_H__
20#define __CACA_TYPES_H__
21
22#ifndef CACA_TYPES
23#   define CACA_TYPES @CACA_TYPES@
24#endif
25
26/* mode 1: standard <stdint.h> header is present, just include it */
27#if CACA_TYPES == 1
28#   include <stdint.h>
29#   include <unistd.h>
30
31/* mode 2: standard <inttypes.h> header is present, just include it */
32#elif CACA_TYPES == 2
33#   include <inttypes.h>
34#   include <unistd.h>
35
36/* mode 3: Win32, only (u)intptr_t is present */
37#elif CACA_TYPES == 3
38#include <windows.h>
39
40typedef signed char int8_t;
41typedef signed short int16_t;
42typedef signed long int int32_t;
43typedef signed long long int int64_t;
44
45typedef unsigned char uint8_t;
46typedef unsigned short uint16_t;
47typedef unsigned long int uint32_t;
48typedef unsigned long long int uint64_t;
49
50typedef int ssize_t;
51typedef unsigned int size_t;
52
53/* mode 4: Win64, only (u)intptr_t and size_t are present */
54#elif CACA_TYPES == 4
55#include <windows.h>
56
57typedef signed char int8_t;
58typedef signed short int16_t;
59typedef signed long int int32_t;
60typedef signed long long int int64_t;
61
62typedef unsigned char uint8_t;
63typedef unsigned short uint16_t;
64typedef unsigned long int uint32_t;
65typedef unsigned long long int uint64_t;
66
67typedef int ssize_t;
68
69/* fallback: nothing is known, we assume the platform is 32-bit and
70 * sizeof(long) == sizeof(void *). We don't typedef directly because we
71 * have no idea what other typedefs have already been made. */
72#else
73typedef signed char _caca_int8_t;
74typedef signed short _caca_int16_t;
75typedef signed long int _caca_int32_t;
76typedef signed long long int _caca_int64_t;
77#   undef int8_t
78#   define int8_t _caca_int8_t
79#   undef int16_t
80#   define int16_t _caca_int16_t
81#   undef int32_t
82#   define int32_t _caca_int32_t
83#   undef int64_t
84#   define int64_t _caca_int64_t
85
86typedef unsigned char _caca_uint8_t;
87typedef unsigned short _caca_uint16_t;
88typedef unsigned long int _caca_uint32_t;
89typedef unsigned long long int _caca_uint64_t;
90#   undef uint8_t
91#   define uint8_t _caca_uint8_t
92#   undef uint16_t
93#   define uint16_t _caca_uint16_t
94#   undef uint32_t
95#   define uint32_t _caca_uint32_t
96#   undef uint64_t
97#   define uint64_t _caca_uint64_t
98
99typedef long int _caca_intptr_t;
100typedef unsigned long int _caca_uintptr_t;
101#   undef intptr_t
102#   define intptr_t _caca_intptr_t
103#   undef uintptr_t
104#   define uintptr_t _caca_uintptr_t
105
106typedef int _caca_ssize_t;
107typedef unsigned int _caca_size_t;
108#   undef ssize_t
109#   define ssize_t _caca_ssize_t
110#   undef size_t
111#   define size_t _caca_size_t
112
113#endif
114
115#endif /* __CACA_TYPES_H__ */
Note: See TracBrowser for help on using the repository browser.