{-# LANGUAGE ForeignFunctionInterface #-} #include #include module Bindings.Nettle.PRNG.Yarrow where #strict_import #num YARROW256_SEED_FILE_SIZE #starttype struct yarrow256_ctx #stoptype #starttype struct yarrow_source #stoptype #ccall yarrow256_init , Ptr -> CUInt -> Ptr -> IO () #ccall yarrow256_seed , Ptr -> CUInt -> Ptr CUChar -> IO () #ccall yarrow256_update , Ptr -> CUInt -> CUInt -> CUInt -> Ptr CUChar -> IO CInt #ccall yarrow256_random , Ptr -> CUInt -> Ptr CUChar -> IO () #ccall yarrow256_is_seeded , Ptr -> IO CInt #ccall yarrow256_needed_sources , Ptr -> IO CUInt #ccall yarrow256_fast_reseed , Ptr -> IO () #ccall yarrow256_slow_reseed , Ptr -> IO () #starttype struct yarrow_key_event_ctx #stoptype #ccall yarrow_key_event_init , Ptr -> IO () #ccall yarrow_key_event_estimate , Ptr -> CUInt -> CUInt -> IO CUInt