+"""
+Interface to OpenSSL BIO library
+"""
from ctypescrypto import libcrypto
from ctypes import c_char_p, c_void_p, c_int, string_at, c_long,POINTER,byref, create_string_buffer
-class Membio:
+class Membio(object):
"""
Provides interface to OpenSSL memory bios
use str() or unicode() to get contents of writable bio
@param length - if specifed, limits amount of data read. If not BIO is read until end of buffer
"""
if not length is None:
- if type(length)!=type(0):
+ if not isinstance(length,(int,long)):
raise TypeError("length to read should be number")
buf=create_string_buffer(length)
readbytes=libcrypto.BIO_read(self.bio,buf,length)
Resets the read-only bio to start and discards all data from writable bio
"""
libcrypto.BIO_ctrl(self.bio,1,0,None)
+
+__all__ = ['Membio']
libcrypto.BIO_s_mem.restype=c_void_p
libcrypto.BIO_new.restype=c_void_p
libcrypto.BIO_new.argtypes=(c_void_p,)