1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 /// \file private.h
4 /// \brief Common includes, definitions, and prototypes
5 //
6 // Author: Lasse Collin
7 //
8 // This file has been put into the public domain.
9 // You can do whatever you want with this file.
10 //
11 ///////////////////////////////////////////////////////////////////////////////
12
13 #include "sysdefs.h"
14 #include "mythread.h"
15
16 #include "lzma.h"
17
18 #include <sys/types.h>
19 #include <sys/stat.h>
20 #include <errno.h>
21 #include <signal.h>
22 #include <locale.h>
23 #include <stdio.h>
24 #include <unistd.h>
25
26 #include "tuklib_gettext.h"
27 #include "tuklib_progname.h"
28 #include "tuklib_exit.h"
29 #include "tuklib_mbstr.h"
30
31 #if defined(_WIN32) && !defined(__CYGWIN__)
32 # define WIN32_LEAN_AND_MEAN
33 # include <windows.h>
34 #endif
35
36 #ifndef STDIN_FILENO
37 # define STDIN_FILENO (fileno(stdin))
38 #endif
39
40 #ifndef STDOUT_FILENO
41 # define STDOUT_FILENO (fileno(stdout))
42 #endif
43
44 #ifndef STDERR_FILENO
45 # define STDERR_FILENO (fileno(stderr))
46 #endif
47
48 #if defined(HAVE_CAPSICUM) || defined(HAVE_PLEDGE)
49 # define ENABLE_SANDBOX 1
50 #endif
51
52 #include "main.h"
53 #include "mytime.h"
54 #include "coder.h"
55 #include "message.h"
56 #include "args.h"
57 #include "hardware.h"
58 #include "file_io.h"
59 #include "options.h"
60 #include "signals.h"
61 #include "suffix.h"
62 #include "util.h"
63
64 #ifdef HAVE_DECODERS
65 # include "list.h"
66 #endif