]> git.ipfire.org Git - thirdparty/squid.git/blob - tools/purge/conffile.hh
Author: Jens-S. V�ckler <voeckler@rvs.uni-hannover.de>
[thirdparty/squid.git] / tools / purge / conffile.hh
1 //
2 // $Id: conffile.hh,v 1.2 2000/09/21 10:17:17 cached Exp $
3 //
4 // Author: Jens-S. Vöckler <voeckler@rvs.uni-hannover.de>
5 //
6 // File: conffile.hh
7 // Fri Sep 15 2000
8 //
9 // (c) 2000 Lehrgebiet Rechnernetze und Verteilte Systeme
10 // Universität Hannover, Germany
11 //
12 // Permission to use, copy, modify, distribute, and sell this software
13 // and its documentation for any purpose is hereby granted without fee,
14 // provided that (i) the above copyright notices and this permission
15 // notice appear in all copies of the software and related documentation,
16 // and (ii) the names of the Lehrgebiet Rechnernetze und Verteilte
17 // Systeme and the University of Hannover may not be used in any
18 // advertising or publicity relating to the software without the
19 // specific, prior written permission of Lehrgebiet Rechnernetze und
20 // Verteilte Systeme and the University of Hannover.
21 //
22 // THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
23 // EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
24 // WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
25 //
26 // IN NO EVENT SHALL THE LEHRGEBIET RECHNERNETZE UND VERTEILTE SYSTEME OR
27 // THE UNIVERSITY OF HANNOVER BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
28 // INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
29 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT
30 // ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY,
31 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
32 // SOFTWARE.
33 //
34 // $Log: conffile.hh,v $
35 // Revision 1.2 2000/09/21 10:17:17 cached
36 // namespace std:: needed for Sun WS compiler.
37 //
38 // Revision 1.1 2000/09/21 09:45:14 voeckler
39 // Initial revision
40 //
41 //
42 #ifndef _CONFFILE_HH
43 #define _CONFFILE_HH
44
45 #if defined(__GNUC__) || defined(__GNUG__)
46 #pragma interface
47 #else
48 #ifndef HAS_BOOL
49 #define HAS_BOOL
50 typedef int bool;
51 #define false 0
52 #define true 1
53 #endif
54 #endif
55
56
57 #ifndef DEFAULT_SQUID_CONF
58 #define DEFAULT_SQUID_CONF "/usr/local/squid/etc/squid.conf"
59 #endif // DEFAULT_SQUID_CONF
60
61 #include <stdio.h> // FILE*
62 #include <vector> // minimum STL container
63
64 struct CacheDir {
65 enum CacheDirType { CDT_NONE, CDT_UFS, CDT_AUFS, CDT_DISKD, CDT_OTHER };
66
67 const char* base;
68 CacheDirType type;
69 size_t size;
70 unsigned level[2];
71 };
72
73 typedef std::vector<CacheDir> CacheDirVector;
74
75 int
76 readConfigFile( CacheDirVector& cachedir,
77 const char* fn = DEFAULT_SQUID_CONF,
78 FILE* debug = 0 );
79 // purpose: read squid.conf file and extract cache_dir entries
80 // paramtr: cachedir (OUT): vector with an entry for each cache_dir found
81 // fn (IN): file name of squid.conf to use
82 // debug (IO): if not null, place debug information there
83 // returns: number of entries, or negative to warn of errors
84
85 #endif // _CONFFILE_HH