diff options
Diffstat (limited to 'winsup/cygwin/fhandler_random.cc')
-rw-r--r-- | winsup/cygwin/fhandler_random.cc | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/winsup/cygwin/fhandler_random.cc b/winsup/cygwin/fhandler_random.cc index 71e9d5822..2447b4e78 100644 --- a/winsup/cygwin/fhandler_random.cc +++ b/winsup/cygwin/fhandler_random.cc @@ -1,6 +1,6 @@ /* fhandler_random.cc: code to access /dev/random and /dev/urandom - Copyright 2000, 2001 Red Hat, Inc. + Copyright 2000, 2001, 2002 Red Hat, Inc. Written by Corinna Vinschen (vinschen@cygnus.com) @@ -23,18 +23,16 @@ details. */ #define PSEUDO_MULTIPLIER (6364136223846793005LL) #define PSEUDO_SHIFTVAL (21) -fhandler_dev_random::fhandler_dev_random (const char *name, int nunit) - : fhandler_base (FH_RANDOM, name), - unit(nunit), - crypt_prov((HCRYPTPROV)NULL) +fhandler_dev_random::fhandler_dev_random (int nunit) + : fhandler_base (FH_RANDOM), unit (nunit), crypt_prov ((HCRYPTPROV) NULL) { - set_cb (sizeof *this); } int -fhandler_dev_random::open (const char *, int flags, mode_t) +fhandler_dev_random::open (path_conv *, int flags, mode_t) { - set_flags (flags); + set_flags ((flags & ~O_TEXT) | O_BINARY); + set_nohandle (true); set_open_status (); return 1; } @@ -112,7 +110,7 @@ fhandler_dev_random::pseudo_read (void *ptr, size_t len) return len; } -int +int __stdcall fhandler_dev_random::read (void *ptr, size_t len) { if (!len) @@ -135,8 +133,8 @@ fhandler_dev_random::read (void *ptr, size_t len) return -1; } -off_t -fhandler_dev_random::lseek (off_t, int) +__off64_t +fhandler_dev_random::lseek (__off64_t, int) { return 0; } @@ -147,7 +145,7 @@ fhandler_dev_random::close (void) if (crypt_prov) while (!CryptReleaseContext (crypt_prov, 0) && GetLastError () == ERROR_BUSY) - Sleep(10); + Sleep (10); return 0; } @@ -163,6 +161,6 @@ fhandler_dev_random::dup (fhandler_base *child) void fhandler_dev_random::dump () { - paranoid_printf("here, fhandler_dev_random"); + paranoid_printf ("here, fhandler_dev_random"); } |