Win32 port
authorAndreas Tonnesen <andreto@olsr.org>
Sun, 30 Jan 2005 18:06:28 +0000 (18:06 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Sun, 30 Jan 2005 18:06:28 +0000 (18:06 +0000)
lib/powerinfo/Makefile
lib/powerinfo/README_POWER
lib/powerinfo/src/olsrd_plugin.h
lib/powerinfo/src/olsrd_power.c

index 4549e8e..cc0ff21 100644 (file)
@@ -34,9 +34,19 @@ INSTALL_LIB = install -m 755 $(NAME) $(LIBDIR)/$(NAME);\
        /sbin/ldconfig
 all:   plugin
 else
+ifeq ($(OS), win32)
+NAME ?= olsrd_power.dll
+MYFLAGS ?= -g -fPIC -DWIN32 -mno-cygwin -I../../src/win32 -Wall -Wmissing-prototypes -Wstrict-prototypes
+CFLAGS ?= -O2
+CFLAGS += $(MYFLAGS)
+LDFLAGS ?= -mno-cygwin -shared
+LIBS ?= -lws2_32
+INSTALL_LIB =  cp $(NAME) ../..
+else
 all:   help
 endif
 endif
+endif
 
 #Sourcefiles
 #add yours here
index 565f4fd..096e456 100644 (file)
@@ -17,6 +17,14 @@ port 8888 on the local machine.
 Feel free to use this as a framework for new 
 plugins! That's what it is intended to be used for.
 
+PORTABILITY
+
+The plugin compiles for GNU/Linux, FreeBSD and
+win32, but the APM interface only works on APM/ACPI 
+enabled GNU/Linux systems. But since this plugin
+is ment to be a startingpoint for new plugins, it
+has been "ported" to the other OSes.
+
 WHAT IS IT?
 
 This code compiles as a dynamic loadable library -
index 2012b26..70e2558 100644 (file)
@@ -29,7 +29,7 @@
  *
  */
 
-/* $Id: olsrd_plugin.h,v 1.4 2004/11/30 17:04:45 kattemat Exp $ */
+/* $Id: olsrd_plugin.h,v 1.5 2005/01/30 18:06:28 kattemat Exp $ */
 
 /*
  * Dynamic linked library example for UniK OLSRd
 /* types */
 #include <sys/types.h>
 
+#ifndef WIN32
 typedef u_int8_t        olsr_u8_t;
 typedef u_int16_t       olsr_u16_t;
 typedef u_int32_t       olsr_u32_t;
 typedef int8_t          olsr_8_t;
 typedef int16_t         olsr_16_t;
 typedef int32_t         olsr_32_t;
-
+#else
+typedef unsigned char olsr_u8_t;
+typedef unsigned short olsr_u16_t;
+typedef unsigned int olsr_u32_t;
+typedef char olsr_8_t;
+typedef short olsr_16_t;
+typedef int olsr_32_t;
+#endif
 
 
 /*
index eb643b8..1823eaa 100644 (file)
@@ -29,7 +29,7 @@
  *
  */
 
-/* $Id: olsrd_power.c,v 1.4 2005/01/30 18:00:16 kattemat Exp $ */
+/* $Id: olsrd_power.c,v 1.5 2005/01/30 18:06:28 kattemat Exp $ */
 
 /*
  * Dynamic linked library example for UniK OLSRd
@@ -49,6 +49,33 @@ int ipc_connected;
 int
 ipc_send(char *, int);
 
+#ifdef WIN32
+
+static char *inet_ntop4(const unsigned char *src, char *dst, int size)
+{
+  static const char fmt[] = "%u.%u.%u.%u";
+  char tmp[sizeof "255.255.255.255"];
+
+  if (sprintf(tmp, fmt, src[0], src[1], src[2], src[3]) > size)
+    return (NULL);
+
+  return strcpy(dst, tmp);
+}
+
+char *inet_ntop(int af, void *src, char *dst, int size)
+{
+  switch (af)
+  {
+  case AF_INET:
+    return (inet_ntop4(src, dst, size));
+
+  default:
+    return (NULL);
+  }
+}
+
+#endif
+
 /**
  *Do initialization here
  *