extern int intlistFind(intlist * list, int i);
extern void wordlistDestroy(wordlist **);
extern void configFreeMemory(void);
-extern void wordlistCat(const wordlist *, MemBuf *mb);
+extern void wordlistCat(const wordlist *, MemBuf * mb);
extern void cbdataInit(void);
#if CBDATA_DEBUG
extern HttpHdrRange *httpHdrRangeDup(const HttpHdrRange * range);
extern void httpHdrRangePackInto(const HttpHdrRange * range, Packer * p);
/* iterate through specs */
-extern int httpHdrRangeGetSpec(const HttpHdrRange * range, HttpHdrRangeSpec * spec, HttpHdrRangePos *pos);
+extern int httpHdrRangeGetSpec(const HttpHdrRange * range, HttpHdrRangeSpec * spec, HttpHdrRangePos * pos);
/* adjust specs after the length is known */
extern int httpHdrRangeCanonize(HttpHdrRange * range, size_t clen);
/* other */
extern int httpHeaderParseInt(const char *start, int *val);
extern int httpHeaderParseSize(const char *start, size_t * sz);
#ifdef __STDC__
- extern void httpHeaderPutStrf(HttpHeader * hdr, http_hdr_type id, const char *fmt, ...);
+extern void httpHeaderPutStrf(HttpHeader * hdr, http_hdr_type id, const char *fmt,...);
#else
- extern void httpHeaderPutStrf()
+extern void
+ httpHeaderPutStrf();
#endif
/* Http Header */
- extern void httpHeaderInitModule();
- extern void httpHeaderCleanModule();
+extern void httpHeaderInitModule();
+extern void httpHeaderCleanModule();
/* init/clean */
- extern void httpHeaderInit(HttpHeader * hdr, http_hdr_owner_type owner);
- extern void httpHeaderClean(HttpHeader * hdr);
+extern void httpHeaderInit(HttpHeader * hdr, http_hdr_owner_type owner);
+extern void httpHeaderClean(HttpHeader * hdr);
/* append/update */
- extern void httpHeaderAppend(HttpHeader * dest, const HttpHeader * src);
- extern void httpHeaderUpdate(HttpHeader * old, const HttpHeader * fresh, const HttpHeaderMask *denied_mask);
+extern void httpHeaderAppend(HttpHeader * dest, const HttpHeader * src);
+extern void httpHeaderUpdate(HttpHeader * old, const HttpHeader * fresh, const HttpHeaderMask * denied_mask);
/* parse/pack */
- extern int httpHeaderParse(HttpHeader * hdr, const char *header_start, const char *header_end);
- extern void httpHeaderPackInto(const HttpHeader * hdr, Packer * p);
+extern int httpHeaderParse(HttpHeader * hdr, const char *header_start, const char *header_end);
+extern void httpHeaderPackInto(const HttpHeader * hdr, Packer * p);
/* field manipulation */
- extern int httpHeaderHas(const HttpHeader * hdr, http_hdr_type type);
- extern void httpHeaderPutInt(HttpHeader * hdr, http_hdr_type type, int number);
- extern void httpHeaderPutTime(HttpHeader * hdr, http_hdr_type type, time_t time);
- extern void httpHeaderPutStr(HttpHeader * hdr, http_hdr_type type, const char *str);
- extern void httpHeaderPutAuth(HttpHeader * hdr, const char *authScheme, const char *realm);
- extern void httpHeaderPutCc(HttpHeader * hdr, const HttpHdrCc * cc);
- extern void httpHeaderPutContRange(HttpHeader * hdr, const HttpHdrContRange *cr);
- extern void httpHeaderPutRange(HttpHeader * hdr, const HttpHdrRange *range);
- extern void httpHeaderPutExt(HttpHeader * hdr, const char *name, const char *value);
- extern int httpHeaderGetInt(const HttpHeader * hdr, http_hdr_type id);
- extern time_t httpHeaderGetTime(const HttpHeader * hdr, http_hdr_type id);
- extern HttpHdrCc *httpHeaderGetCc(const HttpHeader * hdr);
- extern HttpHdrRange *httpHeaderGetRange(const HttpHeader * hdr);
- extern HttpHdrContRange *httpHeaderGetContRange(const HttpHeader * hdr);
- extern const char *httpHeaderGetStr(const HttpHeader * hdr, http_hdr_type id);
- extern const char *httpHeaderGetLastStr(const HttpHeader * hdr, http_hdr_type id);
- extern const char *httpHeaderGetAuth(const HttpHeader * hdr, http_hdr_type id, const char *authScheme);
- extern String httpHeaderGetList(const HttpHeader * hdr, http_hdr_type id);
- extern int httpHeaderDelByName(HttpHeader * hdr, const char *name);
- extern int httpHeaderDelById(HttpHeader * hdr, http_hdr_type id);
- extern void httpHeaderDelAt(HttpHeader * hdr, HttpHeaderPos pos);
+extern int httpHeaderHas(const HttpHeader * hdr, http_hdr_type type);
+extern void httpHeaderPutInt(HttpHeader * hdr, http_hdr_type type, int number);
+extern void httpHeaderPutTime(HttpHeader * hdr, http_hdr_type type, time_t time);
+extern void httpHeaderPutStr(HttpHeader * hdr, http_hdr_type type, const char *str);
+extern void httpHeaderPutAuth(HttpHeader * hdr, const char *authScheme, const char *realm);
+extern void httpHeaderPutCc(HttpHeader * hdr, const HttpHdrCc * cc);
+extern void httpHeaderPutContRange(HttpHeader * hdr, const HttpHdrContRange * cr);
+extern void httpHeaderPutRange(HttpHeader * hdr, const HttpHdrRange * range);
+extern void httpHeaderPutExt(HttpHeader * hdr, const char *name, const char *value);
+extern int httpHeaderGetInt(const HttpHeader * hdr, http_hdr_type id);
+extern time_t httpHeaderGetTime(const HttpHeader * hdr, http_hdr_type id);
+extern HttpHdrCc *httpHeaderGetCc(const HttpHeader * hdr);
+extern HttpHdrRange *httpHeaderGetRange(const HttpHeader * hdr);
+extern HttpHdrContRange *httpHeaderGetContRange(const HttpHeader * hdr);
+extern const char *httpHeaderGetStr(const HttpHeader * hdr, http_hdr_type id);
+extern const char *httpHeaderGetLastStr(const HttpHeader * hdr, http_hdr_type id);
+extern const char *httpHeaderGetAuth(const HttpHeader * hdr, http_hdr_type id, const char *authScheme);
+extern String httpHeaderGetList(const HttpHeader * hdr, http_hdr_type id);
+extern int httpHeaderDelByName(HttpHeader * hdr, const char *name);
+extern int httpHeaderDelById(HttpHeader * hdr, http_hdr_type id);
+extern void httpHeaderDelAt(HttpHeader * hdr, HttpHeaderPos pos);
/* avoid using these low level routines */
- extern HttpHeaderEntry *httpHeaderGetEntry(const HttpHeader * hdr, HttpHeaderPos * pos);
- extern HttpHeaderEntry *httpHeaderFindEntry(const HttpHeader * hdr, http_hdr_type id);
- extern void httpHeaderAddEntry(HttpHeader * hdr, HttpHeaderEntry * e);
- extern HttpHeaderEntry *httpHeaderEntryClone(const HttpHeaderEntry * e);
- extern void httpHeaderEntryPackInto(const HttpHeaderEntry * e, Packer * p);
+extern HttpHeaderEntry *httpHeaderGetEntry(const HttpHeader * hdr, HttpHeaderPos * pos);
+extern HttpHeaderEntry *httpHeaderFindEntry(const HttpHeader * hdr, http_hdr_type id);
+extern void httpHeaderAddEntry(HttpHeader * hdr, HttpHeaderEntry * e);
+extern HttpHeaderEntry *httpHeaderEntryClone(const HttpHeaderEntry * e);
+extern void httpHeaderEntryPackInto(const HttpHeaderEntry * e, Packer * p);
/* store report about current header usage and other stats */
- extern void httpHeaderStoreReport(StoreEntry * e);
+extern void httpHeaderStoreReport(StoreEntry * e);
/* Http Msg (currently in HttpReply.c @?@ ) */
- extern int httpMsgIsPersistent(float http_ver, const HttpHeader * hdr);
- extern int httpMsgIsolateHeaders(const char **parse_start, const char **blk_start, const char **blk_end);
+extern int httpMsgIsPersistent(float http_ver, const HttpHeader * hdr);
+extern int httpMsgIsolateHeaders(const char **parse_start, const char **blk_start, const char **blk_end);
/* Http Reply */
- extern void httpReplyInitModule();
+extern void httpReplyInitModule();
/* create/destroy */
- extern HttpReply *httpReplyCreate();
- extern void httpReplyDestroy(HttpReply * rep);
+extern HttpReply *httpReplyCreate();
+extern void httpReplyDestroy(HttpReply * rep);
/* reset: clean, then init */
- extern void httpReplyReset(HttpReply * rep);
+extern void httpReplyReset(HttpReply * rep);
/* absorb: copy the contents of a new reply to the old one, destroy new one */
- extern void httpReplyAbsorb(HttpReply * rep, HttpReply * new_rep);
+extern void httpReplyAbsorb(HttpReply * rep, HttpReply * new_rep);
/* parse returns -1,0,+1 on error,need-more-data,success */
- extern int httpReplyParse(HttpReply * rep, const char *buf); /*, int atEnd); */
- extern void httpReplyPackInto(const HttpReply * rep, Packer * p);
+extern int httpReplyParse(HttpReply * rep, const char *buf); /*, int atEnd); */
+extern void httpReplyPackInto(const HttpReply * rep, Packer * p);
/* ez-routines */
/* mem-pack: returns a ready to use mem buffer with a packed reply */
- extern MemBuf httpReplyPack(const HttpReply * rep);
+extern MemBuf httpReplyPack(const HttpReply * rep);
/* swap: create swap-based packer, pack, destroy packer */
- extern void httpReplySwapOut(const HttpReply * rep, StoreEntry * e);
+extern void httpReplySwapOut(const HttpReply * rep, StoreEntry * e);
/* set commonly used info with one call */
- extern void httpReplySetHeaders(HttpReply * rep, double ver, http_status status,
+extern void httpReplySetHeaders(HttpReply * rep, double ver, http_status status,
const char *reason, const char *ctype, int clen, time_t lmt, time_t expires);
/* do everything in one call: init, set, pack, clean, return MemBuf */
- extern MemBuf httpPackedReply(double ver, http_status status, const char *ctype,
+extern MemBuf httpPackedReply(double ver, http_status status, const char *ctype,
int clen, time_t lmt, time_t expires);
/* construct 304 reply and pack it into MemBuf, return MemBuf */
- extern MemBuf httpPacked304Reply(const HttpReply * rep);
+extern MemBuf httpPacked304Reply(const HttpReply * rep);
/* update when 304 reply is received for a cached object */
- extern void httpReplyUpdateOnNotModified(HttpReply * rep, HttpReply * freshRep);
+extern void httpReplyUpdateOnNotModified(HttpReply * rep, HttpReply * freshRep);
/* header manipulation */
- extern int httpReplyContentLen(const HttpReply * rep);
- extern const char *httpReplyContentType(const HttpReply * rep);
- extern time_t httpReplyExpires(const HttpReply * rep);
- extern int httpReplyHasCc(const HttpReply * rep, http_hdr_cc_type type);
+extern int httpReplyContentLen(const HttpReply * rep);
+extern const char *httpReplyContentType(const HttpReply * rep);
+extern time_t httpReplyExpires(const HttpReply * rep);
+extern int httpReplyHasCc(const HttpReply * rep, http_hdr_cc_type type);
/* Http Request */
- extern request_t *requestCreate(method_t, protocol_t, const char *urlpath);
- extern void requestDestroy(request_t *);
- extern request_t *requestLink(request_t *);
- extern void requestUnlink(request_t *);
- extern int httpRequestParseHeader(request_t * req, const char *parse_start);
- extern void httpRequestSwapOut(const request_t *req, StoreEntry *e);
- extern int httpRequestPrefixLen(const request_t *req);
- extern int httpRequestHdrAllowed(const HttpHeaderEntry * e, String * strConnection);
-
- extern void icmpOpen(void);
- extern void icmpClose(void);
- extern void icmpPing(struct in_addr to);
- extern void icmpSourcePing(struct in_addr to, const icp_common_t *, const char *url);
- extern void icmpDomainPing(struct in_addr to, const char *domain);
-
- extern void *icpCreateMessage(icp_opcode opcode,
+extern request_t *requestCreate(method_t, protocol_t, const char *urlpath);
+extern void requestDestroy(request_t *);
+extern request_t *requestLink(request_t *);
+extern void requestUnlink(request_t *);
+extern int httpRequestParseHeader(request_t * req, const char *parse_start);
+extern void httpRequestSwapOut(const request_t * req, StoreEntry * e);
+extern int httpRequestPrefixLen(const request_t * req);
+extern int httpRequestHdrAllowed(const HttpHeaderEntry * e, String * strConnection);
+
+extern void icmpOpen(void);
+extern void icmpClose(void);
+extern void icmpPing(struct in_addr to);
+extern void icmpSourcePing(struct in_addr to, const icp_common_t *, const char *url);
+extern void icmpDomainPing(struct in_addr to, const char *domain);
+
+extern void *icpCreateMessage(icp_opcode opcode,
int flags,
const char *url,
int reqnum,
int pad);
- extern int icpUdpSend(int, const struct sockaddr_in *, icp_common_t *, log_type, int);
- extern PF icpHandleUdp;
- extern PF httpAccept;
+extern int icpUdpSend(int, const struct sockaddr_in *, icp_common_t *, log_type, int);
+extern PF icpHandleUdp;
+extern PF httpAccept;
#ifdef SQUID_SNMP
- extern PF snmpHandleUdp;
- extern void snmpInit(void);
- extern int snmpInitConfig(void);
- extern void snmpConnectionOpen(void);
- extern void snmpConnectionShutdown(void);
- extern void snmpConnectionClose(void);
- extern int snmpCreateView(char **);
- extern int snmpCreateUser(char **);
- extern int snmpCreateCommunity(char **);
- extern void snmpTokenize(char *, char **, int);
- extern int snmpCompare(oid * name1, int len1, oid * name2, int len2);
+extern PF snmpHandleUdp;
+extern void snmpInit(void);
+extern int snmpInitConfig(void);
+extern void snmpConnectionOpen(void);
+extern void snmpConnectionShutdown(void);
+extern void snmpConnectionClose(void);
+extern int snmpCreateView(char **);
+extern int snmpCreateUser(char **);
+extern int snmpCreateCommunity(char **);
+extern void snmpTokenize(char *, char **, int);
+extern int snmpCompare(oid * name1, int len1, oid * name2, int len2);
#endif /* SQUID_SNMP */
- extern void icpHandleIcpV3(int, struct sockaddr_in, char *, int);
- extern int icpCheckUdpHit(StoreEntry *, request_t * request);
- extern void icpConnectionsOpen(void);
- extern void icpConnectionShutdown(void);
- extern void icpConnectionClose(void);
+extern void icpHandleIcpV3(int, struct sockaddr_in, char *, int);
+extern int icpCheckUdpHit(StoreEntry *, request_t * request);
+extern void icpConnectionsOpen(void);
+extern void icpConnectionShutdown(void);
+extern void icpConnectionClose(void);
- extern void ipcache_nbgethostbyname(const char *name,
+extern void ipcache_nbgethostbyname(const char *name,
IPH * handler,
void *handlerData);
- extern EVH ipcache_purgelru;
- extern const ipcache_addrs *ipcache_gethostbyname(const char *, int flags);
- extern void ipcacheInvalidate(const char *);
- extern void ipcacheReleaseInvalid(const char *);
- extern void ipcacheShutdownServers(void);
- extern void ipcache_init(void);
- extern void stat_ipcache_get(StoreEntry *);
- extern int ipcacheQueueDrain(void);
- extern void ipcacheCycleAddr(const char *name, ipcache_addrs *);
- extern void ipcacheMarkBadAddr(const char *name, struct in_addr);
- extern void ipcacheMarkGoodAddr(const char *name, struct in_addr);
- extern void ipcacheFreeMemory(void);
- extern ipcache_addrs *ipcacheCheckNumeric(const char *name);
- extern void ipcache_restart(void);
- extern int ipcacheUnregister(const char *name, void *data);
+extern EVH ipcache_purgelru;
+extern const ipcache_addrs *ipcache_gethostbyname(const char *, int flags);
+extern void ipcacheInvalidate(const char *);
+extern void ipcacheReleaseInvalid(const char *);
+extern void ipcacheShutdownServers(void);
+extern void ipcache_init(void);
+extern void stat_ipcache_get(StoreEntry *);
+extern int ipcacheQueueDrain(void);
+extern void ipcacheCycleAddr(const char *name, ipcache_addrs *);
+extern void ipcacheMarkBadAddr(const char *name, struct in_addr);
+extern void ipcacheMarkGoodAddr(const char *name, struct in_addr);
+extern void ipcacheFreeMemory(void);
+extern ipcache_addrs *ipcacheCheckNumeric(const char *name);
+extern void ipcache_restart(void);
+extern int ipcacheUnregister(const char *name, void *data);
/* MemBuf */
/* init with specific sizes */
- extern void memBufInit(MemBuf * mb, mb_size_t szInit, mb_size_t szMax);
+extern void memBufInit(MemBuf * mb, mb_size_t szInit, mb_size_t szMax);
/* init with defaults */
- extern void memBufDefInit(MemBuf * mb);
+extern void memBufDefInit(MemBuf * mb);
/* cleans mb; last function to call if you do not give .buf away */
- extern void memBufClean(MemBuf * mb);
+extern void memBufClean(MemBuf * mb);
/* resets mb preserving (or initializing if needed) memory buffer */
- extern void memBufReset(MemBuf * mb);
+extern void memBufReset(MemBuf * mb);
/* calls memcpy, appends exactly size bytes, extends buffer if needed */
- extern void memBufAppend(MemBuf * mb, const char *buf, mb_size_t size);
+extern void memBufAppend(MemBuf * mb, const char *buf, mb_size_t size);
/* calls snprintf, extends buffer if needed */
#ifdef __STDC__
- extern void memBufPrintf(MemBuf * mb, const char *fmt,...);
+extern void memBufPrintf(MemBuf * mb, const char *fmt,...);
#else
- extern void memBufPrintf();
+extern void memBufPrintf();
#endif
/* vprintf for other printf()'s to use */
- extern void memBufVPrintf(MemBuf * mb, const char *fmt, va_list ap);
+extern void memBufVPrintf(MemBuf * mb, const char *fmt, va_list ap);
/* returns free() function to be used, _freezes_ the object! */
- extern FREE *memBufFreeFunc(MemBuf * mb);
+extern FREE *memBufFreeFunc(MemBuf * mb);
/* puts report on MemBuf _module_ usage into mb */
- extern void memBufReport(MemBuf * mb);
+extern void memBufReport(MemBuf * mb);
- extern char *mime_get_header(const char *mime, const char *header);
- extern char *mime_get_header_field(const char *mime, const char *name, const char *prefix);
+extern char *mime_get_header(const char *mime, const char *header);
+extern char *mime_get_header_field(const char *mime, const char *name, const char *prefix);
#if OLD_CODE
- extern char *mime_headers_end(const char *mime);
+extern char *mime_headers_end(const char *mime);
#endif
- extern size_t headersEnd(const char *, size_t);
- extern const char *mime_get_auth(const char *hdr, const char *auth_scheme, const char **auth_field);
+extern size_t headersEnd(const char *, size_t);
+extern const char *mime_get_auth(const char *hdr, const char *auth_scheme, const char **auth_field);
- extern void mimeInit(char *filename);
- extern char *mimeGetContentEncoding(const char *fn);
- extern char *mimeGetContentType(const char *fn);
- extern char *mimeGetIcon(const char *fn);
- extern char *mimeGetIconURL(const char *fn);
- extern char mimeGetTransferMode(const char *fn);
+extern void mimeInit(char *filename);
+extern char *mimeGetContentEncoding(const char *fn);
+extern char *mimeGetContentType(const char *fn);
+extern char *mimeGetIcon(const char *fn);
+extern char *mimeGetIconURL(const char *fn);
+extern char mimeGetTransferMode(const char *fn);
- extern int mcastSetTtl(int, int);
- extern IPH mcastJoinGroups;
+extern int mcastSetTtl(int, int);
+extern IPH mcastJoinGroups;
/* Labels for hierachical log file */
/* put them all here for easier reference when writing a logfile analyzer */
- extern peer *getFirstPeer(void);
- extern peer *getFirstUpParent(request_t *);
- extern peer *getNextPeer(peer *);
- extern peer *getSingleParent(request_t *);
- extern int neighborsCount(request_t *);
- extern int neighborsUdpPing(request_t *,
+extern peer *getFirstPeer(void);
+extern peer *getFirstUpParent(request_t *);
+extern peer *getNextPeer(peer *);
+extern peer *getSingleParent(request_t *);
+extern int neighborsCount(request_t *);
+extern int neighborsUdpPing(request_t *,
StoreEntry *,
IRCB * callback,
void *data,
int *exprep,
double *exprtt);
- extern void neighborAddAcl(const char *, const char *);
- extern void neighborsUdpAck(const cache_key *, icp_common_t *, const struct sockaddr_in *);
- extern void neighborAdd(const char *, const char *, int, int, int, int, int);
- extern void neighbors_open(int);
- extern peer *peerFindByName(const char *);
- extern peer *getDefaultParent(request_t * request);
- extern peer *getRoundRobinParent(request_t * request);
- extern lookup_t peerDigestLookup(peer * p, request_t * request, StoreEntry * entry);
- extern peer *neighborsDigestSelect(request_t * request, StoreEntry * entry);
- extern void peerNoteDigestLookup(request_t * request, peer * p, lookup_t lookup);
- extern int neighborUp(const peer * e);
- extern void peerDestroy(peer * e);
- extern char *neighborTypeStr(const peer * e);
- extern void peerCheckConnectStart(peer *);
- extern void dump_peer_options(StoreEntry *, peer *);
- extern int peerHTTPOkay(const peer *, request_t *);
-
- extern void netdbInit(void);
- extern void netdbHandlePingReply(const struct sockaddr_in *from, int hops, int rtt);
- extern void netdbPingSite(const char *hostname);
- extern void netdbInit(void);
- extern void netdbDump(StoreEntry *);
- extern int netdbHops(struct in_addr);
- extern void netdbFreeMemory(void);
- extern int netdbHostHops(const char *host);
- extern int netdbHostRtt(const char *host);
- extern int netdbHostPeerRtt(const char *host, peer * peer);
- extern void netdbUpdatePeer(request_t *, peer * e, int rtt, int hops);
- extern void netdbDeleteAddrNetwork(struct in_addr addr);
- extern int netdbHostPeerRtt(const char *host, peer * peer);
- extern void netdbBinaryExchange(StoreEntry *);
- extern EVH netdbExchangeStart;
- extern void netdbExchangeUpdatePeer(struct in_addr, peer *, double, double);
- extern peer *netdbClosestParent(request_t *);
-
- extern void cachemgrStart(int fd, request_t * request, StoreEntry * entry);
- extern void cachemgrRegister(const char *, const char *, OBJH *, int);
- extern void cachemgrInit(void);
-
- extern void peerSelect(request_t *, StoreEntry *, PSC *, PSC *, void *data);
- extern peer *peerGetSomeParent(request_t *, hier_code *);
- extern void peerSelectInit(void);
+extern void neighborAddAcl(const char *, const char *);
+extern void neighborsUdpAck(const cache_key *, icp_common_t *, const struct sockaddr_in *);
+extern void neighborAdd(const char *, const char *, int, int, int, int, int);
+extern void neighbors_open(int);
+extern peer *peerFindByName(const char *);
+extern peer *getDefaultParent(request_t * request);
+extern peer *getRoundRobinParent(request_t * request);
+extern lookup_t peerDigestLookup(peer * p, request_t * request, StoreEntry * entry);
+extern peer *neighborsDigestSelect(request_t * request, StoreEntry * entry);
+extern void peerNoteDigestLookup(request_t * request, peer * p, lookup_t lookup);
+extern int neighborUp(const peer * e);
+extern void peerDestroy(peer * e);
+extern char *neighborTypeStr(const peer * e);
+extern void peerCheckConnectStart(peer *);
+extern void dump_peer_options(StoreEntry *, peer *);
+extern int peerHTTPOkay(const peer *, request_t *);
+
+extern void netdbInit(void);
+extern void netdbHandlePingReply(const struct sockaddr_in *from, int hops, int rtt);
+extern void netdbPingSite(const char *hostname);
+extern void netdbInit(void);
+extern void netdbDump(StoreEntry *);
+extern int netdbHops(struct in_addr);
+extern void netdbFreeMemory(void);
+extern int netdbHostHops(const char *host);
+extern int netdbHostRtt(const char *host);
+extern int netdbHostPeerRtt(const char *host, peer * peer);
+extern void netdbUpdatePeer(request_t *, peer * e, int rtt, int hops);
+extern void netdbDeleteAddrNetwork(struct in_addr addr);
+extern int netdbHostPeerRtt(const char *host, peer * peer);
+extern void netdbBinaryExchange(StoreEntry *);
+extern EVH netdbExchangeStart;
+extern void netdbExchangeUpdatePeer(struct in_addr, peer *, double, double);
+extern peer *netdbClosestParent(request_t *);
+
+extern void cachemgrStart(int fd, request_t * request, StoreEntry * entry);
+extern void cachemgrRegister(const char *, const char *, OBJH *, int);
+extern void cachemgrInit(void);
+
+extern void peerSelect(request_t *, StoreEntry *, PSC *, PSC *, void *data);
+extern peer *peerGetSomeParent(request_t *, hier_code *);
+extern void peerSelectInit(void);
/* peer_digest.c */
- extern EVH peerDigestInit;
+extern EVH peerDigestInit;
- extern void protoDispatch(int, StoreEntry *, request_t *);
+extern void protoDispatch(int, StoreEntry *, request_t *);
- extern int protoUnregister(StoreEntry *, request_t *);
- extern int protoAbortFetch(StoreEntry * entry);
- extern DEFER protoCheckDeferRead;
+extern int protoUnregister(StoreEntry *, request_t *);
+extern int protoAbortFetch(StoreEntry * entry);
+extern DEFER protoCheckDeferRead;
- extern void urnStart(request_t *, StoreEntry *);
+extern void urnStart(request_t *, StoreEntry *);
- extern void redirectStart(clientHttpRequest *, RH *, void *);
- extern void redirectOpenServers(void);
- extern void redirectShutdownServers(void);
- extern void redirectStats(StoreEntry *);
- extern int redirectUnregister(const char *url, void *);
- extern void redirectFreeMemory(void);
+extern void redirectStart(clientHttpRequest *, RH *, void *);
+extern void redirectOpenServers(void);
+extern void redirectShutdownServers(void);
+extern void redirectStats(StoreEntry *);
+extern int redirectUnregister(const char *url, void *);
+extern void redirectFreeMemory(void);
- extern void refreshAddToList(const char *, int, time_t, int, time_t);
- extern int refreshCheck(const StoreEntry *, const request_t *, time_t delta);
- extern time_t refreshWhen(const StoreEntry * entry);
- extern time_t getMaxAge(const char *url);
+extern void refreshAddToList(const char *, int, time_t, int, time_t);
+extern int refreshCheck(const StoreEntry *, const request_t *, time_t delta);
+extern time_t refreshWhen(const StoreEntry * entry);
+extern time_t getMaxAge(const char *url);
- extern void serverConnectionsClose(void);
- extern void shut_down(int);
+extern void serverConnectionsClose(void);
+extern void shut_down(int);
- extern void start_announce(void *unused);
- extern void sslStart(int fd, const char *, request_t *, size_t * sz);
- extern void waisStart(request_t *, StoreEntry *);
- extern void passStart(int, const char *, request_t *, size_t *);
- extern void identStart(int, ConnStateData *, IDCB * callback, void *);
+extern void start_announce(void *unused);
+extern void sslStart(int fd, const char *, request_t *, size_t * sz);
+extern void waisStart(request_t *, StoreEntry *);
+extern void passStart(int, const char *, request_t *, size_t *);
+extern void identStart(int, ConnStateData *, IDCB * callback, void *);
- extern void statInit(void);
- extern double median_svc_get(int, int);
- extern void pconnHistCount(int, int);
- extern int stat5minClientRequests(void);
+extern void statInit(void);
+extern double median_svc_get(int, int);
+extern void pconnHistCount(int, int);
+extern int stat5minClientRequests(void);
/* StatHist */
- extern void statHistClean(StatHist * H);
- extern void statHistCount(StatHist * H, double val);
- extern void statHistCopy(StatHist * Dest, const StatHist * Orig);
- extern void statHistSafeCopy(StatHist * Dest, const StatHist * Orig);
- extern double statHistDeltaMedian(const StatHist * A, const StatHist * B);
- extern void statHistDump(const StatHist * H, StoreEntry * sentry, StatHistBinDumper bd);
- extern void statHistLogInit(StatHist * H, int capacity, double min, double max);
- extern void statHistEnumInit(StatHist * H, int last_enum);
- extern StatHistBinDumper statHistEnumDumper;
- extern StatHistBinDumper statHistIntDumper;
+extern void statHistClean(StatHist * H);
+extern void statHistCount(StatHist * H, double val);
+extern void statHistCopy(StatHist * Dest, const StatHist * Orig);
+extern void statHistSafeCopy(StatHist * Dest, const StatHist * Orig);
+extern double statHistDeltaMedian(const StatHist * A, const StatHist * B);
+extern void statHistDump(const StatHist * H, StoreEntry * sentry, StatHistBinDumper bd);
+extern void statHistLogInit(StatHist * H, int capacity, double min, double max);
+extern void statHistEnumInit(StatHist * H, int last_enum);
+extern StatHistBinDumper statHistEnumDumper;
+extern StatHistBinDumper statHistIntDumper;
/* MemMeter */
- extern void memMeterSyncHWater(MemMeter * m);
+extern void memMeterSyncHWater(MemMeter * m);
#define memMeterCheckHWater(m) { if ((m).hwater_level < (m).level) memMeterSyncHWater(&(m)); }
#define memMeterInc(m) { (m).level++; memMeterCheckHWater(m); }
#define memMeterDec(m) { (m).level--; }
#define memMeterDel(m, sz) { (m).level -= (sz); }
/* mem */
- extern void memInit(void);
- extern void memClean();
- extern void memInitModule();
- extern void memCleanModule();
- extern void memConfigure();
- extern void *memAllocate(mem_type);
- extern void *memAllocBuf(size_t net_size, size_t * gross_size);
- extern void memFree(mem_type, void *);
- extern void memFreeBuf(size_t size, void *);
- extern void memFree2K(void *);
- extern void memFree4K(void *);
- extern void memFree8K(void *);
- extern void memFreeDISK(void *);
- extern int memInUse(mem_type);
- extern size_t memTotalAllocated();
+extern void memInit(void);
+extern void memClean();
+extern void memInitModule();
+extern void memCleanModule();
+extern void memConfigure();
+extern void *memAllocate(mem_type);
+extern void *memAllocBuf(size_t net_size, size_t * gross_size);
+extern void memFree(mem_type, void *);
+extern void memFreeBuf(size_t size, void *);
+extern void memFree2K(void *);
+extern void memFree4K(void *);
+extern void memFree8K(void *);
+extern void memFreeDISK(void *);
+extern int memInUse(mem_type);
+extern size_t memTotalAllocated();
/* MemPool */
- extern MemPool *memPoolCreate(const char *label, size_t obj_size);
- extern void memPoolDestroy(MemPool * pool);
- extern void *memPoolAlloc(MemPool * pool);
- extern void memPoolFree(MemPool * pool, void *obj);
- extern int memPoolWasUsed(const MemPool * pool);
- extern int memPoolInUseCount(const MemPool * pool);
- extern size_t memPoolInUseSize(const MemPool * pool);
- extern int memPoolUsedCount(const MemPool * pool);
- extern void memPoolReport(const MemPool * pool, StoreEntry * e);
+extern MemPool *memPoolCreate(const char *label, size_t obj_size);
+extern void memPoolDestroy(MemPool * pool);
+extern void *memPoolAlloc(MemPool * pool);
+extern void memPoolFree(MemPool * pool, void *obj);
+extern int memPoolWasUsed(const MemPool * pool);
+extern int memPoolInUseCount(const MemPool * pool);
+extern size_t memPoolInUseSize(const MemPool * pool);
+extern int memPoolUsedCount(const MemPool * pool);
+extern void memPoolReport(const MemPool * pool, StoreEntry * e);
/* Mem */
- extern void memReport(StoreEntry * e);
- extern size_t memTotalAllocated(void);
+extern void memReport(StoreEntry * e);
+extern size_t memTotalAllocated(void);
- extern int stmemFreeDataUpto(mem_hdr *, int);
- extern void stmemAppend(mem_hdr *, const char *, int);
- extern ssize_t stmemCopy(const mem_hdr *, off_t, char *, size_t);
- extern void stmemFree(mem_hdr *);
- extern void stmemFreeData(mem_hdr *);
+extern int stmemFreeDataUpto(mem_hdr *, int);
+extern void stmemAppend(mem_hdr *, const char *, int);
+extern ssize_t stmemCopy(const mem_hdr *, off_t, char *, size_t);
+extern void stmemFree(mem_hdr *);
+extern void stmemFreeData(mem_hdr *);
/* ----------------------------------------------------------------- */
/*
* store.c
*/
- extern StoreEntry *new_StoreEntry(int, const char *, const char *);
- extern StoreEntry *storeGet(const cache_key *);
- extern StoreEntry *storeCreateEntry(const char *, const char *, int, method_t);
- extern void storeSetPublicKey(StoreEntry *);
- extern void storeComplete(StoreEntry *);
- extern void storeInit(void);
- extern int storeClientWaiting(const StoreEntry *);
- extern void storeAbort(StoreEntry *, int);
- extern void storeAppend(StoreEntry *, const char *, int);
- extern void storeLockObject(StoreEntry *);
- extern void storeSwapInStart(StoreEntry *, SIH *, void *data);
- extern void storeRelease(StoreEntry *);
- extern int storeUnlockObject(StoreEntry *);
- extern int storeUnregister(StoreEntry *, void *);
- extern void storeClientCopy(StoreEntry * e,
+extern StoreEntry *new_StoreEntry(int, const char *, const char *);
+extern StoreEntry *storeGet(const cache_key *);
+extern StoreEntry *storeCreateEntry(const char *, const char *, int, method_t);
+extern void storeSetPublicKey(StoreEntry *);
+extern void storeComplete(StoreEntry *);
+extern void storeInit(void);
+extern int storeClientWaiting(const StoreEntry *);
+extern void storeAbort(StoreEntry *, int);
+extern void storeAppend(StoreEntry *, const char *, int);
+extern void storeLockObject(StoreEntry *);
+extern void storeSwapInStart(StoreEntry *, SIH *, void *data);
+extern void storeRelease(StoreEntry *);
+extern int storeUnlockObject(StoreEntry *);
+extern int storeUnregister(StoreEntry *, void *);
+extern void storeClientCopy(StoreEntry * e,
off_t seen_offset,
off_t copy_offset,
size_t size,
char *buf,
STCB * callback,
void *data);
- extern int storePendingNClients(const StoreEntry *);
- extern HASHCMP urlcmp;
- extern EVH storeMaintainSwapSpace;
- extern void storeExpireNow(StoreEntry *);
- extern void storeReleaseRequest(StoreEntry *);
- extern off_t storeLowestMemReaderOffset(const StoreEntry *);
- extern void storeConfigure(void);
- extern void storeNegativeCache(StoreEntry *);
- extern void storeFreeMemory(void);
- extern int expiresMoreThan(time_t, time_t);
- extern int storeClientCopyPending(StoreEntry *, void *);
- extern void InvokeHandlers(StoreEntry *);
- extern int storeEntryValidToSend(StoreEntry *);
- extern void storeTimestampsSet(StoreEntry *);
- extern time_t storeExpiredReferenceAge(void);
- extern void storeRegisterAbort(StoreEntry * e, STABH * cb, void *);
- extern void storeUnregisterAbort(StoreEntry * e);
- extern void storeMemObjectDump(MemObject * mem);
- extern void storeEntryDump(StoreEntry * e, int debug_lvl);
- extern const char *storeUrl(const StoreEntry *);
- extern void storeCreateMemObject(StoreEntry *, const char *, const char *);
- extern void storeCopyNotModifiedReplyHeaders(MemObject * O, MemObject * N);
- extern void storeBuffer(StoreEntry *);
- extern void storeBufferFlush(StoreEntry *);
- extern void storeHashInsert(StoreEntry * e, const cache_key *);
- extern void storeSetMemStatus(StoreEntry * e, int);
+extern int storePendingNClients(const StoreEntry *);
+extern HASHCMP urlcmp;
+extern EVH storeMaintainSwapSpace;
+extern void storeExpireNow(StoreEntry *);
+extern void storeReleaseRequest(StoreEntry *);
+extern off_t storeLowestMemReaderOffset(const StoreEntry *);
+extern void storeConfigure(void);
+extern void storeNegativeCache(StoreEntry *);
+extern void storeFreeMemory(void);
+extern int expiresMoreThan(time_t, time_t);
+extern int storeClientCopyPending(StoreEntry *, void *);
+extern void InvokeHandlers(StoreEntry *);
+extern int storeEntryValidToSend(StoreEntry *);
+extern void storeTimestampsSet(StoreEntry *);
+extern time_t storeExpiredReferenceAge(void);
+extern void storeRegisterAbort(StoreEntry * e, STABH * cb, void *);
+extern void storeUnregisterAbort(StoreEntry * e);
+extern void storeMemObjectDump(MemObject * mem);
+extern void storeEntryDump(StoreEntry * e, int debug_lvl);
+extern const char *storeUrl(const StoreEntry *);
+extern void storeCreateMemObject(StoreEntry *, const char *, const char *);
+extern void storeCopyNotModifiedReplyHeaders(MemObject * O, MemObject * N);
+extern void storeBuffer(StoreEntry *);
+extern void storeBufferFlush(StoreEntry *);
+extern void storeHashInsert(StoreEntry * e, const cache_key *);
+extern void storeSetMemStatus(StoreEntry * e, int);
#ifdef __STDC__
- extern void storeAppendPrintf(StoreEntry *, const char *,...);
+extern void storeAppendPrintf(StoreEntry *, const char *,...);
#else
- extern void storeAppendPrintf();
+extern void storeAppendPrintf();
#endif
- extern void storeAppendVPrintf(StoreEntry *, const char *, va_list ap);
- extern int storeCheckCachable(StoreEntry * e);
- extern void storeUnlinkFileno(int fileno);
- extern void storeSetPrivateKey(StoreEntry *);
- extern int objectLen(const StoreEntry * e);
- extern int contentLen(const StoreEntry * e);
- extern HttpReply *storeEntryReply(StoreEntry *);
+extern void storeAppendVPrintf(StoreEntry *, const char *, va_list ap);
+extern int storeCheckCachable(StoreEntry * e);
+extern void storeUnlinkFileno(int fileno);
+extern void storeSetPrivateKey(StoreEntry *);
+extern int objectLen(const StoreEntry * e);
+extern int contentLen(const StoreEntry * e);
+extern HttpReply *storeEntryReply(StoreEntry *);
/*
* store_log.c
*/
- extern void storeLog(int tag, const StoreEntry * e);
- extern void storeLogRotate(void);
- extern void storeLogClose(void);
- extern void storeLogOpen(void);
+extern void storeLog(int tag, const StoreEntry * e);
+extern void storeLogRotate(void);
+extern void storeLogClose(void);
+extern void storeLogOpen(void);
/*
* store_key_*.c
*/
- extern const cache_key *storeKeyDup(const cache_key *);
- extern void storeKeyFree(const cache_key *);
- extern const cache_key *storeKeyScan(const char *);
- extern const char *storeKeyText(const cache_key *);
- extern const cache_key *storeKeyPublic(const char *, method_t);
- extern const cache_key *storeKeyPrivate(const char *, method_t, int);
- extern int storeKeyHashBuckets(int);
- extern int storeKeyNull(const cache_key *);
- extern void storeKeyInit(void);
- extern HASHHASH storeKeyHashHash;
- extern HASHCMP storeKeyHashCmp;
+extern const cache_key *storeKeyDup(const cache_key *);
+extern void storeKeyFree(const cache_key *);
+extern const cache_key *storeKeyScan(const char *);
+extern const char *storeKeyText(const cache_key *);
+extern const cache_key *storeKeyPublic(const char *, method_t);
+extern const cache_key *storeKeyPrivate(const char *, method_t, int);
+extern int storeKeyHashBuckets(int);
+extern int storeKeyNull(const cache_key *);
+extern void storeKeyInit(void);
+extern HASHHASH storeKeyHashHash;
+extern HASHCMP storeKeyHashCmp;
/*
* store_clean.c
*/
- extern EVH storeDirClean;
+extern EVH storeDirClean;
/* store_digest.c */
- extern void storeDigestInit();
- extern void storeDigestNoteStoreReady();
- extern void storeDigestScheduleRebuild();
- extern void storeDigestAdd(const StoreEntry * entry);
- extern void storeDigestDel(const StoreEntry * entry);
- extern void storeDigestReport();
+extern void storeDigestInit();
+extern void storeDigestNoteStoreReady();
+extern void storeDigestScheduleRebuild();
+extern void storeDigestAdd(const StoreEntry * entry);
+extern void storeDigestDel(const StoreEntry * entry);
+extern void storeDigestReport();
/*
* store_dir.c
*/
- extern char *storeSwapFullPath(int, char *);
- extern char *storeSwapSubSubDir(int, char *);
- extern int storeVerifySwapDirs(void);
- extern const char *storeSwapPath(int);
- extern int storeDirMapBitTest(int fn);
- extern void storeDirMapBitSet(int fn);
- extern void storeDirMapBitReset(int fn);
- extern int storeDirMapAllocate(void);
- extern char *storeSwapDir(int);
- extern FILE *storeDirOpenTmpSwapLog(int dirn, int *clean, int *zero);
- extern void storeDirCloseTmpSwapLog(int dirn);
- extern void storeDirOpenSwapLogs(void);
- extern void storeDirCloseSwapLogs(void);
- extern char *storeDirSwapLogFile(int, const char *);
- extern void storeDirSwapLog(const StoreEntry *, int op);
- extern int storeDirNumber(int fileno);
- extern void storeDirUpdateSwapSize(int fn, size_t size, int sign);
- extern int storeDirProperFileno(int dirn, int fn);
- extern void storeCreateSwapDirectories(void);
- extern int storeVerifyCacheDirs(void);
- extern int storeDirWriteCleanLogs(int reopen);
- extern int storeDirValidFileno(int fn);
- extern int storeFilenoBelongsHere(int, int, int, int);
- extern OBJH storeDirStats;
- extern int storeDirMapBitsInUse(void);
+extern char *storeSwapFullPath(int, char *);
+extern char *storeSwapSubSubDir(int, char *);
+extern int storeVerifySwapDirs(void);
+extern const char *storeSwapPath(int);
+extern int storeDirMapBitTest(int fn);
+extern void storeDirMapBitSet(int fn);
+extern void storeDirMapBitReset(int fn);
+extern int storeDirMapAllocate(void);
+extern char *storeSwapDir(int);
+extern FILE *storeDirOpenTmpSwapLog(int dirn, int *clean, int *zero);
+extern void storeDirCloseTmpSwapLog(int dirn);
+extern void storeDirOpenSwapLogs(void);
+extern void storeDirCloseSwapLogs(void);
+extern char *storeDirSwapLogFile(int, const char *);
+extern void storeDirSwapLog(const StoreEntry *, int op);
+extern int storeDirNumber(int fileno);
+extern void storeDirUpdateSwapSize(int fn, size_t size, int sign);
+extern int storeDirProperFileno(int dirn, int fn);
+extern void storeCreateSwapDirectories(void);
+extern int storeVerifyCacheDirs(void);
+extern int storeDirWriteCleanLogs(int reopen);
+extern int storeDirValidFileno(int fn);
+extern int storeFilenoBelongsHere(int, int, int, int);
+extern OBJH storeDirStats;
+extern int storeDirMapBitsInUse(void);
/*
* store_swapmeta.c
*/
- extern char *storeSwapMetaPack(tlv * tlv_list, int *length);
- extern tlv *storeSwapMetaBuild(StoreEntry * e);
- extern tlv *storeSwapMetaUnpack(const char *buf, int *hdrlen);
- extern void storeSwapTLVFree(tlv * n);
+extern char *storeSwapMetaPack(tlv * tlv_list, int *length);
+extern tlv *storeSwapMetaBuild(StoreEntry * e);
+extern tlv *storeSwapMetaUnpack(const char *buf, int *hdrlen);
+extern void storeSwapTLVFree(tlv * n);
/*
* store_rebuild.c
*/
- extern void storeDoRebuildFromSwapFiles(void *data);
- extern void storeValidate(StoreEntry *, STVLDCB *, void *, void *);
- extern void storeValidateComplete(void *data, int retcode, int errcode);
- extern void storeRebuildStart(void);
+extern void storeDoRebuildFromSwapFiles(void *data);
+extern void storeValidate(StoreEntry *, STVLDCB *, void *, void *);
+extern void storeValidateComplete(void *data, int retcode, int errcode);
+extern void storeRebuildStart(void);
/*
* store_swapin.c
*/
- extern void storeSwapInStart(StoreEntry * e, SIH * callback, void *callback_data);
- extern void storeSwapInValidateComplete(void *data, int retcode, int errcode);
- extern void storeSwapInFileOpened(void *data, int fd, int errcode);
+extern void storeSwapInStart(StoreEntry * e, SIH * callback, void *callback_data);
+extern void storeSwapInValidateComplete(void *data, int retcode, int errcode);
+extern void storeSwapInFileOpened(void *data, int fd, int errcode);
/*
* store_swapout.c
*/
- extern void storeSwapOutStart(StoreEntry * e);
- extern void storeSwapOutHandle(int fdnotused, int flag, size_t len, void *data);
- extern void storeCheckSwapOut(StoreEntry * e);
- extern void storeSwapOutFileClose(StoreEntry * e);
- extern int storeSwapOutWriteQueued(MemObject * mem);
+extern void storeSwapOutStart(StoreEntry * e);
+extern void storeSwapOutHandle(int fdnotused, int flag, size_t len, void *data);
+extern void storeCheckSwapOut(StoreEntry * e);
+extern void storeSwapOutFileClose(StoreEntry * e);
+extern int storeSwapOutWriteQueued(MemObject * mem);
/*
* store_client.c
*/
- extern store_client *storeClientListSearch(const MemObject * mem, void *data);
- extern void storeClientListAdd(StoreEntry * e, void *data);
- extern void storeClientCopy(StoreEntry *, off_t, off_t, size_t, char *, STCB *, void *);
- extern int storeClientCopyPending(StoreEntry * e, void *data);
- extern int storeUnregister(StoreEntry * e, void *data);
- extern off_t storeLowestMemReaderOffset(const StoreEntry * entry);
- extern void InvokeHandlers(StoreEntry * e);
- extern int storePendingNClients(const StoreEntry * e);
-
-
- extern const char *getMyHostname(void);
- extern void safeunlink(const char *path, int quiet);
- extern void death(int sig);
- extern void fatal(const char *message);
+extern store_client *storeClientListSearch(const MemObject * mem, void *data);
+extern void storeClientListAdd(StoreEntry * e, void *data);
+extern void storeClientCopy(StoreEntry *, off_t, off_t, size_t, char *, STCB *, void *);
+extern int storeClientCopyPending(StoreEntry * e, void *data);
+extern int storeUnregister(StoreEntry * e, void *data);
+extern off_t storeLowestMemReaderOffset(const StoreEntry * entry);
+extern void InvokeHandlers(StoreEntry * e);
+extern int storePendingNClients(const StoreEntry * e);
+
+
+extern const char *getMyHostname(void);
+extern void safeunlink(const char *path, int quiet);
+extern void death(int sig);
+extern void fatal(const char *message);
#ifdef __STDC__
- extern void fatalf(const char *fmt,...);
+extern void fatalf(const char *fmt,...);
#else
- extern void fatalf();
+extern void fatalf();
#endif
- extern void fatal_dump(const char *message);
- extern void sigusr2_handle(int sig);
- extern void sig_child(int sig);
- extern void leave_suid(void);
- extern void enter_suid(void);
- extern void no_suid(void);
- extern void writePidFile(void);
- extern void setSocketShutdownLifetimes(int);
- extern void setMaxFD(void);
- extern time_t getCurrentTime(void);
- extern int percent(int, int);
- extern double dpercent(double, double);
- extern void squid_signal(int sig, SIGHDLR *, int flags);
- extern pid_t readPidFile(void);
- extern struct in_addr inaddrFromHostent(const struct hostent *hp);
- extern int intAverage(int, int, int, int);
- extern double doubleAverage(double, double, int, int);
- extern void debug_trap(const char *);
- extern void logsFlush(void);
- extern char *checkNullString(char *p);
- extern void squid_getrusage(struct rusage *r);
- extern double rusage_cputime(struct rusage *r);
- extern int rusage_maxrss(struct rusage *r);
- extern int rusage_pagefaults(struct rusage *r);
- extern void releaseServerSockets(void);
- extern void PrintRusage(void);
- extern void dumpMallocStats(void);
-
- extern void pumpInit(int fd, request_t * r, char *uri);
- extern void pumpStart(int, StoreEntry *, request_t *, CWCB * callback, void *);
- extern int pumpMethod(method_t method);
- extern int pumpRestart(request_t *);
-
- extern void unlinkdInit(void);
- extern void unlinkdClose(void);
- extern void unlinkdUnlink(const char *);
-
- extern char *url_convert_hex(char *org_url, int allocate);
- extern char *url_escape(const char *url);
- extern protocol_t urlParseProtocol(const char *);
- extern method_t urlParseMethod(const char *);
- extern void urlInitialize(void);
- extern request_t *urlParse(method_t, char *);
- extern char *urlCanonical(const request_t *, char *);
- extern char *urlRInternal(const char *host, u_short port, const char *dir, const char *name);
- extern char *urlInternal(const char *dir, const char *name);
- extern int matchDomainName(const char *d, const char *h);
- extern int urlCheckRequest(const request_t *);
- extern int urlDefaultPort(protocol_t p);
- extern char *urlCanonicalClean(const request_t *);
- extern char *urlHostname(const char *url);
-
- extern void useragentOpenLog(void);
- extern void useragentRotateLog(void);
- extern void logUserAgent(const char *, const char *);
- extern peer_t parseNeighborType(const char *s);
-
- extern HttpReply *errorBuildReply(ErrorState * err);
- extern void errorSend(int fd, ErrorState *);
- extern void errorAppendEntry(StoreEntry *, ErrorState *);
- extern void errorStateFree(ErrorState * err);
- extern void errorInitialize(void);
- extern int errorReservePageId(const char *page_name);
- extern void errorFree(void);
- extern ErrorState *errorCon(int type, http_status);
-
- extern void pconnPush(int, const char *host, u_short port);
- extern int pconnPop(const char *host, u_short port);
- extern void pconnInit(void);
-
- extern int asnMatchIp(void *, struct in_addr);
- extern void asnInit(void);
- extern void asnFreeMemory(void);
- extern void dlinkAdd(void *data, dlink_node *, dlink_list *);
- extern void dlinkDelete(dlink_node * m, dlink_list * list);
- extern void kb_incr(kb_t *, size_t);
- extern double gb_to_double(const gb_t *);
- extern const char *gb_to_str(const gb_t *);
- extern void gb_flush(gb_t *); /* internal, do not use this */
+extern void fatal_dump(const char *message);
+extern void sigusr2_handle(int sig);
+extern void sig_child(int sig);
+extern void leave_suid(void);
+extern void enter_suid(void);
+extern void no_suid(void);
+extern void writePidFile(void);
+extern void setSocketShutdownLifetimes(int);
+extern void setMaxFD(void);
+extern time_t getCurrentTime(void);
+extern int percent(int, int);
+extern double dpercent(double, double);
+extern void squid_signal(int sig, SIGHDLR *, int flags);
+extern pid_t readPidFile(void);
+extern struct in_addr inaddrFromHostent(const struct hostent *hp);
+extern int intAverage(int, int, int, int);
+extern double doubleAverage(double, double, int, int);
+extern void debug_trap(const char *);
+extern void logsFlush(void);
+extern char *checkNullString(char *p);
+extern void squid_getrusage(struct rusage *r);
+extern double rusage_cputime(struct rusage *r);
+extern int rusage_maxrss(struct rusage *r);
+extern int rusage_pagefaults(struct rusage *r);
+extern void releaseServerSockets(void);
+extern void PrintRusage(void);
+extern void dumpMallocStats(void);
+
+extern void pumpInit(int fd, request_t * r, char *uri);
+extern void pumpStart(int, StoreEntry *, request_t *, CWCB * callback, void *);
+extern int pumpMethod(method_t method);
+extern int pumpRestart(request_t *);
+
+extern void unlinkdInit(void);
+extern void unlinkdClose(void);
+extern void unlinkdUnlink(const char *);
+
+extern char *url_convert_hex(char *org_url, int allocate);
+extern char *url_escape(const char *url);
+extern protocol_t urlParseProtocol(const char *);
+extern method_t urlParseMethod(const char *);
+extern void urlInitialize(void);
+extern request_t *urlParse(method_t, char *);
+extern char *urlCanonical(const request_t *, char *);
+extern char *urlRInternal(const char *host, u_short port, const char *dir, const char *name);
+extern char *urlInternal(const char *dir, const char *name);
+extern int matchDomainName(const char *d, const char *h);
+extern int urlCheckRequest(const request_t *);
+extern int urlDefaultPort(protocol_t p);
+extern char *urlCanonicalClean(const request_t *);
+extern char *urlHostname(const char *url);
+
+extern void useragentOpenLog(void);
+extern void useragentRotateLog(void);
+extern void logUserAgent(const char *, const char *);
+extern peer_t parseNeighborType(const char *s);
+
+extern HttpReply *errorBuildReply(ErrorState * err);
+extern void errorSend(int fd, ErrorState *);
+extern void errorAppendEntry(StoreEntry *, ErrorState *);
+extern void errorStateFree(ErrorState * err);
+extern void errorInitialize(void);
+extern int errorReservePageId(const char *page_name);
+extern void errorFree(void);
+extern ErrorState *errorCon(int type, http_status);
+
+extern void pconnPush(int, const char *host, u_short port);
+extern int pconnPop(const char *host, u_short port);
+extern void pconnInit(void);
+
+extern int asnMatchIp(void *, struct in_addr);
+extern void asnInit(void);
+extern void asnFreeMemory(void);
+extern void dlinkAdd(void *data, dlink_node *, dlink_list *);
+extern void dlinkDelete(dlink_node * m, dlink_list * list);
+extern void kb_incr(kb_t *, size_t);
+extern double gb_to_double(const gb_t *);
+extern const char *gb_to_str(const gb_t *);
+extern void gb_flush(gb_t *); /* internal, do not use this */
#if USE_HTCP
- extern void htcpInit(void);
- extern void htcpQuery(StoreEntry * e, request_t * req, peer * p);
- extern void htcpSocketShutdown(void);
- extern void htcpSocketClose(void);
+extern void htcpInit(void);
+extern void htcpQuery(StoreEntry * e, request_t * req, peer * p);
+extern void htcpSocketShutdown(void);
+extern void htcpSocketClose(void);
#endif
/* String */
#define strSet(s,ptr,ch) (s).buf[ptr-(s).buf] = (ch)
#define strCut(s,pos) (s).buf[pos] = '\0'
/* #define strCat(s,str) stringAppend(&(s), (str), strlen(str)+1) */
- extern void stringInit(String * s, const char *str);
- extern void stringLimitInit(String * s, const char *str, int len);
- extern String stringDup(const String * s);
- extern void stringClean(String * s);
- extern void stringReset(String * s, const char *str);
- extern void stringAppend(String * s, const char *buf, int len);
+extern void stringInit(String * s, const char *str);
+extern void stringLimitInit(String * s, const char *str, int len);
+extern String stringDup(const String * s);
+extern void stringClean(String * s);
+extern void stringReset(String * s, const char *str);
+extern void stringAppend(String * s, const char *buf, int len);
/* extern void stringAppendf(String *s, const char *fmt, ...); */
/*
* ipc.c
*/
- extern int ipcCreate(int type,
+extern int ipcCreate(int type,
const char *prog,
char *const args[],
const char *name,
int *wfd);
/* CacheDigest */
- extern CacheDigest *cacheDigestCreate(int capacity, int bpe);
- extern void cacheDigestDestroy(CacheDigest * cd);
- extern CacheDigest *cacheDigestClone(const CacheDigest * cd);
- extern void cacheDigestClear(CacheDigest * cd);
- extern void cacheDigestChangeCap(CacheDigest * cd, int new_cap);
- extern int cacheDigestTest(const CacheDigest * cd, const cache_key * key);
- extern void cacheDigestAdd(CacheDigest * cd, const cache_key * key);
- extern void cacheDigestDel(CacheDigest * cd, const cache_key * key);
- extern size_t cacheDigestCalcMaskSize(int cap, int bpe);
- extern int cacheDigestBitUtil(const CacheDigest * cd);
- extern void cacheDigestGuessStatsUpdate(cd_guess_stats * stats, int real_hit, int guess_hit);
- extern void cacheDigestGuessStatsReport(const cd_guess_stats * stats, StoreEntry * sentry, const char *label);
- extern void cacheDigestReport(CacheDigest * cd, const char *label, StoreEntry * e);
-
- extern void internalStart(request_t *, StoreEntry *);
- extern int internalCheck(const char *urlpath);
- extern int internalStaticCheck(const char *urlpath);
- extern char *internalLocalUri(const char *dir, const char *name);
- extern char *internalRemoteUri(const char *, u_short, const char *, const char *);
+extern CacheDigest *cacheDigestCreate(int capacity, int bpe);
+extern void cacheDigestDestroy(CacheDigest * cd);
+extern CacheDigest *cacheDigestClone(const CacheDigest * cd);
+extern void cacheDigestClear(CacheDigest * cd);
+extern void cacheDigestChangeCap(CacheDigest * cd, int new_cap);
+extern int cacheDigestTest(const CacheDigest * cd, const cache_key * key);
+extern void cacheDigestAdd(CacheDigest * cd, const cache_key * key);
+extern void cacheDigestDel(CacheDigest * cd, const cache_key * key);
+extern size_t cacheDigestCalcMaskSize(int cap, int bpe);
+extern int cacheDigestBitUtil(const CacheDigest * cd);
+extern void cacheDigestGuessStatsUpdate(cd_guess_stats * stats, int real_hit, int guess_hit);
+extern void cacheDigestGuessStatsReport(const cd_guess_stats * stats, StoreEntry * sentry, const char *label);
+extern void cacheDigestReport(CacheDigest * cd, const char *label, StoreEntry * e);
+
+extern void internalStart(request_t *, StoreEntry *);
+extern int internalCheck(const char *urlpath);
+extern int internalStaticCheck(const char *urlpath);
+extern char *internalLocalUri(const char *dir, const char *name);
+extern char *internalRemoteUri(const char *, u_short, const char *, const char *);
/*
* prototypes for system functions missing from system includes
*/
#ifdef _SQUID_SOLARIS_
- extern int getrusage(int, struct rusage *);
- extern int getpagesize(void);
- extern int gethostname(char *, int);
+extern int getrusage(int, struct rusage *);
+extern int getpagesize(void);
+extern int gethostname(char *, int);
#endif