| /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| |
| |
| #include <stdio.h> |
| #include <string.h> |
| #include <signal.h> |
| #include <unistd.h> |
| #include <errno.h> |
| #include <stdlib.h> |
| #include <sys/time.h> |
| #include <sys/wait.h> |
| #include <sys/stat.h> |
| #include <assert.h> |
| #include <time.h> |
| #include "primpl.h" |
| |
| extern PRSize _PR_MD_GetRandomNoise( void *buf, PRSize size ) |
| { |
| struct timeval tv; |
| int n = 0; |
| int s; |
| |
| GETTIMEOFDAY(&tv); |
| |
| if ( size > 0 ) { |
| s = _pr_CopyLowBits((char*)buf+n, size, &tv.tv_usec, sizeof(tv.tv_usec)); |
| size -= s; |
| n += s; |
| } |
| if ( size > 0 ) { |
| s = _pr_CopyLowBits((char*)buf+n, size, &tv.tv_sec, sizeof(tv.tv_usec)); |
| size -= s; |
| n += s; |
| } |
| |
| return n; |
| } /* end _PR_MD_GetRandomNoise() */ |