-/* IPC Messages */
-#define IPC_MESSAGE_REHASH 1
-#define IPC_MESSAGE_DIE 2
-#define IPC_MESSAGE_RESTART 3
-
-void InitIPC()
-{
- static DWORD buflen = 1024;
- static const char * pipename = "\\\\.\\mailslot\\Inspircd";
- hIPCPipe = CreateMailslot(pipename, buflen, 0, 0);
- if (hIPCPipe == INVALID_HANDLE_VALUE)
- printf("IPC Pipe could not be created. Are you sure you didn't start InspIRCd twice?\n");
-}
-
-void CheckIPC(InspIRCd * Instance)
-{
- if (hIPCPipe == INVALID_HANDLE_VALUE)
- return;
-
- DWORD bytes;
- DWORD action;
-
- BOOL res = ReadFile(hIPCPipe, &action, sizeof(DWORD), &bytes, 0);
- if (!res)
- {
- if (GetLastError() != ERROR_SEM_TIMEOUT)
- Instance->Log(DEFAULT, "IPC Pipe Error %u: %s", GetLastError(), dlerror());
- return;
- }
-
- switch (action)
- {
- case IPC_MESSAGE_REHASH:
- InspIRCd::Rehash(0);
- break;
-
- case IPC_MESSAGE_DIE:
- InspIRCd::Exit(0);
- break;
-
- case IPC_MESSAGE_RESTART:
- Instance->Restart("IPC_MESSAGE_RESTART received by mailslot.");
- break;
- }
-}
-
-void CloseIPC()
-{
- CloseHandle(hIPCPipe);
-}
-
-
-/* These three functions were created from looking at how ares does it
- * (...and they look far tidier in C++)
- */
-
-/* Get active nameserver */
-bool GetNameServer(HKEY regkey, const char *key, char* &output)