]> mj.ucw.cz Git - libucw.git/blob - ucw/config.h
Logging: Introduce use counts on streams.
[libucw.git] / ucw / config.h
1 /*
2  *      UCW Library -- Configuration-Dependent Definitions
3  *
4  *      (c) 1997--2007 Martin Mares <mj@ucw.cz>
5  *      (c) 2006 Robert Spalek <robert@ucw.cz>
6  *
7  *      This software may be freely distributed and used according to the terms
8  *      of the GNU Lesser General Public License.
9  */
10
11 #ifndef _UCW_CONFIG_H
12 #define _UCW_CONFIG_H
13
14 /* Configuration switches */
15
16 #include "autoconf.h"
17
18 /* Tell libc we're going to use all extensions available */
19
20 #ifndef _GNU_SOURCE
21 #define _GNU_SOURCE
22 #endif
23
24 /* Types (based on standard C99 integers) */
25
26 #include <stddef.h>
27 #include <stdint.h>
28
29 typedef uint8_t byte;                   /* exactly 8 bits, unsigned */
30 typedef uint8_t u8;                     /* exactly 8 bits, unsigned */
31 typedef int8_t s8;                      /* exactly 8 bits, signed */
32 typedef uint16_t u16;                   /* exactly 16 bits, unsigned */
33 typedef int16_t s16;                    /* exactly 16 bits, signed */
34 typedef uint32_t u32;                   /* exactly 32 bits, unsigned */
35 typedef int32_t s32;                    /* exactly 32 bits, signed */
36 typedef uint64_t u64;                   /* exactly 64 bits, unsigned */
37 typedef int64_t s64;                    /* exactly 64 bits, signed */
38
39 typedef unsigned int uns;               /* at least 32 bits */
40 typedef u32 ucw_time_t;                 /* seconds since UNIX epoch */
41 typedef s64 timestamp_t;                /* milliseconds since UNIX epoch */
42
43 #ifdef CONFIG_LARGE_FILES               /* File positions */
44 typedef s64 ucw_off_t;
45 #else
46 typedef s32 ucw_off_t;
47 #endif
48
49 #endif