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

Last change on this file since 3223 was 2821, checked in by Sam Hocevar, 11 years ago

Starting refactoring to get rid of libcucul. The initial reason for the
split is rendered moot by the plugin system: when enabled, binaries do
not link directly with libX11 or libGL. I hope this is a step towards
more consisteny and clarity.

File size: 2.7 KB
RevLine 
[2299]1/*
2 *  libcaca       Colour ASCII-Art library
[2821]3 *  libcaca       Colour ASCII-Art library
[2299]4 *  Copyright (c) 2008 Sam Hocevar <sam@zoy.org>
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
[2821]19#ifndef __CACA_TYPES_H__
20#define __CACA_TYPES_H__
[2299]21
[2821]22#ifndef CACA_TYPES
23#   define CACA_TYPES @CACA_TYPES@
[2299]24#endif
25
[2308]26/* mode 1: standard <stdint.h> header is present, just include it */
[2821]27#if CACA_TYPES == 1
[2308]28#   include <stdint.h>
29#   include <unistd.h>
[2299]30
[2308]31/* mode 2: standard <inttypes.h> header is present, just include it */
[2821]32#elif CACA_TYPES == 2
[2308]33#   include <inttypes.h>
34#   include <unistd.h>
[2299]35
[2312]36/* mode 3: <windows.h> indicates Win32, only (u)intptr_t is present
37 * FIXME: Win64 probably doesn't work that way */
[2821]38#elif CACA_TYPES == 3
[2312]39#include <windows.h>
40
[2299]41typedef signed char int8_t;
42typedef signed short int16_t;
43typedef signed long int int32_t;
[2304]44typedef signed long long int int64_t;
[2299]45
46typedef unsigned char uint8_t;
47typedef unsigned short uint16_t;
48typedef unsigned long int uint32_t;
[2304]49typedef unsigned long long int uint64_t;
[2299]50
[2308]51typedef int ssize_t;
52typedef unsigned int size_t;
53
[2312]54/* fallback: nothing is known, we assume the platform is 32-bit and
55 * sizeof(long) == sizeof(void *). We don't typedef directly because we
56 * have no idea what other typedefs have already been made. */
57#else
[2821]58typedef signed char _caca_int8_t;
59typedef signed short _caca_int16_t;
60typedef signed long int _caca_int32_t;
61typedef signed long long int _caca_int64_t;
[2312]62#   undef int8_t
[2821]63#   define int8_t _caca_int8_t
[2312]64#   undef int16_t
[2821]65#   define int16_t _caca_int16_t
[2312]66#   undef int32_t
[2821]67#   define int32_t _caca_int32_t
[2312]68#   undef int64_t
[2821]69#   define int64_t _caca_int64_t
[2312]70
[2821]71typedef unsigned char _caca_uint8_t;
72typedef unsigned short _caca_uint16_t;
73typedef unsigned long int _caca_uint32_t;
74typedef unsigned long long int _caca_uint64_t;
[2312]75#   undef uint8_t
[2821]76#   define uint8_t _caca_uint8_t
[2312]77#   undef uint16_t
[2821]78#   define uint16_t _caca_uint16_t
[2312]79#   undef uint32_t
[2821]80#   define uint32_t _caca_uint32_t
[2312]81#   undef uint64_t
[2821]82#   define uint64_t _caca_uint64_t
[2312]83
[2821]84typedef long int _caca_intptr_t;
85typedef unsigned long int _caca_uintptr_t;
[2312]86#   undef intptr_t
[2821]87#   define intptr_t _caca_intptr_t
[2312]88#   undef uintptr_t
[2821]89#   define uintptr_t _caca_uintptr_t
[2312]90
[2821]91typedef int _caca_ssize_t;
92typedef unsigned int _caca_size_t;
[2312]93#   undef ssize_t
[2821]94#   define ssize_t _caca_ssize_t
[2312]95#   undef size_t
[2821]96#   define size_t _caca_size_t
[2312]97
[2299]98#endif
99
[2821]100#endif /* __CACA_TYPES_H__ */
[2299]101
Note: See TracBrowser for help on using the repository browser.