Merge branch 'topic/mm-fixes' of git://208.110.73.182/silc into silc.1.1.branch
[silc.git] / lib / silccrypt / silcrng.c
index d32b708b1613dbee7a617df2d0ea86bc7b22b404..668a64ea24e73bb9051f09e362676c85c2cf7672 100644 (file)
@@ -243,14 +243,17 @@ static void silc_rng_get_soft_noise(SilcRng rng)
   silc_rng_xor(rng, getpgid(getpid()) << 8, 2);
   silc_rng_xor(rng, getpgid(getpid()) << 8, 3);
 #endif
+#ifdef HAVE_GETGID
   silc_rng_xor(rng, getgid(), 4);
 #endif
+#endif
 #ifdef HAVE_GETPGRP
   silc_rng_xor(rng, getpgrp(), 5);
 #endif
 #ifdef HAVE_GETSID
   silc_rng_xor(rng, getsid(getpid()) << 16, 6);
 #endif
+#ifndef SILC_SYMBIAN
   silc_rng_xor(rng, times(&ptime), 7);
   silc_rng_xor(rng, ptime.tms_utime, 8);
   silc_rng_xor(rng, (ptime.tms_utime + ptime.tms_stime), pos++);
@@ -262,6 +265,7 @@ static void silc_rng_get_soft_noise(SilcRng rng)
   silc_rng_xor(rng, (ptime.tms_stime ^ ptime.tms_cutime), pos++);
   silc_rng_xor(rng, (ptime.tms_cutime + ptime.tms_stime), pos++);
   silc_rng_xor(rng, (ptime.tms_stime << 8), pos++);
+#endif /* SILC_SYMBIAN */
 #endif
   silc_rng_xor(rng, clock() << 4, pos++);
 #ifndef SILC_WIN32
@@ -274,8 +278,10 @@ static void silc_rng_get_soft_noise(SilcRng rng)
 #ifdef HAVE_SETSID
   silc_rng_xor(rng, getsid(getpid()) << 16, pos++);
 #endif
+#ifndef SILC_SYMBIAN
   silc_rng_xor(rng, times(&ptime), pos++);
   silc_rng_xor(rng, ptime.tms_utime, pos++);
+#endif /* SILC_SYMBIAN */
 #ifdef HAVE_GETPGRP
   silc_rng_xor(rng, getpgrp(), pos++);
 #endif
@@ -286,6 +292,7 @@ static void silc_rng_get_soft_noise(SilcRng rng)
   silc_rng_xor(rng, (r.ru_utime.tv_sec ^ r.ru_utime.tv_usec), pos++);
   silc_rng_xor(rng, (r.ru_stime.tv_sec + r.ru_stime.tv_usec), pos++);
   silc_rng_xor(rng, (r.ru_stime.tv_sec ^ r.ru_stime.tv_usec), pos++);
+#ifndef SILC_SYMBIAN
   silc_rng_xor(rng, (r.ru_maxrss + r.ru_ixrss), pos++);
   silc_rng_xor(rng, (r.ru_maxrss ^ r.ru_ixrss), pos++);
   silc_rng_xor(rng, (r.ru_idrss + r.ru_idrss), pos++);
@@ -302,7 +309,8 @@ static void silc_rng_get_soft_noise(SilcRng rng)
   silc_rng_xor(rng, (r.ru_nsignals << 16), pos++);
   silc_rng_xor(rng, (r.ru_nvcsw + r.ru_nivcsw), pos++);
   silc_rng_xor(rng, (r.ru_nvcsw ^ r.ru_nivcsw), pos++);
-#endif
+#endif /* SILC_SYMBIAN */
+#endif /* HAVE_GETRUSAGE */
   
 #ifdef SILC_RNG_DEBUG
   SILC_LOG_HEXDUMP(("pool"), rng->pool, sizeof(rng->pool));
@@ -335,7 +343,7 @@ static void silc_rng_get_medium_noise(SilcRng rng)
 
 static void silc_rng_get_hard_noise(SilcRng rng)
 {
-#ifndef SILC_WIN32
+#if defined(SILC_UNIX)
   unsigned char buf[32];
   int fd, len, i;
 
@@ -367,7 +375,7 @@ static void silc_rng_get_hard_noise(SilcRng rng)
 
 static void silc_rng_exec_command(SilcRng rng, char *command)
 {
-#ifndef SILC_WIN32
+#if defined(SILC_UNIX)
   unsigned char buf[1024];
   FILE *fd;
   int i;
@@ -549,7 +557,7 @@ SilcUInt8 silc_rng_get_byte(SilcRng rng)
 
 SilcUInt8 silc_rng_get_byte_fast(SilcRng rng)
 {
-#ifndef SILC_WIN32
+#if defined(SILC_UNIX)
   unsigned char buf[1];
 
   if (rng->fd_devurandom == -1) {