6 * SQUID Web Proxy Cache http://www.squid-cache.org/
7 * ----------------------------------------------------------
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.
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.
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.
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.
36 #ifndef SQUID_TYPEDEFS_H
37 #define SQUID_TYPEDEFS_H
39 typedef int32_t sfileno
;
40 typedef signed int sdirno
;
42 typedef uint32_t nfmark_t
;
43 typedef unsigned char tos_t
;
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;
57 /// \deprecated Use AuthUserHashPointer instead.
58 typedef struct AuthUserHashPointer auth_user_hash_pointer
;
60 /* temporary: once Config is fully hidden, this shouldn't be needed */
64 typedef Vector
<AuthConfig
*> authConfig
;
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;
75 struct http_port_list
;
76 struct https_port_list
;
78 //UNUSED typedef struct _SquidConfig SquidConfig;
79 //UNUSED typedef struct _SquidConfig2 SquidConfig2;
81 typedef struct _close_handler close_handler
;
83 typedef struct _dread_ctrl dread_ctrl
;
85 typedef struct _dwrite_q dwrite_q
;
87 typedef struct _ETag ETag
;
91 typedef struct _fileMap fileMap
;
93 typedef struct _HttpHeaderFieldAttrs HttpHeaderFieldAttrs
;
95 //UNUSED class HttpHeaderFieldInfo;
96 //UNUSED class HttpHeader;
97 //UNUSED class HttpHdrCc;
99 typedef struct _TimeOrTag TimeOrTag
;
101 //UNUSED class HttpHeaderFieldStat;
103 typedef struct _HttpHeaderStat HttpHeaderStat
;
105 typedef struct _HttpBody HttpBody
;
107 //UNUSED class HttpReply;
109 typedef struct _ConnCloseHelperData ConnCloseHelperData
;
111 typedef struct _ipcache_addrs ipcache_addrs
;
113 typedef struct _domain_ping domain_ping
;
115 typedef struct _domain_type domain_type
;
117 typedef struct _DynPool DynPool
;
119 typedef struct _DigestFetchState DigestFetchState
;
121 //UNUSED class PeerDigest;
123 //UNUSED typedef struct _peer peer;
125 typedef struct _net_db_name net_db_name
;
127 typedef struct _net_db_peer net_db_peer
;
129 typedef struct _netdbEntry netdbEntry
;
131 typedef struct _icp_common_t icp_common_t
;
133 typedef struct _Meta_data Meta_data
;
135 typedef struct _iostats iostats
;
137 //UNUSED class MemBuf;
139 //UNUSED class store_client;
141 //UNUSED class SwapDir;
143 typedef struct _http_state_flags http_state_flags
;
145 typedef struct _header_mangler header_mangler
;
147 typedef struct _body_size body_size
;
149 //UNUSED class HttpRequest;
151 typedef struct _cachemgr_passwd cachemgr_passwd
;
153 typedef struct _refresh_t refresh_t
;
155 typedef struct _CommWriteStateData CommWriteStateData
;
157 typedef struct _StatCounters StatCounters
;
159 /// \todo DROP: deprecated and no longer used.
160 typedef struct _storeSwapLogData storeSwapLogData
;
162 typedef struct _StatHist StatHist
;
164 typedef struct _cd_guess_stats cd_guess_stats
;
166 typedef struct _CacheDigest CacheDigest
;
168 typedef struct _Version Version
;
170 typedef struct _link_list link_list
;
172 typedef struct _logformat logformat
;
174 typedef struct _customlog customlog
;
177 typedef variable_list
*(oid_ParseFn
) (variable_list
*, snint
*);
179 typedef struct _snmp_request_t snmp_request_t
;
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 *);
187 /* disk.c / diskd.c callback typedefs */
188 typedef void DRCB(int, const char *buf
, int size
, int errflag
, void *data
);
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 */
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
);
202 typedef void RH(void *data
, char *);
206 typedef void UH(void *data
, wordlist
*);
207 typedef int READ_HANDLER(int, char *, int);
208 typedef int WRITE_HANDLER(int, const char *, int);
210 typedef int QS(const void *, const void *); /* qsort */
211 typedef void STABH(void *);
212 typedef void ERCB(int fd
, void *, size_t);
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 *);
223 typedef double hbase_f(double);
224 typedef void StatHistBinDumper(StoreEntry
*, int idx
, double val
, double size
, int count
);
227 typedef unsigned char cache_key
;
229 /* in case we want to change it later */
230 typedef ssize_t mb_size_t
;
232 typedef int STDIRSELECT(const StoreEntry
*);
233 #endif /* SQUID_TYPEDEFS_H */