Various headerfile inclusion cleanups
[olsrd.git] / src / olsr.c
index 1e4a2e8..6fe5130 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsr.c,v 1.38 2005/02/02 19:59:18 kattemat Exp $
+ * $Id: olsr.c,v 1.42 2005/02/27 18:39:43 kattemat Exp $
  */
 
 /**
 #include "lq_mpr.h"
 #include "lq_route.h"
 #include "scheduler.h"
-#include "generate_msg.h"
 #include "apm.h"
 #include "misc.h"
+#include "neighbor_table.h"
+#include "log.h"
 
 #include <stdarg.h>
 #include <signal.h>
 
 
 /**
- *Initiates a "timer", wich is a timeval structure,
- *with the value given in time_value.
- *@param time_value the value to initialize the timer with
- *@param hold_timer the timer itself
- *@return nada
+ * Process changes functions
  */
-inline void
-olsr_init_timer(olsr_u32_t time_value, struct timeval *hold_timer)
-{ 
-  olsr_u16_t  time_value_sec = time_value/1000;
-  olsr_u16_t  time_value_msec = time_value-(time_value_sec*1000);
-
-  hold_timer->tv_sec = time_value_sec;
-  hold_timer->tv_usec = time_value_msec*1000;   
-}
-
-
-
 
+struct pcf
+{
+  int (*function)(int, int, int);
+  struct pcf *next;
+};
 
-/**
- *Generaties a timestamp a certain number of milliseconds
- *into the future.
- *
- *@param time_value how many milliseconds from now
- *@param hold_timer the timer itself
- *@return nada
- */
-inline void
-olsr_get_timestamp(olsr_u32_t delay, struct timeval *hold_timer)
-{ 
-  hold_timer->tv_sec = now.tv_sec + delay / 1000;
-  hold_timer->tv_usec = now.tv_usec + (delay % 1000) * 1000;
-  
-  if (hold_timer->tv_usec > 1000000)
-    {
-      hold_timer->tv_sec++;
-      hold_timer->tv_usec -= 1000000;
-    }
-}
-
+static struct pcf *pcf_list;
 
+static olsr_u16_t message_seqno;
 
 /**
  *Initialize the message sequence number as a random value
@@ -133,7 +104,7 @@ register_pcf(int (*f)(int, int, int))
 {
   struct pcf *new_pcf;
 
-  olsr_printf(1, "Registering pcf function\n");
+  OLSR_PRINTF(1, "Registering pcf function\n")
 
   new_pcf = olsr_malloc(sizeof(struct pcf), "New PCF");
 
@@ -159,11 +130,11 @@ olsr_process_changes()
 
 #ifdef DEBUG
   if(changes_neighborhood)
-    olsr_printf(3, "CHANGES IN NEIGHBORHOOD\n");
+    OLSR_PRINTF(3, "CHANGES IN NEIGHBORHOOD\n")
   if(changes_topology)
-    olsr_printf(3, "CHANGES IN TOPOLOGY\n");
+    OLSR_PRINTF(3, "CHANGES IN TOPOLOGY\n")
   if(changes_hna)
-    olsr_printf(3, "CHANGES IN HNA\n");  
+    OLSR_PRINTF(3, "CHANGES IN HNA\n")
 #endif
   
   if(!changes_neighborhood &&
@@ -348,7 +319,7 @@ olsr_forward_message(union olsr_message *m,
   if(!olsr_check_dup_table_fwd(originator, seqno, &in_if->ip_addr))
     {
 #ifdef DEBUG
-      olsr_printf(3, "Message already forwarded!\n");
+      OLSR_PRINTF(3, "Message already forwarded!\n")
 #endif
       return 0;
     }
@@ -372,7 +343,7 @@ olsr_forward_message(union olsr_message *m,
   if(olsr_lookup_mprs_set(src) == NULL)
     {
 #ifdef DEBUG
-      olsr_printf(5, "Forward - sender %s not MPR selector\n", olsr_ip_to_string(src));
+      OLSR_PRINTF(5, "Forward - sender %s not MPR selector\n", olsr_ip_to_string(src))
 #endif
       return 0;
     }
@@ -419,7 +390,7 @@ olsr_forward_message(union olsr_message *m,
              
              if(net_outbuffer_push(ifn, (olsr_u8_t *)m, msgsize) != msgsize)
                {
-                 olsr_printf(1, "Received message to big to be forwarded in %s(%d bytes)!", ifn->int_name, msgsize);
+                 OLSR_PRINTF(1, "Received message to big to be forwarded in %s(%d bytes)!", ifn->int_name, msgsize)
                  olsr_syslog(OLSR_LOG_ERR, "Received message to big to be forwarded on %s(%d bytes)!", ifn->int_name, msgsize);
                }
 
@@ -433,7 +404,7 @@ olsr_forward_message(union olsr_message *m,
          
          if(net_outbuffer_push(ifn, (olsr_u8_t *)m, msgsize) != msgsize)
            {
-             olsr_printf(1, "Received message to big to be forwarded in %s(%d bytes)!", ifn->int_name, msgsize);
+             OLSR_PRINTF(1, "Received message to big to be forwarded in %s(%d bytes)!", ifn->int_name, msgsize)
              olsr_syslog(OLSR_LOG_ERR, "Received message to big to be forwarded on %s(%d bytes)!", ifn->int_name, msgsize);
            }
        }
@@ -463,7 +434,8 @@ void
 olsr_init_willingness()
 {
   if(olsr_cnf->willingness_auto)
-    olsr_register_scheduler_event(&olsr_update_willingness, NULL, will_int, will_int, NULL);
+    olsr_register_scheduler_event(&olsr_update_willingness, 
+                                 NULL, will_int, will_int, NULL);
 }
 
 void
@@ -478,7 +450,7 @@ olsr_update_willingness(void *foo)
 
   if(tmp_will != olsr_cnf->willingness)
     {
-      olsr_printf(1, "Local willingness updated: old %d new %d\n", tmp_will, olsr_cnf->willingness);
+      OLSR_PRINTF(1, "Local willingness updated: old %d new %d\n", tmp_will, olsr_cnf->willingness)
     }
 }
 
@@ -500,8 +472,6 @@ olsr_calculate_willingness()
   if(!olsr_cnf->willingness_auto)
     return olsr_cnf->willingness;
 
-#warning CHANGES IN THE apm INTERFACE(0.4.8)!
-
   if(apm_read(&ainfo) < 1)
     return WILL_DEFAULT;
 
@@ -532,7 +502,7 @@ olsr_calculate_willingness()
 void
 olsr_exit(const char *msg, int val)
 {
-  olsr_printf(1, "OLSR EXIT: %s\n", msg);
+  OLSR_PRINTF(1, "OLSR EXIT: %s\n", msg)
   olsr_syslog(OLSR_LOG_ERR, "olsrd exit: %s\n", msg);
   fflush(stdout);
   exit_value = val;
@@ -557,7 +527,7 @@ olsr_malloc(size_t size, const char *id)
 
   if((ptr = malloc(size)) == 0) 
     {
-      olsr_printf(1, "OUT OF MEMORY: %s\n", strerror(errno));
+      OLSR_PRINTF(1, "OUT OF MEMORY: %s\n", strerror(errno))
       olsr_syslog(OLSR_LOG_ERR, "olsrd: out of memory!: %m\n");
       olsr_exit((char *)id, EXIT_FAILURE);
     }
@@ -576,11 +546,11 @@ olsr_printf(int loglevel, char *format, ...)
 {
   va_list arglist;
 
-  if(loglevel <= olsr_cnf->debug_level)
+  if((loglevel <= olsr_cnf->debug_level) && debug_handle)
     {
       va_start(arglist, format);
       
-      vprintf(format, arglist);
+      vfprintf(debug_handle, format, arglist);
       
       va_end(arglist);
     }