#define SQUID_CPU_AFFINITY_H
/// set CPU affinity for this process on startup
--SQUIDCEXTERN void CpuAffinityInit();
++void CpuAffinityInit();
/// reconfigure CPU affinity for this process
--SQUIDCEXTERN void CpuAffinityReconfigure();
++void CpuAffinityReconfigure();
/// check CPU affinity configuration and print warnings if needed
--SQUIDCEXTERN void CpuAffinityCheck();
++void CpuAffinityCheck();
#endif // SQUID_CPU_AFFINITY_H
static void squidaio_queue_request(squidaio_request_t *);
static void squidaio_cleanup_request(squidaio_request_t *);
--SQUIDCEXTERN void *squidaio_thread_loop(void *);
++void *squidaio_thread_loop(void *);
static void squidaio_do_open(squidaio_request_t *);
static void squidaio_do_read(squidaio_request_t *);
static void squidaio_do_write(squidaio_request_t *);
};
--SQUIDCEXTERN int httpMsgIsolateHeaders(const char **parse_start, int len, const char **blk_start, const char **blk_end);
++int httpMsgIsolateHeaders(const char **parse_start, int len, const char **blk_start, const char **blk_end);
#define HTTPMSGUNLOCK(a) if(a){(a)->_unlock();(a)=NULL;}
#define HTTPMSGLOCK(a) (a)->_lock()
};
/* init/clean */
--SQUIDCEXTERN void httpStatusLineInit(HttpStatusLine * sline);
--SQUIDCEXTERN void httpStatusLineClean(HttpStatusLine * sline);
++void httpStatusLineInit(HttpStatusLine * sline);
++void httpStatusLineClean(HttpStatusLine * sline);
/* set/get values */
--SQUIDCEXTERN void httpStatusLineSet(HttpStatusLine * sline, HttpVersion version,
++void httpStatusLineSet(HttpStatusLine * sline, HttpVersion version,
http_status status, const char *reason);
--SQUIDCEXTERN const char *httpStatusLineReason(const HttpStatusLine * sline);
++const char *httpStatusLineReason(const HttpStatusLine * sline);
/* parse/pack */
/* parse a 0-terminating buffer and fill internal structires; returns true on success */
--SQUIDCEXTERN int httpStatusLineParse(HttpStatusLine * sline, const String &protoPrefix,
++int httpStatusLineParse(HttpStatusLine * sline, const String &protoPrefix,
const char *start, const char *end);
/* pack fields using Packer */
--SQUIDCEXTERN void httpStatusLinePackInto(const HttpStatusLine * sline, Packer * p);
++void httpStatusLinePackInto(const HttpStatusLine * sline, Packer * p);
--SQUIDCEXTERN const char *httpStatusString(http_status status);
++const char *httpStatusString(http_status status);
#endif /* SQUID_HTTPSTATUSLINE_H */
#endif
/** returns free() function to be used, _freezes_ the object! */
--SQUIDCEXTERN void memBufReport(MemBuf * mb);
++void memBufReport(MemBuf * mb);
/** pack content into a mem buf. */
--SQUIDCEXTERN void packerToMemInit(Packer * p, MemBuf * mb);
++void packerToMemInit(Packer * p, MemBuf * mb);
#endif /* SQUID_MEM_H */
void *real_handler; /* first parameter to real append and vprintf */
};
--SQUIDCEXTERN void packerClean(Packer * p);
--SQUIDCEXTERN void packerAppend(Packer * p, const char *buf, int size);
--SQUIDCEXTERN void
--packerPrintf(Packer * p, const char *fmt,...) PRINTF_FORMAT_ARG2;
++void packerClean(Packer * p);
++void packerAppend(Packer * p, const char *buf, int size);
++void packerPrintf(Packer * p, const char *fmt,...) PRINTF_FORMAT_ARG2;
#endif /* SQUID_PACKER_H */
typedef void PSC(Comm::ConnectionList *, ErrorState *, void *);
--SQUIDCEXTERN void peerSelect(Comm::ConnectionList *, HttpRequest *, StoreEntry *, PSC *, void *data);
--SQUIDCEXTERN void peerSelectInit(void);
++void peerSelect(Comm::ConnectionList *, HttpRequest *, StoreEntry *, PSC *, void *data);
++void peerSelectInit(void);
/**
* A CachePeer which has been selected as a possible destination.
StoreIOState::Pointer storeCreate(StoreEntry *, StoreIOState::STFNCB *, StoreIOState::STIOCB *, void *);
StoreIOState::Pointer storeOpen(StoreEntry *, StoreIOState::STFNCB *, StoreIOState::STIOCB *, void *);
--SQUIDCEXTERN void storeClose(StoreIOState::Pointer, int how);
--SQUIDCEXTERN void storeRead(StoreIOState::Pointer, char *, size_t, off_t, StoreIOState::STRCB *, void *);
--SQUIDCEXTERN void storeIOWrite(StoreIOState::Pointer, char const *, size_t, off_t, FREE *);
++void storeClose(StoreIOState::Pointer, int how);
++void storeRead(StoreIOState::Pointer, char *, size_t, off_t, StoreIOState::STRCB *, void *);
++void storeIOWrite(StoreIOState::Pointer, char const *, size_t, off_t, FREE *);
#endif /* SQUID_STOREIOSTATE_H */
};
/// \ingroup SwapStoreAPI
--SQUIDCEXTERN char *storeSwapMetaPack(tlv * tlv_list, int *length);
++char *storeSwapMetaPack(tlv * tlv_list, int *length);
/// \ingroup SwapStoreAPI
--SQUIDCEXTERN tlv *storeSwapMetaBuild(StoreEntry * e);
++tlv *storeSwapMetaBuild(StoreEntry * e);
/// \ingroup SwapStoreAPI
--SQUIDCEXTERN void storeSwapTLVFree(tlv * n);
++void storeSwapTLVFree(tlv * n);
#endif /* SQUID_TYPELENGTHVALUE_H */
/*
* store_swapmeta.c
*/
--SQUIDCEXTERN char *storeSwapMetaPack(StoreMeta * tlv_list, int *length);
--SQUIDCEXTERN StoreMeta *storeSwapMetaBuild(StoreEntry * e);
--SQUIDCEXTERN StoreMeta *storeSwapMetaUnpack(const char *buf, int *hdrlen);
--SQUIDCEXTERN void storeSwapTLVFree(StoreMeta * n);
++char *storeSwapMetaPack(StoreMeta * tlv_list, int *length);
++StoreMeta *storeSwapMetaBuild(StoreEntry * e);
++StoreMeta *storeSwapMetaUnpack(const char *buf, int *hdrlen);
++void storeSwapTLVFree(StoreMeta * n);
StoreMeta ** storeSwapTLVAdd(int type, const void *ptr, size_t len, StoreMeta ** tail);
#endif /* SQUID_TYPELENGTHVALUEUNPACKER_H */
};
/// \ingroup ClientStreamAPI
--SQUIDCEXTERN void clientStreamInit(dlink_list *, CSR *, CSD *, CSS *, ClientStreamData, CSCB *, CSD *, ClientStreamData, StoreIOBuffer tailBuffer);
++void clientStreamInit(dlink_list *, CSR *, CSD *, CSS *, ClientStreamData, CSCB *, CSD *, ClientStreamData, StoreIOBuffer tailBuffer);
/// \ingroup ClientStreamAPI
--SQUIDCEXTERN void clientStreamInsertHead(dlink_list *, CSR *, CSCB *, CSD *, CSS *, ClientStreamData);
++void clientStreamInsertHead(dlink_list *, CSR *, CSCB *, CSD *, CSS *, ClientStreamData);
/// \ingroup ClientStreamAPI
--SQUIDCEXTERN clientStreamNode *clientStreamNew(CSR *, CSCB *, CSD *, CSS *, ClientStreamData);
++clientStreamNode *clientStreamNew(CSR *, CSCB *, CSD *, CSS *, ClientStreamData);
/**
\ingroup ClientStreamAPI
Each node may alter the reply if appropriate.
\param replyBuffer - buffer, length - where and how much.
*/
--SQUIDCEXTERN void clientStreamCallback(clientStreamNode *thisObject, ClientHttpRequest *http, HttpReply *rep, StoreIOBuffer replyBuffer);
++void clientStreamCallback(clientStreamNode *thisObject, ClientHttpRequest *http, HttpReply *rep, StoreIOBuffer replyBuffer);
/**
\ingroup ClientStreamAPI
\param http Superset of request data, being winnowed down over time. MUST NOT be NULL.
\param readBuffer - offset, length, buffer - what, how much and where.
*/
--SQUIDCEXTERN void clientStreamRead(clientStreamNode *thisObject, ClientHttpRequest *http, StoreIOBuffer readBuffer);
++void clientStreamRead(clientStreamNode *thisObject, ClientHttpRequest *http, StoreIOBuffer readBuffer);
/**
\ingroup ClientStreamAPI
\param thisObject 'this' reference for the client stream
\param http MUST NOT be NULL.
*/
--SQUIDCEXTERN void clientStreamDetach(clientStreamNode *thisObject, ClientHttpRequest *http);
++void clientStreamDetach(clientStreamNode *thisObject, ClientHttpRequest *http);
/**
\ingroup ClientStreamAPI
\param thisObject 'this' reference for the client stream
\param http MUST NOT be NULL.
*/
--SQUIDCEXTERN void clientStreamAbort(clientStreamNode *thisObject, ClientHttpRequest *http);
++void clientStreamAbort(clientStreamNode *thisObject, ClientHttpRequest *http);
/**
\ingroup ClientStreamAPI
\param thisObject 'this' reference for the client stream
\param http MUST NOT be NULL.
*/
--SQUIDCEXTERN clientStream_status_t clientStreamStatus(clientStreamNode *thisObject, ClientHttpRequest *http);
++clientStream_status_t clientStreamStatus(clientStreamNode *thisObject, ClientHttpRequest *http);
#endif /* SQUID_CLIENTSTREAM_H */
static void _db_print_file(const char *format, va_list args);
#if _SQUID_MSWIN_
--SQUIDCEXTERN LPCRITICAL_SECTION dbg_mutex;
++extern LPCRITICAL_SECTION dbg_mutex;
typedef BOOL (WINAPI * PFInitializeCriticalSectionAndSpinCount) (LPCRITICAL_SECTION, DWORD);
#endif
\par Global effects:
* error_text[] - is modified
*/
--SQUIDCEXTERN void errorInitialize(void);
++void errorInitialize(void);
/// \ingroup ErrorPageAPI
--SQUIDCEXTERN void errorClean(void);
++void errorClean(void);
/**
* \ingroup ErrorPageAPI
\param clientConn socket where page object is to be written
\param err This object is destroyed after use in this function.
*/
--SQUIDCEXTERN void errorSend(const Comm::ConnectionPointer &conn, ErrorState *err);
++void errorSend(const Comm::ConnectionPointer &conn, ErrorState *err);
/**
\ingroup ErrorPageAPI
\param entry ??
\param err This object is destroyed after use in this function.
*/
--SQUIDCEXTERN void errorAppendEntry(StoreEntry *entry, ErrorState *err);
++void errorAppendEntry(StoreEntry *entry, ErrorState *err);
/// \ingroup ErrorPageAPI
--SQUIDCEXTERN err_type errorReservePageId(const char *page_name);
++err_type errorReservePageId(const char *page_name);
--SQUIDCEXTERN const char *errorPageName(int pageId); ///< error ID to string
++const char *errorPageName(int pageId); ///< error ID to string
/**
\ingroup ErrorPageAPI
}
};
--SQUIDCEXTERN int fdNFree(void);
++int fdNFree(void);
#define FD_READ_METHOD(fd, buf, len) (*fd_table[fd].read_method)(fd, buf, len)
#define FD_WRITE_METHOD(fd, buf, len) (*fd_table[fd].write_method)(fd, buf, len)
MEMPROXY_CLASS_INLINE(helper_stateful_request);
/* helper.c */
--SQUIDCEXTERN void helperOpenServers(helper * hlp);
--SQUIDCEXTERN void helperStatefulOpenServers(statefulhelper * hlp);
--SQUIDCEXTERN void helperSubmit(helper * hlp, const char *buf, HLPCB * callback, void *data);
--SQUIDCEXTERN void helperStatefulSubmit(statefulhelper * hlp, const char *buf, HLPSCB * callback, void *data, helper_stateful_server * lastserver);
--SQUIDCEXTERN void helperStats(StoreEntry * sentry, helper * hlp, const char *label = NULL);
--SQUIDCEXTERN void helperStatefulStats(StoreEntry * sentry, statefulhelper * hlp, const char *label = NULL);
--SQUIDCEXTERN void helperShutdown(helper * hlp);
--SQUIDCEXTERN void helperStatefulShutdown(statefulhelper * hlp);
--SQUIDCEXTERN void helperStatefulReleaseServer(helper_stateful_server * srv);
--SQUIDCEXTERN void *helperStatefulServerGetData(helper_stateful_server * srv);
++void helperOpenServers(helper * hlp);
++void helperStatefulOpenServers(statefulhelper * hlp);
++void helperSubmit(helper * hlp, const char *buf, HLPCB * callback, void *data);
++void helperStatefulSubmit(statefulhelper * hlp, const char *buf, HLPSCB * callback, void *data, helper_stateful_server * lastserver);
++void helperStats(StoreEntry * sentry, helper * hlp, const char *label = NULL);
++void helperStatefulStats(StoreEntry * sentry, statefulhelper * hlp, const char *label = NULL);
++void helperShutdown(helper * hlp);
++void helperStatefulShutdown(statefulhelper * hlp);
++void helperStatefulReleaseServer(helper_stateful_server * srv);
++void *helperStatefulServerGetData(helper_stateful_server * srv);
#endif /* SQUID_HELPER_H */
#if USE_ICMP
/// pinger helper contains one of these as a global object.
--SQUIDCEXTERN Icmp4 icmp4;
++extern Icmp4 icmp4;
#endif /* USE_ICMP && SQUID_HELPER */
#if USE_ICMP
/// pinger helper contains one of these as a global object.
--SQUIDCEXTERN Icmp6 icmp6;
++extern Icmp6 icmp6;
#endif /* USE_ICMP && SQUID_HELPER */
#endif /* _INCLUDE_ICMPV6_H */
#if USE_ICMP
/// pinger helper contains one of these as a global object.
--SQUIDCEXTERN IcmpPinger control;
++extern IcmpPinger control;
#endif
};
// global engine within squid.
--SQUIDCEXTERN IcmpSquid icmpEngine;
++extern IcmpSquid icmpEngine;
#endif /* _INCLUDE_ICMPSQUID_H */
#include "acl/Checklist.h"
#endif
--SQUIDCEXTERN void httpHeaderPutStr(HttpHeader * hdr, http_hdr_type type, const char *str)
++void httpHeaderPutStr(HttpHeader * hdr, http_hdr_type type, const char *str)
{
fatal ("dummy function\n");
}
--SQUIDCEXTERN HttpHeaderEntry *httpHeaderGetEntry(const HttpHeader * hdr, HttpHeaderPos * pos)
++HttpHeaderEntry *httpHeaderGetEntry(const HttpHeader * hdr, HttpHeaderPos * pos)
{
fatal ("dummy function\n");
return NULL;
}
--extern String httpHeaderGetList(const HttpHeader * hdr, http_hdr_type id)
++String httpHeaderGetList(const HttpHeader * hdr, http_hdr_type id)
{
fatal ("dummy function\n");
return String();
}
--SQUIDCEXTERN int httpHeaderHas(const HttpHeader * hdr, http_hdr_type type)
++int httpHeaderHas(const HttpHeader * hdr, http_hdr_type type)
{
fatal ("dummy function\n");
return 0;
}
--SQUIDCEXTERN void httpHeaderPutContRange(HttpHeader * hdr, const HttpHdrContRange * cr)
++void httpHeaderPutContRange(HttpHeader * hdr, const HttpHdrContRange * cr)
{
fatal ("dummy function\n");
}