/*
- * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2018 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
#ifndef SQUID_TOOLS_H_
#define SQUID_TOOLS_H_
-#include "SBuf.h"
-#include "SquidString.h"
+#include "sbuf/SBuf.h"
#include "typedefs.h"
class MemBuf;
/// Default is APP_SHORTNAME ('squid').
extern SBuf service_name;
-void kb_incr(kb_t *, size_t);
void parseEtcHosts(void);
int getMyPort(void);
void setUmask(mode_t mask);
/* packs, then prints an object using debugs() */
void debugObj(int section, int level, const char *label, void *obj, ObjPackMethod pm);
+/// callback type for signal handlers
+typedef void SIGHDLR(int sig);
+
const char *getMyHostname(void);
const char *uniqueHostname(void);
void leave_suid(void);
void enter_suid(void);
void no_suid(void);
-void writePidFile(void);
-void removePidFile();
void setMaxFD(void);
void setSystemLimits(void);
void squid_signal(int sig, SIGHDLR *, int flags);
-pid_t readPidFile(void);
void keepCapabilities(void);
void BroadcastSignalIfAny(int& sig);
/// number of Kid processes as defined in src/ipc/Kid.h
int NumberOfKids();
/// a string describing this process roles such as worker or coordinator
-String ProcessRoles();
+SBuf ProcessRoles();
void debug_trap(const char *);
return WaitForOnePid(-1, status, flags);
}
+#if _SQUID_WINDOWS_
+/// xstrerror(errno) equivalent for Windows errors returned by GetLastError()
+SBuf WindowsErrorMessage(DWORD errorId);
+#endif // _SQUID_WINDOWS_
+
#endif /* SQUID_TOOLS_H_ */