U
    «F\  ã                   @   s$   d Z ddlmZ dd„ Zdd„ ZdS )z*
PRNG management routines, thin wrappers.
é    )Úlibc                 C   s:   t | tƒstdƒ‚t |tƒs$tdƒ‚t | t| ƒ|¡ dS )aò  
    Mix bytes from *string* into the PRNG state.

    The *entropy* argument is (the lower bound of) an estimate of how much
    randomness is contained in *string*, measured in bytes.

    For more information, see e.g. :rfc:`1750`.

    This function is only relevant if you are forking Python processes and
    need to reseed the CSPRNG after fork.

    :param buffer: Buffer with random data.
    :param entropy: The entropy (in bytes) measurement of the buffer.

    :return: :obj:`None`
    zbuffer must be a byte stringzentropy must be an integerN)Ú
isinstanceÚbytesÚ	TypeErrorÚintÚ_libZRAND_addÚlen)ÚbufferZentropy© r
   ú./usr/lib/python3/dist-packages/OpenSSL/rand.pyÚadd   s
    

r   c                   C   s   t  ¡ S )z}
    Check whether the PRNG has been seeded with enough data.

    :return: 1 if the PRNG is seeded enough, 0 otherwise.
    )r   ZRAND_statusr
   r
   r
   r   Ústatus"   s    r   N)Ú__doc__ZOpenSSL._utilr   r   r   r   r
   r
   r
   r   Ú<module>   s   