]> mj.ucw.cz Git - libucw.git/blob - lib/config.h
fastbufs: byte * -> char *
[libucw.git] / lib / 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 "lib/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 sh_time_t;                  /* Timestamp */
41
42 #ifdef CONFIG_LARGE_FILES               /* File positions */
43 typedef s64 sh_off_t;
44 #else
45 typedef s32 sh_off_t;
46 #endif
47
48 #endif