]> git.ipfire.org Git - thirdparty/squid.git/blame - src/typedefs.h
Author: Andrew Beverley <andy@andybev.com>
[thirdparty/squid.git] / src / typedefs.h
CommitLineData
a8258824 1
9cef6668 2/*
262a0e14 3 * $Id$
9cef6668 4 *
5 *
2b6662ba 6 * SQUID Web Proxy Cache http://www.squid-cache.org/
9cef6668 7 * ----------------------------------------------------------
8 *
2b6662ba 9 * Squid is the result of efforts by numerous individuals from
10 * the Internet community; see the CONTRIBUTORS file for full
11 * details. Many organizations have provided support for Squid's
12 * development; see the SPONSORS file for full details. Squid is
13 * Copyrighted (C) 2001 by the Regents of the University of
14 * California; see the COPYRIGHT file for full details. Squid
15 * incorporates software developed and/or copyrighted by other
16 * sources; see the CREDITS file for full details.
9cef6668 17 *
18 * This program is free software; you can redistribute it and/or modify
19 * it under the terms of the GNU General Public License as published by
20 * the Free Software Foundation; either version 2 of the License, or
21 * (at your option) any later version.
26ac0430 22 *
9cef6668 23 * This program is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
26ac0430 27 *
9cef6668 28 * You should have received a copy of the GNU General Public License
29 * along with this program; if not, write to the Free Software
30 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
31 *
32 */
33
528b2c61 34#include "squid.h"
35
b5638623 36#ifndef SQUID_TYPEDEFS_H
37#define SQUID_TYPEDEFS_H
c8366e06 38
49991b92 39typedef int32_t sfileno;
69f72d8b 40typedef signed int sdirno;
a8258824 41
425de4c8
AJ
42typedef uint32_t nfmark_t;
43typedef unsigned char tos_t;
44
26ac0430 45typedef struct {
0e473d70 46 size_t bytes;
47 size_t kb;
2fadd50d 48} kb_t;
a7c05555 49
e1f7507e
AJ
50//UNUSED typedef struct _acl_time_data acl_time_data;
51//UNUSED typedef struct _acl_name_list acl_name_list;
52//UNUSED typedef struct _acl_deny_info_list acl_deny_info_list;
53//UNUSED typedef class AuthUser auth_user_t;
62e76326 54
62e76326 55
63be0a78 56/// \ingroup AuthAPI
57/// \deprecated Use AuthUserHashPointer instead.
e6ccf245 58typedef struct AuthUserHashPointer auth_user_hash_pointer;
62e76326 59
f5691f9c 60/* temporary: once Config is fully hidden, this shouldn't be needed */
61#include "Array.h"
62e76326 62
f5691f9c 63class AuthConfig;
64typedef Vector<AuthConfig *> authConfig;
62e76326 65
e1f7507e
AJ
66//UNUSED typedef struct _acl_snmp_comm acl_snmp_comm;
67//UNUSED typedef class ACLList acl_list;
68//UNUSED typedef struct _acl_address acl_address;
69//UNUSED typedef struct _acl_tos acl_tos;
70//UNUSED typedef struct _acl_size_t acl_size_t;
71//UNUSED class ACLChecklist;
72//UNUSED typedef struct _ushortlist ushortlist;
73//UNUSED typedef struct _relist relist;
62e76326 74
4c9da963 75struct http_port_list;
76struct https_port_list;
62e76326 77
e1f7507e
AJ
78//UNUSED typedef struct _SquidConfig SquidConfig;
79//UNUSED typedef struct _SquidConfig2 SquidConfig2;
62e76326 80
a8258824 81typedef struct _close_handler close_handler;
62e76326 82
a8258824 83typedef struct _dread_ctrl dread_ctrl;
62e76326 84
a8258824 85typedef struct _dwrite_q dwrite_q;
62e76326 86
a9771e51 87typedef struct _ETag ETag;
62e76326 88
e1f7507e 89//UNUSED class fde;
62e76326 90
a8258824 91typedef struct _fileMap fileMap;
62e76326 92
de336bbe 93typedef struct _HttpHeaderFieldAttrs HttpHeaderFieldAttrs;
62e76326 94
e1f7507e
AJ
95//UNUSED class HttpHeaderFieldInfo;
96//UNUSED class HttpHeader;
97//UNUSED class HttpHdrCc;
62e76326 98
a9771e51 99typedef struct _TimeOrTag TimeOrTag;
62e76326 100
e1f7507e 101//UNUSED class HttpHeaderFieldStat;
62e76326 102
fcd2d3ef 103typedef struct _HttpHeaderStat HttpHeaderStat;
62e76326 104
adba4a64 105typedef struct _HttpBody HttpBody;
62e76326 106
e1f7507e 107//UNUSED class HttpReply;
62e76326 108
94439e4e 109typedef struct _ConnCloseHelperData ConnCloseHelperData;
62e76326 110
a8258824 111typedef struct _ipcache_addrs ipcache_addrs;
62e76326 112
a8258824 113typedef struct _domain_ping domain_ping;
62e76326 114
a8258824 115typedef struct _domain_type domain_type;
62e76326 116
7021844c 117typedef struct _DynPool DynPool;
62e76326 118
7eabe1e8 119typedef struct _DigestFetchState DigestFetchState;
62e76326 120
e1f7507e 121//UNUSED class PeerDigest;
62e76326 122
e1f7507e 123//UNUSED typedef struct _peer peer;
62e76326 124
a8258824 125typedef struct _net_db_name net_db_name;
62e76326 126
a8258824 127typedef struct _net_db_peer net_db_peer;
62e76326 128
a8258824 129typedef struct _netdbEntry netdbEntry;
62e76326 130
a8258824 131typedef struct _icp_common_t icp_common_t;
62e76326 132
a8258824 133typedef struct _Meta_data Meta_data;
62e76326 134
a8258824 135typedef struct _iostats iostats;
62e76326 136
e1f7507e 137//UNUSED class MemBuf;
62e76326 138
e1f7507e 139//UNUSED class store_client;
62e76326 140
e1f7507e 141//UNUSED class SwapDir;
62e76326 142
b515fc11 143typedef struct _http_state_flags http_state_flags;
62e76326 144
6bccf575 145typedef struct _header_mangler header_mangler;
62e76326 146
a560ee93 147typedef struct _body_size body_size;
62e76326 148
e1f7507e 149//UNUSED class HttpRequest;
62e76326 150
a8258824 151typedef struct _cachemgr_passwd cachemgr_passwd;
62e76326 152
a8258824 153typedef struct _refresh_t refresh_t;
62e76326 154
a8258824 155typedef struct _CommWriteStateData CommWriteStateData;
62e76326 156
f2908497 157typedef struct _StatCounters StatCounters;
62e76326 158
63be0a78 159/// \todo DROP: deprecated and no longer used.
07304bf9 160typedef struct _storeSwapLogData storeSwapLogData;
62e76326 161
12cf1be2 162typedef struct _StatHist StatHist;
62e76326 163
7eabe1e8 164typedef struct _cd_guess_stats cd_guess_stats;
62e76326 165
c411be12 166typedef struct _CacheDigest CacheDigest;
62e76326 167
7eabe1e8 168typedef struct _Version Version;
62e76326 169
d03d26fb 170typedef struct _link_list link_list;
62e76326 171
7684c4b1 172typedef struct _logformat logformat;
173
174typedef struct _customlog customlog;
175
a9ddb359 176#if SQUID_SNMP
dba79ac5 177typedef variable_list *(oid_ParseFn) (variable_list *, snint *);
62e76326 178
a9ddb359 179typedef struct _snmp_request_t snmp_request_t;
a9ddb359 180#endif
181
f5b8bbc4 182typedef void FREE(void *);
28c60158 183typedef void CBDUNL(void *);
6cf028ab 184typedef void FOCB(void *, int fd, int errcode);
f5b8bbc4 185typedef void PF(int, void *);
cd748f27 186
187/* disk.c / diskd.c callback typedefs */
188typedef void DRCB(int, const char *buf, int size, int errflag, void *data);
62e76326 189/* Disk read CB */
a4b8110e 190typedef void DWCB(int, int, size_t, void *); /* disk write CB */
cd748f27 191typedef void DOCB(int, int errflag, void *data); /* disk open CB */
192typedef void DCCB(int, int errflag, void *data); /* disk close CB */
a4b8110e 193typedef void DUCB(int errflag, void *data); /* disk unlink CB */
194typedef void DTCB(int errflag, void *data); /* disk trunc CB */
cd748f27 195
3ff65596
AR
196class DnsLookupDetails;
197typedef void FQDNH(const char *, const DnsLookupDetails &details, void *);
05832ae1 198typedef void IDCB(const char *ident, void *data);
3ff65596 199typedef void IPH(const ipcache_addrs *, const DnsLookupDetails &details, void *);
e1f7507e 200typedef void IRCB(struct peer *, peer_t, protocol_t, void *, void *data);
b6b6f466 201
202class FwdServer;
db1cd23c 203typedef void PSC(FwdServer *, void *);
23d92c64 204typedef void RH(void *data, char *);
d295d770 205/* in wordlist.h */
206
207class wordlist;
23d92c64 208typedef void UH(void *data, wordlist *);
1f7c9178 209typedef int READ_HANDLER(int, char *, int);
210typedef int WRITE_HANDLER(int, const char *, int);
a8258824 211
f5b8bbc4 212typedef int QS(const void *, const void *); /* qsort */
f5b8bbc4 213typedef void STABH(void *);
79a15e0a 214typedef void ERCB(int fd, void *, size_t);
e1f7507e 215class StoreEntry;
f5b8bbc4 216typedef void OBJH(StoreEntry *);
217typedef void SIGHDLR(int sig);
f09f5b26 218typedef void STVLDCB(void *, int, int);
74addf6c 219typedef void HLPCB(void *, char *buf);
94439e4e 220typedef int HLPSAVAIL(void *);
221typedef void HLPSONEQ(void *);
74addf6c 222typedef void HLPCMDOPTS(int *argc, char **argv);
7ba8d0b8 223typedef void IDNSCB(void *, rfc1035_rr *, int, const char *);
9fb13bb6 224
95c297ec 225typedef double hbase_f(double);
ba4f8e5a 226typedef void StatHistBinDumper(StoreEntry *, int idx, double val, double size, int count);
adba4a64 227
f09f5b26 228/* MD5 cache keys */
6507d007 229typedef unsigned char cache_key;
123abbe1 230
1a3db59c 231/* in case we want to change it later */
9bc73deb 232typedef ssize_t mb_size_t;
02922e76 233
65a53c8e 234typedef int STDIRSELECT(const StoreEntry *);
b5638623 235#endif /* SQUID_TYPEDEFS_H */