+#ifdef HAVE_GETRUSAGE
+ getrusage(RUSAGE_SELF, &r);
+ silc_rng_xor(rng, (r.ru_utime.tv_sec + r.ru_utime.tv_usec), pos++);
+ 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++);
+ silc_rng_xor(rng, (r.ru_idrss ^ r.ru_idrss), pos++);
+ silc_rng_xor(rng, (r.ru_idrss << 16), pos++);
+ silc_rng_xor(rng, (r.ru_minflt + r.ru_majflt), pos++);
+ silc_rng_xor(rng, (r.ru_minflt ^ r.ru_majflt), pos++);
+ silc_rng_xor(rng, (r.ru_nswap + r.ru_oublock + r.ru_inblock), pos++);
+ silc_rng_xor(rng, (r.ru_nswap << 8), pos++);
+ silc_rng_xor(rng, (r.ru_inblock + r.ru_oublock), pos++);
+ silc_rng_xor(rng, (r.ru_inblock ^ r.ru_oublock), pos++);
+ silc_rng_xor(rng, (r.ru_msgsnd ^ r.ru_msgrcv), pos++);
+ silc_rng_xor(rng, (r.ru_nsignals + r.ru_msgsnd + r.ru_msgrcv), pos++);
+ 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 /* SILC_SYMBIAN */
+#endif /* HAVE_GETRUSAGE */