X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;ds=sidebyside;f=ctypescrypto%2Fbio.py;h=b1700b9a869ca80dd1eba7dba1c13117782202b0;hb=92df3e73921ba7b8756bfab1af4189dab7cc610e;hp=f8150f72cebc25db4b8604a33c88f6a1c64f727d;hpb=39458a66c05b88ba2c08164d238691a59e2708c8;p=oss%2Fctypescrypto.git diff --git a/ctypescrypto/bio.py b/ctypescrypto/bio.py index f8150f7..b1700b9 100644 --- a/ctypescrypto/bio.py +++ b/ctypescrypto/bio.py @@ -1,6 +1,9 @@ +""" +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 @@ -39,7 +42,7 @@ class Membio: @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) @@ -80,6 +83,8 @@ class Membio: 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,)