Now can be compiled under Linux
authorVictor Kirhenshtein <victor@netxms.org>
Fri, 30 Apr 2004 11:19:08 +0000 (11:19 +0000)
committerVictor Kirhenshtein <victor@netxms.org>
Fri, 30 Apr 2004 11:19:08 +0000 (11:19 +0000)
src/server/core/admin.cpp
src/server/core/agent.cpp
src/server/core/client.cpp
src/server/core/config.cpp
src/server/core/datacoll.cpp
src/server/core/interface.cpp
src/server/core/main.cpp
src/server/core/nms_core.h
src/server/core/node.cpp

index e57c4f8..bd6702a 100644 (file)
@@ -182,7 +182,8 @@ void LocalAdminListener(void *pArg)
 {
    SOCKET sock, sockClient;
    struct sockaddr_in servAddr;
-   int iSize, errorCount = 0;
+   int errorCount = 0;
+   socklen_t iSize;
 
    // Create socket
    if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1)
index 8bd3848..a1657e2 100644 (file)
@@ -177,7 +177,7 @@ int AgentConnection::RecvLine(int iBufSize, char *szBuffer)
 {
    char *pChar;
        struct timeval timeout;
-       FD_SET rdfs;
+       fd_set rdfs;
    int iSize;
 
    pChar = strchr(m_szNetBuffer, '\r');
@@ -246,7 +246,7 @@ DWORD AgentConnection::ExecuteCommand(char *szCmd, BOOL bExpectData, BOOL bMulti
    char szBuffer[MAX_LINE_SIZE];
    int iError;
        struct timeval timeout;
-       FD_SET rdfs;
+       fd_set rdfs;
 
    if (m_hSocket == -1)
       return ERR_NOT_CONNECTED;
@@ -284,7 +284,7 @@ DWORD AgentConnection::ExecuteCommand(char *szCmd, BOOL bExpectData, BOOL bMulti
    }
 
    // Check for error
-   if (memicmp(szBuffer, "+OK", 3))
+   if (memcmp(szBuffer, "+OK", 3))
    {
       if (szBuffer[0] == '-')
       {
index 0ddbd6f..7f216f4 100644 (file)
@@ -128,7 +128,8 @@ void ClientListener(void *)
 {
    SOCKET sock, sockClient;
    struct sockaddr_in servAddr;
-   int iSize, errorCount = 0;
+   int errorCount = 0;
+   socklen_t iSize;
    WORD wListenPort;
    ClientSession *pSession;
 
@@ -189,7 +190,7 @@ void ClientListener(void *)
       errorCount = 0;     // Reset consecutive errors counter
 
       // Create new session structure and threads
-      pSession = new ClientSession(sockClient, servAddr.sin_addr.S_un.S_addr);
+      pSession = new ClientSession(sockClient, servAddr.sin_addr.s_addr);
       if (!RegisterSession(pSession))
       {
          delete pSession;
index f8ef28b..456d8d9 100644 (file)
@@ -27,9 +27,9 @@
 // Help text
 //
 
-static char help_text[]="NMS Version " NETXMS_VERSION_STRING " Server\n"
+static char help_text[]="NetXMS Server Version " NETXMS_VERSION_STRING "\n"
                         "Copyright (c) 2003 SecurityProjects.org\n\n"
-                        "Usage: nms_core [<options>] <command>\n\n"
+                        "Usage: netxmsd [<options>] <command>\n\n"
                         "Valid options are:\n"
                         "   --config <file>     : Set non-default configuration file\n"
                         "                       : Default is " DEFAULT_CONFIG_FILE "\n"
index 5e5bb6a..12b4e8c 100644 (file)
@@ -103,7 +103,8 @@ static void DataCollector(void *pArg)
 
 static void ItemPoller(void *pArg)
 {
-   DWORD i, dwStart, dwElapsed, dwWatchdogId;
+   DWORD i, dwElapsed, dwWatchdogId;
+   INT64 qwStart;
 
    dwWatchdogId = WatchdogAddThread("Item Poller");
 
@@ -114,12 +115,12 @@ static void ItemPoller(void *pArg)
       WatchdogNotify(dwWatchdogId);
 
       MutexLock(g_hMutexNodeIndex, INFINITE);
-      dwStart = GetTickCount();
+      qwStart = GetCurrentTimeMs();
       for(i = 0; i < g_dwNodeAddrIndexSize; i++)
          ((Node *)g_pNodeIndexByAddr[i].pObject)->QueueItemsForPolling(m_pItemQueue);
       MutexUnlock(g_hMutexNodeIndex);
 
-      dwElapsed = GetTickCount() - dwStart;
+      dwElapsed = (DWORD)(GetCurrentTimeMs() - qwStart);
       DbgPrintf(AF_DEBUG_DC, "*** ItemPoller: Time elapsed == %lu milliseconds ***\n", dwElapsed);
    }
 }
index 02c88cf..6daafed 100644 (file)
@@ -204,7 +204,7 @@ void Interface::StatusPoll(void)
       return;     // Interface has no IP address, we cannot check it
    }
 
-   dwPingStatus = IcmpPing(m_dwIpAddr, 3, 1500);
+   dwPingStatus = IcmpPing(m_dwIpAddr, 3, 1500, NULL);
    if (dwPingStatus == ICMP_RAW_SOCK_FAILED)
       WriteLog(MSG_RAW_SOCK_FAILED, EVENTLOG_WARNING_TYPE, NULL);
    m_iStatus = (dwPingStatus == ICMP_SUCCESS) ? STATUS_NORMAL : STATUS_CRITICAL;
index ce5740a..004ccf0 100644 (file)
@@ -412,10 +412,7 @@ int main(int argc, char *argv[])
    if (!LoadConfig())
       return 1;
 
-#ifndef _WIN32
-   /* TODO: insert fork() here */
-#endif   /* ! _WIN32 */
-
+#ifdef _WIN32
    if (!IsStandalone())
    {
       InitService();
@@ -425,9 +422,22 @@ int main(int argc, char *argv[])
       if (!Initialize())
       {
          printf("NMS Core initialization failed\n");
-         return 1;
+         return 3;
       }
       Main();
    }
+#else    /* _WIN32 */
+   if (!IsStandalone())
+   {
+      if (daemon(0, 0) == -1)
+      {
+         perror("Call to daemon() failed");
+         return 2;
+      }
+   }
+   if (!Initialize())
+      return 3;
+   Main();
+#endif   /* _WIN32 */
    return 0;
 }
index 13ba030..fe966e6 100644 (file)
 
 #define GROUP_FLAG_BIT     ((DWORD)0x80000000)
 
-#define CHECK_NULL(x)      ((x) == NULL ? "(null)" : (x))
+#define CHECK_NULL(x)      ((x) == NULL ? ((char *)"(null)") : (x))
+
+
+//
+// Event log severity codes (UNIX only)
+//
+
+#ifndef _WIN32
+#define EVENTLOG_INFORMATION_TYPE   0
+#define EVENTLOG_WARNING_TYPE       1
+#define EVENTLOG_ERROR_TYPE         2
+#endif   /* _WIN32 */
 
 
 //
index fc9a8c7..e907bd1 100644 (file)
@@ -786,10 +786,6 @@ DWORD Node::GetInternalItem(const char *szParam, DWORD dwBufSize, char *szBuffer
    {
       sprintf(szBuffer, "%d", m_iStatus);
    }
-   else if (!memicmp(szParam, "debug.", 6))
-   {
-      sprintf(szBuffer, "%ld", time(NULL) % 7);
-   }
    else
    {
       dwError = DCE_NOT_SUPPORTED;