Added SILC Server library.
[silc.git] / lib / silcutil / win32 / silcwin32net.c
index e4ffc6aa8e3b7bb2f0b1ae3c5364aa1b7b7fe446..818945e0c0ec769a0cd9e6bf4f9b4d3c9d3c5ec9 100644 (file)
@@ -4,12 +4,11 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 1997 - 2001 Pekka Riikonen
+  Copyright (C) 1997 - 2005 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  the Free Software Foundation; version 2 of the License.
   
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -19,7 +18,9 @@
 */
 /* $Id$ */
 
-#include "silcincludes.h"
+/* XXX IPv6 support missing */
+
+#include "silc.h"
 #include "silcnet.h"
 
 /* This function creates server or daemon or listener or what ever. This
@@ -28,7 +29,7 @@
    If argument `ip_addr' is NULL `any' address will be used. Returns 
    the created socket or -1 on error. */
 
-int silc_net_create_server(int port, char *ip_addr)
+int silc_net_create_server(int port, const char *ip_addr)
 {
   SOCKET sock;
   int rval;
@@ -222,8 +223,7 @@ void silc_net_close_connection(int sock)
 /* Converts the IP number string from numbers-and-dots notation to
    binary form. */
 
-bool silc_net_addr2bin(const char *addr, unsigned char *bin,
-                      uint32 bin_len)
+SilcBool silc_net_addr2bin(const char *addr, void *bin, SilcUInt32 bin_len)
 {
   unsigned long ret;
 
@@ -232,8 +232,7 @@ bool silc_net_addr2bin(const char *addr, unsigned char *bin,
   if (bin_len < 4)
     return FALSE;
 
-  SILC_PUT32_LSB(ret, bin);
-
+  memcpy(bin, (unsigned char *)&ret, 4);
   return ret != INADDR_NONE;
 }
 
@@ -247,7 +246,7 @@ int silc_net_set_socket_nonblock(int sock)
 
 /* Init Winsock2. */
 
-bool silc_net_win32_init(void)
+SilcBool silc_net_win32_init(void)
 {
   int ret, sopt = SO_SYNCHRONOUS_NONALERT;
   WSADATA wdata;