diff options
Diffstat (limited to 'kernel.soso/random.c')
-rw-r--r-- | kernel.soso/random.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/kernel.soso/random.c b/kernel.soso/random.c deleted file mode 100644 index c78501d8..00000000 --- a/kernel.soso/random.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "random.h" -#include "devfs.h" -#include "device.h" -#include "common.h" -#include "process.h" -#include "sleep.h" - -static BOOL random_open(File *file, uint32 flags); -static int32 random_read(File *file, uint32 size, uint8 *buffer); - -void initializeRandom() { - Device device; - memset((uint8*)&device, 0, sizeof(Device)); - strcpy(device.name, "random"); - device.deviceType = FT_CharacterDevice; - device.open = random_open; - device.read = random_read; - - registerDevice(&device); -} - -static BOOL random_open(File *file, uint32 flags) { - return TRUE; -} - -static int32 random_read(File *file, uint32 size, uint8 *buffer) { - if (size == 0) { - return 0; - } - - //printkf("random_read: calling sleep\n"); - - //sleep(10000); - - //printkf("random_read: returned from sleep\n"); - - uint32 number = rand(); - - if (size == 1) { - *buffer = (uint8)number; - return 1; - } - else if (size == 2 || size == 3) { - *((uint16*)buffer) = (uint16)number; - return 2; - } - else if (size >= 4) { - //printkf("random_read: buffer is %x, writing %x to buffer\n", buffer, number); - - *((uint32*)buffer) = number; - return 4; - } - - return 0; -} |