]> git.ipfire.org Git - thirdparty/squid.git/blob - src/typedefs.h
Merge from trunk
[thirdparty/squid.git] / src / typedefs.h
1
2 /*
3 * $Id$
4 *
5 *
6 * SQUID Web Proxy Cache http://www.squid-cache.org/
7 * ----------------------------------------------------------
8 *
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.
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.
22 *
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.
27 *
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
34 #include "squid.h"
35
36 #ifndef SQUID_TYPEDEFS_H
37 #define SQUID_TYPEDEFS_H
38
39 typedef int32_t sfileno;
40 typedef signed int sdirno;
41
42 typedef uint32_t nfmark_t;
43 typedef unsigned char tos_t;
44
45 typedef struct {
46 size_t bytes;
47 size_t kb;
48 } kb_t;
49
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;
54
55
56 /// \ingroup AuthAPI
57 /// \deprecated Use AuthUserHashPointer instead.
58 typedef struct AuthUserHashPointer auth_user_hash_pointer;
59
60 /* temporary: once Config is fully hidden, this shouldn't be needed */
61 #include "Array.h"
62
63 class AuthConfig;
64 typedef Vector<AuthConfig *> authConfig;
65
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;
74
75 struct http_port_list;
76 struct https_port_list;
77
78 //UNUSED typedef struct _SquidConfig SquidConfig;
79 //UNUSED typedef struct _SquidConfig2 SquidConfig2;
80
81 typedef struct _close_handler close_handler;
82
83 typedef struct _dread_ctrl dread_ctrl;
84
85 typedef struct _dwrite_q dwrite_q;
86
87 typedef struct _ETag ETag;
88
89 //UNUSED class fde;
90
91 typedef struct _fileMap fileMap;
92
93 typedef struct _HttpHeaderFieldAttrs HttpHeaderFieldAttrs;
94
95 //UNUSED class HttpHeaderFieldInfo;
96 //UNUSED class HttpHeader;
97 //UNUSED class HttpHdrCc;
98
99 typedef struct _TimeOrTag TimeOrTag;
100
101 //UNUSED class HttpHeaderFieldStat;
102
103 typedef struct _HttpHeaderStat HttpHeaderStat;
104
105 typedef struct _HttpBody HttpBody;
106
107 //UNUSED class HttpReply;
108
109 typedef struct _ConnCloseHelperData ConnCloseHelperData;
110
111 typedef struct _ipcache_addrs ipcache_addrs;
112
113 typedef struct _domain_ping domain_ping;
114
115 typedef struct _domain_type domain_type;
116
117 typedef struct _DynPool DynPool;
118
119 typedef struct _DigestFetchState DigestFetchState;
120
121 //UNUSED class PeerDigest;
122
123 //UNUSED typedef struct _peer peer;
124
125 typedef struct _net_db_name net_db_name;
126
127 typedef struct _net_db_peer net_db_peer;
128
129 typedef struct _netdbEntry netdbEntry;
130
131 typedef struct _icp_common_t icp_common_t;
132
133 typedef struct _Meta_data Meta_data;
134
135 typedef struct _iostats iostats;
136
137 //UNUSED class MemBuf;
138
139 //UNUSED class store_client;
140
141 //UNUSED class SwapDir;
142
143 typedef struct _http_state_flags http_state_flags;
144
145 typedef struct _header_mangler header_mangler;
146
147 typedef struct _body_size body_size;
148
149 //UNUSED class HttpRequest;
150
151 typedef struct _cachemgr_passwd cachemgr_passwd;
152
153 typedef struct _refresh_t refresh_t;
154
155 typedef struct _CommWriteStateData CommWriteStateData;
156
157 typedef struct _StatCounters StatCounters;
158
159 /// \todo DROP: deprecated and no longer used.
160 typedef struct _storeSwapLogData storeSwapLogData;
161
162 typedef struct _StatHist StatHist;
163
164 typedef struct _cd_guess_stats cd_guess_stats;
165
166 typedef struct _CacheDigest CacheDigest;
167
168 typedef struct _Version Version;
169
170 typedef struct _link_list link_list;
171
172 typedef struct _logformat logformat;
173
174 typedef struct _customlog customlog;
175
176 #if SQUID_SNMP
177 typedef variable_list *(oid_ParseFn) (variable_list *, snint *);
178
179 typedef struct _snmp_request_t snmp_request_t;
180 #endif
181
182 typedef void FREE(void *);
183 typedef void CBDUNL(void *);
184 typedef void FOCB(void *, int fd, int errcode);
185 typedef void PF(int, void *);
186
187 /* disk.c / diskd.c callback typedefs */
188 typedef void DRCB(int, const char *buf, int size, int errflag, void *data);
189 /* Disk read CB */
190 typedef void DWCB(int, int, size_t, void *); /* disk write CB */
191 typedef void DOCB(int, int errflag, void *data); /* disk open CB */
192 typedef void DCCB(int, int errflag, void *data); /* disk close CB */
193 typedef void DUCB(int errflag, void *data); /* disk unlink CB */
194 typedef void DTCB(int errflag, void *data); /* disk trunc CB */
195
196 class DnsLookupDetails;
197 typedef void FQDNH(const char *, const DnsLookupDetails &details, void *);
198 typedef void IDCB(const char *ident, void *data);
199 typedef void IPH(const ipcache_addrs *, const DnsLookupDetails &details, void *);
200 typedef void IRCB(struct peer *, peer_t, protocol_t, void *, void *data);
201
202 typedef void RH(void *data, char *);
203 /* in wordlist.h */
204
205 class wordlist;
206 typedef void UH(void *data, wordlist *);
207 typedef int READ_HANDLER(int, char *, int);
208 typedef int WRITE_HANDLER(int, const char *, int);
209
210 typedef int QS(const void *, const void *); /* qsort */
211 typedef void STABH(void *);
212 typedef void ERCB(int fd, void *, size_t);
213 class StoreEntry;
214 typedef void OBJH(StoreEntry *);
215 typedef void SIGHDLR(int sig);
216 typedef void STVLDCB(void *, int, int);
217 typedef void HLPCB(void *, char *buf);
218 typedef int HLPSAVAIL(void *);
219 typedef void HLPSONEQ(void *);
220 typedef void HLPCMDOPTS(int *argc, char **argv);
221 typedef void IDNSCB(void *, rfc1035_rr *, int, const char *);
222
223 typedef double hbase_f(double);
224 typedef void StatHistBinDumper(StoreEntry *, int idx, double val, double size, int count);
225
226 /* MD5 cache keys */
227 typedef unsigned char cache_key;
228
229 /* in case we want to change it later */
230 typedef ssize_t mb_size_t;
231
232 typedef int STDIRSELECT(const StoreEntry *);
233 #endif /* SQUID_TYPEDEFS_H */