a6dfd7ec1dd8bb25b268a754a8ac971f0081b1a1
[openocd.git] / src / helper / system.h
1 /***************************************************************************
2 * Copyright (C) 2006 by Dominic Rath <Dominic.Rath@gmx.de> *
3 * Copyright (C) 2007-2008 by √ėyvind Harboe <oyvind.harboe@zylin.com> *
4 * Copyright (C) 2008 by Spencer Oliver <spen@spen-soft.co.uk> *
5 * Copyright (C) 2009 by Zachary T Welch <zw@superlucidity.net> *
6 * *
7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with this program; if not, write to the *
19 * Free Software Foundation, Inc., *
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
21 ***************************************************************************/
22
23 #ifndef SYSTEM_H
24 #define SYSTEM_H
25
26 /* standard C library header files */
27 #include <stdio.h>
28 #include <stdlib.h>
29 #include <string.h>
30 #include <assert.h>
31 #include <ctype.h>
32 #include <errno.h>
33
34 /* +++ AC_HEADER_TIME +++ */
35 #ifdef TIME_WITH_SYS_TIME
36 # include <sys/time.h>
37 # include <time.h>
38 #else
39 # ifdef HAVE_SYS_TIME_H
40 # include <sys/time.h>
41 # else
42 # include <time.h>
43 # endif
44 #endif
45 /* --- AC_HEADER_TIME --- */
46
47 /* +++ platform specific headers +++ */
48 #ifdef _WIN32
49 #include <winsock2.h>
50 #include <ws2tcpip.h>
51 #include <sys/types.h>
52 #include <sys/stat.h>
53 #endif
54 /* --- platform specific headers --- */
55
56 #ifdef HAVE_SYS_SOCKET_H
57 #include <sys/socket.h>
58 #endif
59 #ifdef HAVE_POLL_H
60 #include <poll.h>
61 #endif
62
63 #ifdef __ECOS
64 /* missing from eCos */
65 #ifndef EFAULT
66 #define EFAULT 14 /* Bad address */
67 #endif
68 #endif
69
70 #ifdef HAVE_NETINET_IN_H
71 #include <netinet/in.h>
72 #endif
73 #ifdef HAVE_SYS_SELECT_H
74 #include <sys/select.h> /* select, FD_SET and friends (POSIX.1-2001) */
75 #endif
76 #ifdef HAVE_SYS_PARAM_H
77 #include <sys/param.h> /* for MIN/MAX macros */
78 #endif
79 #ifdef HAVE_UNISTD_H
80 #include <unistd.h>
81 #endif
82 #ifdef HAVE_FCNTL_H
83 #include <fcntl.h>
84 #endif
85
86 #ifndef true
87 #define true 1
88 #define false 0
89 #endif
90
91 #endif /* SYSTEM_H */