remove extraneous svn:executable properties
[asterisk/asterisk.git] / include / asterisk / compat.h
1 /*
2  * Asterisk -- A telephony toolkit for Linux.
3  * 
4  * Copyright (C) 1999-2005, Mark Spencer
5  *
6  * Mark Spencer <markster@digium.com>
7  *
8  * This program is free software, distributed under the terms of
9  * the GNU General Public License
10  */
11
12 /*! \file
13  * \brief General Definitions for Asterisk top level program
14  */
15
16 #ifndef _COMPAT_H
17 #define _COMPAT_H
18
19 #ifdef SOLARIS
20 #define __BEGIN_DECLS
21 #define __END_DECLS
22
23 #ifndef __P
24 #define __P(p) p
25 #endif
26
27 #include <alloca.h>
28 #include <strings.h>
29 #include <string.h>
30 #include <pthread.h>
31 #include <sys/stat.h>
32 #include <signal.h>
33 #include <netinet/in.h>
34
35 #ifndef BYTE_ORDER
36 #define LITTLE_ENDIAN   1234
37 #define BIG_ENDIAN      4321
38
39 #ifdef __sparc__
40 #define BYTE_ORDER      BIG_ENDIAN
41 #else
42 #define BYTE_ORDER      LITTLE_ENDIAN
43 #endif
44 #endif
45
46 #ifndef __BYTE_ORDER
47 #define __LITTLE_ENDIAN LITTLE_ENDIAN
48 #define __BIG_ENDIAN BIG_ENDIAN
49 #define __BYTE_ORDER BYTE_ORDER
50 #endif
51
52 #ifndef __BIT_TYPES_DEFINED__
53 #define __BIT_TYPES_DEFINED__
54 typedef unsigned char   u_int8_t;
55 typedef unsigned short  u_int16_t;
56 typedef unsigned int    u_int32_t;
57 #endif
58
59 char* strsep(char** str, const char* delims);
60 int setenv(const char *name, const char *value, int overwrite);
61 int unsetenv(const char *name);
62 #endif /* SOLARIS */
63
64 #ifdef __CYGWIN__
65 #define _WIN32_WINNT 0x0500
66 #ifndef INET_ADDRSTRLEN
67 #define INET_ADDRSTRLEN  16
68 #endif
69 #ifndef INET6_ADDRSTRLEN
70 #define INET6_ADDRSTRLEN 46
71 #endif
72 #endif /* __CYGWIN__ */
73
74 #define HAVE_VASPRINTF
75 #define HAVE_STRTOQ
76
77 #ifdef _BSD_SOURCE
78 #define HAVE_GETLOADAVG
79 #endif
80
81 #ifdef __linux__
82 #define HAVE_STRCASESTR
83 #define HAVE_STRNDUP
84 #define HAVE_STRNLEN
85 #endif
86
87 #ifdef SOLARIS
88 #undef HAVE_VASPRINTF
89 #undef HAVE_STRTOQ
90 #endif
91
92 #ifdef __CYGWIN__
93 #undef HAVE_STRTOQ
94 typedef unsigned long long uint64_t;
95 #endif
96
97 #endif