~chtsanti/squid/icap-max-connections

« back to all changes in this revision

Viewing changes to compat/compat.h

  • Committer: Christos Tsantilas
  • Date: 2009-02-18 22:18:35 UTC
  • mfrom: (9294.1.215 trunk)
  • Revision ID: chtsanti@users.sourceforge.net-20090218221835-lfxxe3bs8uhu0b1h
MergeĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef SQUID_CONFIG_H
 
2
#include "config.h"
 
3
#endif
 
4
 
 
5
#ifndef _SQUID_COMPAT_H
 
6
#define _SQUID_COMPAT_H
 
7
 
 
8
/*
 
9
 * From discussions it was chosen to push compat code as far down as possible.
 
10
 * That means we can have a seperate compat for most
 
11
 *  compatability and portability hacks and resolutions.
 
12
 * 
 
13
 * This file is meant to collate all those hacks files together and
 
14
 * provide a simple include for them in the core squid headers
 
15
 * (presently squid.h and config.h) 
 
16
 *
 
17
 * It should not be included directly in any of the squid sources.
 
18
 * If your code requires any symbols from here you should be importing
 
19
 * config.h/squid.h at the top line of your .cc or .h file.
 
20
 */
 
21
 
 
22
 
 
23
/******************************************************/
 
24
/* Define the _SQUID_TYPE_ based on a guess of the OS */
 
25
/* NP: this MUST come first within compat.h           */
 
26
/******************************************************/
 
27
#include "compat/osdetect.h"
 
28
 
 
29
 
 
30
/*****************************************************/
 
31
/* FDSETSIZE is messy and needs to be done before    */
 
32
/* sys/types.h are defined.                          */
 
33
/*****************************************************/
 
34
#include "compat/fdsetsize.h"
 
35
 
 
36
 
 
37
/*****************************************************/
 
38
/* Global type re-definitions                        */
 
39
/* this also takes care of the basic system includes */
 
40
/*****************************************************/
 
41
 
 
42
/** On linux this must be defined to get PRId64 and friends */
 
43
#define __STDC_FORMAT_MACROS
 
44
 
 
45
#include "squid_types.h"
 
46
 
 
47
/*****************************************************/
 
48
/* per-OS hacks. One file per OS.                    */
 
49
/* OS-macro wrapping should be done inside the OS .h */
 
50
/*****************************************************/
 
51
 
 
52
#include "compat/os/aix.h"
 
53
#include "compat/os/dragonfly.h"
 
54
#include "compat/os/freebsd.h"
 
55
#include "compat/os/hpux.h"
 
56
#include "compat/os/linux.h"
 
57
#include "compat/os/mswin.h"
 
58
#include "compat/os/next.h"
 
59
#include "compat/os/openbsd.h"
 
60
#include "compat/os/os2.h"
 
61
#include "compat/os/qnx.h"
 
62
#include "compat/os/sgi.h"
 
63
#include "compat/os/solaris.h"
 
64
#include "compat/os/sunos.h"
 
65
#include "compat/os/windows.h"
 
66
 
 
67
 
 
68
/*****************************************************/
 
69
/* portabilities shared between all platforms and    */
 
70
/* components as found to be needed                  */
 
71
/*****************************************************/
 
72
 
 
73
#include "compat/compat_shared.h"
 
74
#include "compat/stdvarargs.h"
 
75
#include "compat/assert.h"
 
76
 
 
77
/*****************************************************/
 
78
/* component-specific portabilities                  */
 
79
/*****************************************************/
 
80
 
 
81
/* Valgrind API macros changed between two versions squid supports */
 
82
#include "compat/valgrind.h"
 
83
 
 
84
/* Endian functions are usualy handled by the OS but not always. */
 
85
#include "squid_endian.h"
 
86
 
 
87
/**
 
88
 * A Regular Expression library is bundled with Squid.
 
89
 * Default is to use a system provided one, but the bundle
 
90
 * may be used instead with explicit configuration.
 
91
 */
 
92
#include "compat/GnuRegex.h"
 
93
 
 
94
 
 
95
#endif /* _SQUID_COMPAT_H */