class CConfig: _compilation_info_ = eci calling_conv = 'c' CHECK_LIBRARY = platform.Has('dump("x", (long)&BZ2_bzCompress)') off_t = platform.SimpleType("off_t", rffi.LONGLONG) size_t = platform.SimpleType("size_t", rffi.ULONG) BUFSIZ = platform.ConstantInteger("BUFSIZ") _alloc_type = lltype.FuncType([rffi.VOIDP, rffi.INT, rffi.INT], rffi.VOIDP) _free_type = lltype.FuncType([rffi.VOIDP, rffi.VOIDP], lltype.Void) SEEK_SET = platform.ConstantInteger("SEEK_SET") bz_stream = platform.Struct('bz_stream', [ ('next_in', rffi.CCHARP), ('avail_in', rffi.UINT), ('total_in_lo32', rffi.UINT), ('total_in_hi32', rffi.UINT), ('next_out', rffi.CCHARP), ('avail_out', rffi.UINT), ('total_out_lo32', rffi.UINT), ('total_out_hi32', rffi.UINT), ('state', rffi.VOIDP), ('bzalloc', lltype.Ptr(_alloc_type)), ('bzfree', lltype.Ptr(_free_type)), ('opaque', rffi.VOIDP), ])
class CConfig: _compilation_info_ = eci TIMEVAL = platform.Struct('struct timeval', [('tv_sec', rffi.LONG), ('tv_usec', rffi.LONG)]) TIMESPEC = platform.Struct('struct timespec', [('tv_sec', rffi.TIME_T), ('tv_nsec', rffi.LONG)]) SEM_FAILED = platform.ConstantInteger('SEM_FAILED') SEM_VALUE_MAX = platform.ConstantInteger('SEM_VALUE_MAX') SEM_TIMED_WAIT = platform.Has('sem_timedwait') SEM_T_SIZE = platform.SizeOf('sem_t')
class CConfigure: _compilation_info_ = eci XML_Content = rffi_platform.Struct('XML_Content', [ ('numchildren', rffi.UINT), ('children', XML_Content_Ptr), ('name', rffi.CCHARP), ('type', rffi.INT), ('quant', rffi.INT), ]) XML_Encoding = rffi_platform.Struct('XML_Encoding', [ ('map', rffi.CFixedArray(rffi.INT, 1)), ('data', rffi.VOIDP), ('convert', rffi.VOIDP), ('release', rffi.VOIDP), ]) for name in [ 'XML_PARAM_ENTITY_PARSING_NEVER', 'XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE', 'XML_PARAM_ENTITY_PARSING_ALWAYS' ]: locals()[name] = rffi_platform.ConstantInteger(name) XML_MAJOR_VERSION = rffi_platform.ConstantInteger('XML_MAJOR_VERSION') XML_MINOR_VERSION = rffi_platform.ConstantInteger('XML_MINOR_VERSION') XML_MICRO_VERSION = rffi_platform.ConstantInteger('XML_MICRO_VERSION') XML_FALSE = rffi_platform.ConstantInteger('XML_FALSE') XML_TRUE = rffi_platform.ConstantInteger('XML_TRUE') for name in xml_error_list: locals()[name] = rffi_platform.ConstantInteger(name) for name in xml_model_list: locals()[name] = rffi_platform.ConstantInteger(name) XML_Parser_SIZE = rffi_platform.SizeOf("XML_Parser")
class CConfigBootstrap: _compilation_info_ = eci OPENSSL_EXPORT_VAR_AS_FUNCTION = rffi_platform.Defined( "OPENSSL_EXPORT_VAR_AS_FUNCTION") OPENSSL_VERSION_NUMBER = rffi_platform.ConstantInteger( "OPENSSL_VERSION_NUMBER") LIBRESSL = rffi_platform.Defined("LIBRESSL_VERSION_NUMBER")
class CConfig: _compilation_info_ = ExternalCompilationInfo( includes = _includes ) CLOCKS_PER_SEC = platform.ConstantInteger("CLOCKS_PER_SEC") clock_t = platform.SimpleType("clock_t", rffi.ULONG) has_gettimeofday = platform.Has('gettimeofday')
class CConfig: _compilation_info_ = ExternalCompilationInfo( includes=['windows.h'], libraries=['kernel32'], ) for name in CONSTANTS: locals()[name] = rffi_platform.ConstantInteger(name)
class CConfig: _compilation_info_ = eci FFI_OK = rffi_platform.ConstantInteger('FFI_OK') FFI_BAD_TYPEDEF = rffi_platform.ConstantInteger('FFI_BAD_TYPEDEF') FFI_DEFAULT_ABI = rffi_platform.ConstantInteger('FFI_DEFAULT_ABI') if _WIN32 and not _WIN64: FFI_STDCALL = rffi_platform.ConstantInteger('FFI_STDCALL') if _ARM: FFI_SYSV = rffi_platform.ConstantInteger('FFI_SYSV') FFI_VFP = rffi_platform.ConstantInteger('FFI_VFP') FFI_TYPE_STRUCT = rffi_platform.ConstantInteger('FFI_TYPE_STRUCT') size_t = rffi_platform.SimpleType("size_t", rffi.ULONG) ffi_abi = rffi_platform.SimpleType("ffi_abi", rffi.USHORT) ffi_arg = rffi_platform.SimpleType("ffi_arg", lltype.Signed) ffi_type = rffi_platform.Struct('ffi_type', [('size', rffi.ULONG), ('alignment', rffi.USHORT), ('type', rffi.USHORT), ('elements', FFI_TYPE_PP)]) ffi_cif = rffi_platform.Struct('ffi_cif', []) ffi_closure = rffi_platform.Struct('ffi_closure', [('user_data', rffi.VOIDP)])
class CConfig: _compilation_info_ = ExternalCompilationInfo(pre_include_bits=[ "/* a C comment */", "#include <stdio.h>", "#include <test_ctypes_platform.h>" ], include_dirs=[str(udir)]) FILE = rffi_platform.Struct('FILE', []) ushort = rffi_platform.SimpleType('unsigned short') XYZZY = rffi_platform.ConstantInteger('XYZZY')
class CConfig: _compilation_info_ = eci X509_ASN_ENCODING = rffi_platform.ConstantInteger('X509_ASN_ENCODING') PKCS_7_ASN_ENCODING = rffi_platform.ConstantInteger('PKCS_7_ASN_ENCODING') CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG = rffi_platform.ConstantInteger( 'CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG') CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG = rffi_platform.ConstantInteger( 'CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG') CRYPT_E_NOT_FOUND = rffi_platform.ConstantInteger('CRYPT_E_NOT_FOUND') CERT_ENHKEY_USAGE = rffi_platform.Struct( 'CERT_ENHKEY_USAGE', [('cUsageIdentifier', rwin32.DWORD), ('rgpszUsageIdentifier', rffi.CCHARPP)]) CERT_CONTEXT = rffi_platform.Struct('CERT_CONTEXT', [('pbCertEncoded', rffi.CCHARP), ('cbCertEncoded', rwin32.DWORD), ('dwCertEncodingType', rwin32.DWORD)]) CRL_CONTEXT = rffi_platform.Struct('CRL_CONTEXT', [('pbCrlEncoded', rffi.CCHARP), ('cbCrlEncoded', rwin32.DWORD), ('dwCertEncodingType', rwin32.DWORD)])
class CConfig: _compilation_info_ = ExternalCompilationInfo(includes=['float.h']) DBL_MAX = rffi_platform.DefinedConstantDouble('DBL_MAX') DBL_MIN = rffi_platform.DefinedConstantDouble('DBL_MIN') DBL_MANT_DIG = rffi_platform.ConstantInteger('DBL_MANT_DIG')
Definitions for basic types defined by zlib. """ _compilation_info_ = eci # XXX If Z_PREFIX was defined for the libz build, then these types are # named z_uInt, z_uLong, and z_Bytef instead. uInt = rffi_platform.SimpleType('uInt', rffi.UINT) uLong = rffi_platform.SimpleType('uLong', rffi.ULONG) Bytef = rffi_platform.SimpleType('Bytef', rffi.UCHAR) voidpf = rffi_platform.SimpleType('voidpf', rffi.VOIDP) ZLIB_VERSION = rffi_platform.DefinedConstantString('ZLIB_VERSION') for _name in constantnames: setattr(SimpleCConfig, _name, rffi_platform.ConstantInteger(_name)) config = rffi_platform.configure(SimpleCConfig) voidpf = config['voidpf'] uInt = config['uInt'] uLong = config['uLong'] Bytef = config['Bytef'] Bytefp = lltype.Ptr(lltype.Array(Bytef, hints={'nolength': True})) ZLIB_VERSION = config['ZLIB_VERSION'] for _name in constantnames: globals()[_name] = config[_name] # The following parameter is copied from zutil.h, version 0.95, # according to CPython's zlibmodule.c
class CConfig: _compilation_info_ = eci PROV_RSA_FULL = rffi_platform.ConstantInteger( "PROV_RSA_FULL") CRYPT_VERIFYCONTEXT = rffi_platform.ConstantInteger( "CRYPT_VERIFYCONTEXT")
# This file is transformed from CPython: Modules/_ssl_data.h # Itself generated by Tools/ssl/make_ssl_data.py # Generated on 2012-05-16T23:56:40.981382 from rpython.rlib import ropenssl from rpython.rtyper.tool import rffi_platform class CConfig: _compilation_info_ = ropenssl.eci library_codes = "PEM SSL X509".split() for code in library_codes: setattr(CConfig, code, rffi_platform.ConstantInteger( 'ERR_LIB_' + code)) error_codes = [ ('PEM', 'BAD_BASE64_DECODE'), ('PEM', 'BAD_DECRYPT'), ('PEM', 'BAD_END_LINE'), ('PEM', 'BAD_IV_CHARS'), ('PEM', 'BAD_MAGIC_NUMBER'), ('PEM', 'BAD_PASSWORD_READ'), ('PEM', 'BAD_VERSION_NUMBER'), ('PEM', 'BIO_WRITE_FAILURE'), ('PEM', 'CIPHER_IS_NULL'), ('PEM', 'ERROR_CONVERTING_PRIVATE_KEY'), ('PEM', 'EXPECTING_PRIVATE_KEY_BLOB'), ('PEM', 'EXPECTING_PUBLIC_KEY_BLOB'), ('PEM', 'INCONSISTENT_HEADER'), ('PEM', 'KEYBLOB_HEADER_PARSE_ERROR'), ('PEM', 'KEYBLOB_TOO_SHORT'),
class CConfigGlobal: _compilation_info_ = ExternalCompilationInfo( includes = ['windows.h', 'winbase.h', 'sys/stat.h', 'fcntl.h'], ) ERROR_FILE_NOT_FOUND = platform.ConstantInteger( 'ERROR_FILE_NOT_FOUND') ERROR_NO_MORE_FILES = platform.ConstantInteger( 'ERROR_NO_MORE_FILES') GetFileExInfoStandard = platform.ConstantInteger( 'GetFileExInfoStandard') FILE_ATTRIBUTE_DIRECTORY = platform.ConstantInteger( 'FILE_ATTRIBUTE_DIRECTORY') FILE_ATTRIBUTE_READONLY = platform.ConstantInteger( 'FILE_ATTRIBUTE_READONLY') INVALID_FILE_ATTRIBUTES = platform.ConstantInteger( 'INVALID_FILE_ATTRIBUTES') ERROR_SHARING_VIOLATION = platform.ConstantInteger( 'ERROR_SHARING_VIOLATION') ERROR_ACCESS_DENIED = platform.ConstantInteger('ERROR_ACCESS_DENIED') ERROR_CANT_ACCESS_FILE = platform.ConstantInteger( 'ERROR_CANT_ACCESS_FILE') ERROR_INVALID_PARAMETER = platform.ConstantInteger( 'ERROR_INVALID_PARAMETER') ERROR_NOT_SUPPORTED = platform.ConstantInteger( 'ERROR_NOT_SUPPORTED') ERROR_INVALID_FUNCTION = platform.ConstantInteger( 'ERROR_INVALID_FUNCTION') MOVEFILE_REPLACE_EXISTING = platform.ConstantInteger( 'MOVEFILE_REPLACE_EXISTING') _S_IFDIR = platform.ConstantInteger('_S_IFDIR') _S_IFREG = platform.ConstantInteger('_S_IFREG') _S_IFCHR = platform.ConstantInteger('_S_IFCHR') _S_IFIFO = platform.ConstantInteger('_S_IFIFO') _O_APPEND = platform.ConstantInteger('_O_APPEND') _O_CREAT = platform.ConstantInteger('_O_CREAT') _O_EXCL = platform.ConstantInteger('_O_EXCL') _O_RDONLY = platform.ConstantInteger('_O_RDONLY') _O_RDWR = platform.ConstantInteger('_O_RDWR') _O_TRUNC = platform.ConstantInteger('_O_TRUNC') _O_WRONLY = platform.ConstantInteger('_O_WRONLY') _O_BINARY = platform.ConstantInteger('_O_BINARY') FILE_TYPE_UNKNOWN = platform.ConstantInteger('FILE_TYPE_UNKNOWN') FILE_TYPE_CHAR = platform.ConstantInteger('FILE_TYPE_CHAR') FILE_TYPE_PIPE = platform.ConstantInteger('FILE_TYPE_PIPE') FILE_TYPE_DISK = platform.ConstantInteger('FILE_TYPE_DISK') FILE_READ_ATTRIBUTES = platform.ConstantInteger('FILE_READ_ATTRIBUTES') FILE_WRITE_ATTRIBUTES = platform.ConstantInteger( 'FILE_WRITE_ATTRIBUTES') GENERIC_READ = platform.ConstantInteger('GENERIC_READ') FILE_SHARE_READ = platform.ConstantInteger('FILE_SHARE_READ') FILE_SHARE_WRITE = platform.ConstantInteger('FILE_SHARE_WRITE') OPEN_EXISTING = platform.ConstantInteger('OPEN_EXISTING') FILE_ATTRIBUTE_NORMAL = platform.ConstantInteger( 'FILE_ATTRIBUTE_NORMAL') FILE_FLAG_BACKUP_SEMANTICS = platform.ConstantInteger( 'FILE_FLAG_BACKUP_SEMANTICS') FILE_FLAG_OPEN_REPARSE_POINT = platform.ConstantInteger( 'FILE_FLAG_OPEN_REPARSE_POINT') FILE_ATTRIBUTE_REPARSE_POINT = platform.ConstantInteger( 'FILE_ATTRIBUTE_REPARSE_POINT') FileAttributeTagInfo = platform.ConstantInteger('FileAttributeTagInfo') VOLUME_NAME_DOS = platform.ConstantInteger('VOLUME_NAME_DOS') VOLUME_NAME_NT = platform.ConstantInteger('VOLUME_NAME_NT') WIN32_FILE_ATTRIBUTE_DATA = platform.Struct( 'WIN32_FILE_ATTRIBUTE_DATA', [('dwFileAttributes', rwin32.DWORD), ('nFileSizeHigh', rwin32.DWORD), ('nFileSizeLow', rwin32.DWORD), ('ftCreationTime', rwin32.FILETIME), ('ftLastAccessTime', rwin32.FILETIME), ('ftLastWriteTime', rwin32.FILETIME)]) BY_HANDLE_FILE_INFORMATION = platform.Struct( 'BY_HANDLE_FILE_INFORMATION', [('dwFileAttributes', rwin32.DWORD), ('ftCreationTime', rwin32.FILETIME), ('ftLastAccessTime', rwin32.FILETIME), ('ftLastWriteTime', rwin32.FILETIME), ('dwVolumeSerialNumber', rwin32.DWORD), ('nFileSizeHigh', rwin32.DWORD), ('nFileSizeLow', rwin32.DWORD), ('nNumberOfLinks', rwin32.DWORD), ('nFileIndexHigh', rwin32.DWORD), ('nFileIndexLow', rwin32.DWORD)]) FILE_ATTRIBUTE_TAG_INFO = platform.Struct( 'FILE_ATTRIBUTE_TAG_INFO', [('FileAttributes', rwin32.DWORD), ('ReparseTag', rwin32.DWORD)])
'EMJS_ERROR', 'EMJS_OK', 'EMJS_UNDEFINED', 'EMJS_NULL', 'EMJS_FALSE', 'EMJS_TRUE', 'EMJS_TYPE_ERROR', 'EMJS_TYPE_UNDEFINED', 'EMJS_TYPE_BOOLEAN', 'EMJS_TYPE_NUMBER', 'EMJS_TYPE_STRING', 'EMJS_TYPE_OBJECT', 'EMJS_TYPE_FUNCTION', ] class CConfig: _compilation_info_ = eci size_t = rffi_platform.SimpleType("size_t", rffi.ULONG) emjs_handle = rffi_platform.SimpleType("emjs_handle", rffi.LONG) emjs_type = rffi_platform.SimpleType("emjs_type", rffi.LONG) for constant in CONSTANTS: setattr(CConfig, constant, rffi_platform.ConstantInteger(constant)) class cConfig: pass for k, v in rffi_platform.configure(CConfig).items(): setattr(cConfig, k, v) for constant in CONSTANTS: locals()[constant] = getattr(cConfig, constant) del constant, CONSTANTS SIZE_T_TP = cConfig.size_t EMJS_HANDLE_TP = cConfig.emjs_handle
class CConfig: _compilation_info_ = eci timespec_t = rffi_platform.Struct("uv_timespec_t", [ ("tv_sec", rffi.LONG), ("tv_nsec", rffi.LONG)]) stat_t = rffi_platform.Struct("uv_stat_t", [ ("st_dev", uint64_t ), ("st_mode", uint64_t ), ("st_nlink", uint64_t ), ("st_uid", uint64_t ), ("st_gid", uint64_t ), ("st_rdev", uint64_t ), ("st_ino", uint64_t ), ("st_size", uint64_t ), ("st_blksize", uint64_t ), ("st_blocks", uint64_t ), ("st_flags", uint64_t ), ("st_gen", uint64_t ), ("st_atim", timespec_t), ("st_mtim", timespec_t), ("st_ctim", timespec_t), ("st_birthtim", timespec_t)]) #dirent_type_t = rffi_platform.SimpleType("uv_dirent_type_t", rffi.INT) dirent_t = rffi_platform.Struct("uv_dirent_t", [ ("name", rffi.CCHARP), ("type", rffi.INT)]) sockaddr = rffi_platform.Struct("struct sockaddr", [ ("sa_family", rffi.USHORT)]) handle_t = rffi_platform.Struct("uv_handle_t", [("data", rffi.VOIDP)]) stream_t = rffi_platform.Struct("uv_stream_t", [("data", rffi.VOIDP)]) tcp_t = rffi_platform.Struct("uv_tcp_t", [("data", rffi.VOIDP)]) udp_t = rffi_platform.Struct("uv_udp_t", [("data", rffi.VOIDP)]) pipe_t = rffi_platform.Struct("uv_pipe_t", [("data", rffi.VOIDP)]) tty_t = rffi_platform.Struct("uv_tty_t", [("data", rffi.VOIDP)]) poll_t = rffi_platform.Struct("uv_poll_t", [("data", rffi.VOIDP)]) timer_t = rffi_platform.Struct("uv_timer_t", [("data", rffi.VOIDP)]) prepare_t = rffi_platform.Struct("uv_prepare_t", [("data", rffi.VOIDP)]) check_t = rffi_platform.Struct("uv_check_t", [("data", rffi.VOIDP)]) idle_t = rffi_platform.Struct("uv_idle_t", [("data", rffi.VOIDP)]) async_t = rffi_platform.Struct("uv_async_t", [("data", rffi.VOIDP)]) process_t = rffi_platform.Struct("uv_process_t", [ ("data", rffi.VOIDP), ("pid", rffi.INT)]) uid_t = rffi_platform.SimpleType("uv_uid_t", rffi.ULONG) gid_t = rffi_platform.SimpleType("uv_gid_t", rffi.ULONG) # the rffi of rpython doesn't seem to support unions. stdio_container_t = rffi_platform.Struct("uv_stdio_container_t", [ ("flags", stdio_flags)]) #loop_t = rffi_platform.Struct("uv_loop_t", [("data", rffi.VOIDP)]) process_options_t = rffi_platform.Struct("uv_process_options_t", [ ("exit_cb", exit_cb), ("file", rffi.CCHARP), ("args", rffi.CCHARPP), ("env", rffi.CCHARPP), ("cwd", rffi.CCHARP), ("flags", rffi.UINT), ("stdio_count", rffi.INT), ("stdio", lltype.Ptr(lltype.ForwardReference())), ("uid", rffi.ULONG), ("gid", rffi.ULONG)]) connect_t = rffi_platform.Struct("uv_connect_t", [("data", rffi.VOIDP)]) udp_send_t = rffi_platform.Struct("uv_udp_send_t", [("data", rffi.VOIDP)]) # [("handle", # lltype.Ptr(lltype.ForwardReference()))]) #shutdown_t = rffi_platform.Struct("uv_shutdown_t", []) fs_event_t = rffi_platform.Struct("uv_fs_event_t", [("data", rffi.VOIDP)]) fs_poll_t = rffi_platform.Struct("uv_fs_poll_t", [("data", rffi.VOIDP)]) signal_t = rffi_platform.Struct("uv_signal_t", [("data", rffi.VOIDP)]) shutdown_t = rffi_platform.Struct("uv_shutdown_t", [("data", rffi.VOIDP)]) write_t = rffi_platform.Struct("uv_write_t", [("data", rffi.VOIDP)]) fs_t = rffi_platform.Struct("uv_fs_t", [ ("data", rffi.VOIDP), ("path", rffi.CONST_CCHARP), ("result", rffi.SSIZE_T), ("statbuf", stat_t), ("ptr", rffi.VOIDP)]) uv_getaddrinfo_t = rffi_platform.Struct("uv_getaddrinfo_t", [("data", rffi.VOIDP)]) uv_getnameinfo_t = rffi_platform.Struct("uv_getnameinfo_t", [("data", rffi.VOIDP)]) buf_t = rffi_platform.Struct("uv_buf_t", [ ("base", rffi.CCHARP), ("len", rffi.SIZE_T)]) sockaddr_storage = rffi_platform.Struct("struct sockaddr_storage", []) addrinfo = rffi_platform.Struct("struct addrinfo", [ ("ai_flags", rffi.INT), ("ai_family", rffi.INT), ("ai_socktype", rffi.INT), ("ai_protocol", rffi.INT), ("ai_addrlen", rffi.SIZE_T), ("ai_addr", rffi.VOIDP), # struct sockaddr* ("ai_canonname", rffi.CCHARP), ("ai_next", rffi.VOIDP), ]) UV_EOF = rffi_platform.ConstantInteger("UV_EOF") UV_ECANCELED = rffi_platform.ConstantInteger("UV_ECANCELED") AF_UNSPEC = rffi_platform.ConstantInteger("AF_UNSPEC") AF_INET = rffi_platform.ConstantInteger("AF_INET") AF_INET6 = rffi_platform.ConstantInteger("AF_INET6") SOCK_STREAM = rffi_platform.ConstantInteger("SOCK_STREAM") SOCK_DGRAM = rffi_platform.ConstantInteger("SOCK_DGRAM") AI_V4MAPPED = rffi_platform.ConstantInteger("AI_V4MAPPED") AI_ADDRCONFIG = rffi_platform.ConstantInteger("AI_ADDRCONFIG") AI_NUMERICHOST = rffi_platform.ConstantInteger("AI_NUMERICHOST") AI_PASSIVE = rffi_platform.ConstantInteger("AI_PASSIVE") #TCP_IPV6ONLY = rffi_platform.ConstantInteger("TCP_IPV6ONLY") AI_NUMERICHOST = rffi_platform.ConstantInteger("AI_NUMERICHOST") AI_PASSIVE = rffi_platform.ConstantInteger("AI_PASSIVE") INADDR_ANY = rffi_platform.ConstantInteger("INADDR_ANY") #IN6ADDR_ANY_INIT = rffi_platform.ConstantInteger("IN6ADDR_ANY_INIT") INADDR_LOOPBACK = rffi_platform.ConstantInteger("INADDR_LOOPBACK") #IN6ADDR_LOOPBACK_INIT = rffi_platform.ConstantInteger("IN6ADDR_LOOPBACK_INIT") AI_NUMERICSERV = rffi_platform.ConstantInteger("AI_NUMERICSERV") AI_CANONNAME = rffi_platform.ConstantInteger("AI_CANONNAME") NI_NAMEREQD = rffi_platform.ConstantInteger("NI_NAMEREQD") NI_DGRAM = rffi_platform.ConstantInteger("NI_DGRAM") NI_NOFQDN = rffi_platform.ConstantInteger("NI_NOFQDN") NI_NUMERICHOST = rffi_platform.ConstantInteger("NI_NUMERICHOST") NI_NUMERICSERV = rffi_platform.ConstantInteger("NI_NUMERICSERV") # TODO: decide what to do for these (more below). #NI_IDN = rffi_platform.ConstantInteger("NI_IDN") #NI_IDN_ALLOW_UNASSIGNED = rffi_platform.ConstantInteger("NI_IDN_ALLOW_UNASSIGNED") #NI_IDN_USE_STD3_ASCII_RULES = rffi_platform.ConstantInteger("NI_IDN_USE_STD3_ASCII_RULES") #AI_IDN = rffi_platform.ConstantInteger("AI_IDN") #AI_CANONIDN = rffi_platform.ConstantInteger("AI_CANONIDN") #AI_IDN_ALLOW_UNASSIGNED = rffi_platform.ConstantInteger("AI_IDN_ALLOW_UNASSIGNED") #AI_IDN_USE_STD3_ASCII_RULES = rffi_platform.ConstantInteger("AI_IDN_USE_STD3_ASCII_RULES") INET6_ADDRSTRLEN = rffi_platform.ConstantInteger("INET6_ADDRSTRLEN") # Add _ in front if these aren't on the Win32 O_RDONLY = rffi_platform.ConstantInteger("O_RDONLY") O_WRONLY = rffi_platform.ConstantInteger("O_WRONLY") O_RDWR = rffi_platform.ConstantInteger("O_RDWR") O_APPEND = rffi_platform.ConstantInteger("O_APPEND") O_CREAT = rffi_platform.ConstantInteger("O_CREAT") O_EXCL = rffi_platform.ConstantInteger("O_EXCL") O_TRUNC = rffi_platform.ConstantInteger("O_TRUNC") for name in error_names: locals()[name] = rffi_platform.ConstantInteger("UV_"+name)
constants = {} if _POSIX: # constants, look in sys/mman.h and platform docs for the meaning # some constants are linux only so they will be correctly exposed outside # depending on the OS constant_names = [ 'MAP_SHARED', 'MAP_PRIVATE', 'MAP_FIXED', 'PROT_READ', 'PROT_WRITE', 'MS_SYNC' ] opt_constant_names = [ 'MAP_ANON', 'MAP_ANONYMOUS', 'MAP_NORESERVE', 'PROT_EXEC', 'MAP_DENYWRITE', 'MAP_EXECUTABLE' ] for name in constant_names: setattr(CConfig, name, rffi_platform.ConstantInteger(name)) for name in opt_constant_names: setattr(CConfig, name, rffi_platform.DefinedConstantInteger(name)) CConfig.MREMAP_MAYMOVE = ( rffi_platform.DefinedConstantInteger("MREMAP_MAYMOVE")) CConfig.has_mremap = rffi_platform.Has('mremap(NULL, 0, 0, 0)') CConfig.has_madvise = rffi_platform.Has('madvise(NULL, 0, 0)') # ^^ both are a dirty hack, this is probably a macro CConfig.MADV_DONTNEED = ( rffi_platform.DefinedConstantInteger('MADV_DONTNEED')) CConfig.MADV_FREE = (rffi_platform.DefinedConstantInteger('MADV_FREE')) elif _MS_WINDOWS: constant_names = [
]) # list of all integer constants that must be present for _name in ''' PCRE_CASELESS PCRE_MULTILINE PCRE_DOTALL PCRE_EXTENDED PCRE_ANCHORED PCRE_DOLLAR_ENDONLY PCRE_UNGREEDY PCRE_EXTRA PCRE_UTF8 PCRE_NOTEMPTY PCRE_EXTRA_MATCH_LIMIT PCRE_EXTRA_MATCH_LIMIT_RECURSION PCRE_NO_UTF8_CHECK PCRE_ERROR_NOMATCH PCRE_ERROR_MATCHLIMIT PCRE_ERROR_RECURSIONLIMIT PCRE_ERROR_BADUTF8 PCRE_ERROR_BADUTF8_OFFSET PCRE_INFO_CAPTURECOUNT PCRE_INFO_NAMECOUNT PCRE_INFO_NAMETABLE PCRE_INFO_NAMEENTRYSIZE '''.split(): setattr(CConfig, _name, platform.ConstantInteger(_name)) # list of all integer constants that are optional for _name in ''' PCRE_UCP '''.split(): setattr(CConfig, _name, platform.DefinedConstantInteger(_name)) globals().update(platform.configure(CConfig)) # ____________________________________________________________ CCHARPPP = lltype.Ptr(lltype.Array(rffi.CCHARPP, hints={'nolength': True})) pcre = rffi.CStruct('pcre')
class CConfig: _compilation_info_ = eci if WIN32: DWORD_PTR = rffi_platform.SimpleType("DWORD_PTR", rffi.LONG) WORD = rffi_platform.SimpleType("WORD", rffi.UINT) DWORD = rffi_platform.SimpleType("DWORD", rffi.UINT) BOOL = rffi_platform.SimpleType("BOOL", rffi.LONG) BYTE = rffi_platform.SimpleType("BYTE", rffi.UCHAR) WCHAR = rffi_platform.SimpleType("WCHAR", rffi.UCHAR) INT = rffi_platform.SimpleType("INT", rffi.INT) LONG = rffi_platform.SimpleType("LONG", rffi.LONG) PLONG = rffi_platform.SimpleType("PLONG", rffi.LONGP) LPVOID = rffi_platform.SimpleType("LPVOID", rffi.INTP) LPCVOID = rffi_platform.SimpleType("LPCVOID", rffi.VOIDP) LPSTR = rffi_platform.SimpleType("LPSTR", rffi.CCHARP) LPCSTR = rffi_platform.SimpleType("LPCSTR", rffi.CCHARP) LPWSTR = rffi_platform.SimpleType("LPWSTR", rffi.CWCHARP) LPCWSTR = rffi_platform.SimpleType("LPCWSTR", rffi.CWCHARP) LPDWORD = rffi_platform.SimpleType("LPDWORD", rffi.UINTP) SIZE_T = rffi_platform.SimpleType("SIZE_T", rffi.SIZE_T) ULONG_PTR = rffi_platform.SimpleType("ULONG_PTR", rffi.ULONG) HRESULT = rffi_platform.SimpleType("HRESULT", rffi.LONG) HLOCAL = rffi_platform.SimpleType("HLOCAL", rffi.VOIDP) FILETIME = rffi_platform.Struct('FILETIME', [('dwLowDateTime', rffi.UINT), ('dwHighDateTime', rffi.UINT)]) SYSTEMTIME = rffi_platform.Struct('SYSTEMTIME', []) OSVERSIONINFOEX = rffi_platform.Struct( 'OSVERSIONINFOEX', [('dwOSVersionInfoSize', rffi.UINT), ('dwMajorVersion', rffi.UINT), ('dwMinorVersion', rffi.UINT), ('dwBuildNumber', rffi.UINT), ('dwPlatformId', rffi.UINT), ('szCSDVersion', rffi.CFixedArray(lltype.Char, 1)), ('wServicePackMajor', rffi.USHORT), ('wServicePackMinor', rffi.USHORT), ('wSuiteMask', rffi.USHORT), ('wProductType', rffi.UCHAR), ]) LPSECURITY_ATTRIBUTES = rffi_platform.SimpleType( "LPSECURITY_ATTRIBUTES", rffi.CCHARP) DEFAULT_LANGUAGE = rffi_platform.ConstantInteger( "MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)") defines = """FORMAT_MESSAGE_ALLOCATE_BUFFER FORMAT_MESSAGE_FROM_SYSTEM MAX_PATH _MAX_ENV FORMAT_MESSAGE_IGNORE_INSERTS WAIT_OBJECT_0 WAIT_TIMEOUT INFINITE ERROR_INVALID_HANDLE DELETE READ_CONTROL SYNCHRONIZE WRITE_DAC WRITE_OWNER PROCESS_ALL_ACCESS PROCESS_CREATE_PROCESS PROCESS_CREATE_THREAD PROCESS_DUP_HANDLE PROCESS_QUERY_INFORMATION PROCESS_SET_QUOTA PROCESS_SUSPEND_RESUME PROCESS_TERMINATE PROCESS_VM_OPERATION PROCESS_VM_READ PROCESS_VM_WRITE CTRL_C_EVENT CTRL_BREAK_EVENT MB_ERR_INVALID_CHARS ERROR_NO_UNICODE_TRANSLATION WC_NO_BEST_FIT_CHARS """ from rpython.translator.platform import host_factory static_platform = host_factory() if static_platform.name == 'msvc': defines += ' PROCESS_QUERY_LIMITED_INFORMATION' for name in defines.split(): locals()[name] = rffi_platform.ConstantInteger(name)
class CConfig: _compilation_info_ = ExternalCompilationInfo(includes=_includes, libraries=rtime.libraries) CLOCKS_PER_SEC = platform.ConstantInteger("CLOCKS_PER_SEC") has_gettimeofday = platform.Has('gettimeofday')
class CConfig: _compilation_info_ = eci if WIN32: DWORD_PTR = rffi_platform.SimpleType("DWORD_PTR", rffi.LONG) WORD = rffi_platform.SimpleType("WORD", rffi.USHORT) DWORD = rffi_platform.SimpleType("DWORD", rffi.UINT) BOOL = rffi_platform.SimpleType("BOOL", rffi.LONG) BYTE = rffi_platform.SimpleType("BYTE", rffi.UCHAR) WCHAR = rffi_platform.SimpleType("WCHAR", rffi.UCHAR) INT = rffi_platform.SimpleType("INT", rffi.INT) LONG = rffi_platform.SimpleType("LONG", rffi.LONG) PLONG = rffi_platform.SimpleType("PLONG", rffi.LONGP) LPVOID = rffi_platform.SimpleType("LPVOID", rffi.INTP) LPCVOID = rffi_platform.SimpleType("LPCVOID", rffi.VOIDP) LPSTR = rffi_platform.SimpleType("LPSTR", rffi.CCHARP) LPCSTR = rffi_platform.SimpleType("LPCSTR", rffi.CCHARP) LPWSTR = rffi_platform.SimpleType("LPWSTR", rffi.CWCHARP) LPCWSTR = rffi_platform.SimpleType("LPCWSTR", rffi.CWCHARP) LPDWORD = rffi_platform.SimpleType("LPDWORD", rffi.UINTP) LPWORD = rffi_platform.SimpleType("LPWORD", rffi.USHORTP) LPBOOL = rffi_platform.SimpleType("LPBOOL", rffi.LONGP) LPBYTE = rffi_platform.SimpleType("LPBYTE", rffi.UCHARP) SIZE_T = rffi_platform.SimpleType("SIZE_T", rffi.SIZE_T) ULONG_PTR = rffi_platform.SimpleType("ULONG_PTR", rffi.ULONG) HRESULT = rffi_platform.SimpleType("HRESULT", rffi.LONG) HLOCAL = rffi_platform.SimpleType("HLOCAL", rffi.VOIDP) FILETIME = rffi_platform.Struct('FILETIME', [('dwLowDateTime', rffi.UINT), ('dwHighDateTime', rffi.UINT)]) SYSTEMTIME = rffi_platform.Struct('SYSTEMTIME', []) Struct = rffi_platform.Struct COORD = Struct("COORD", [("X", rffi.SHORT), ("Y", rffi.SHORT)]) SMALL_RECT = Struct("SMALL_RECT", [("Left", rffi.SHORT), ("Top", rffi.SHORT), ("Right", rffi.SHORT), ("Bottom", rffi.SHORT)]) CONSOLE_SCREEN_BUFFER_INFO = Struct("CONSOLE_SCREEN_BUFFER_INFO", [("dwSize", COORD), ("dwCursorPosition", COORD), ("wAttributes", WORD.ctype_hint), ("srWindow", SMALL_RECT), ("dwMaximumWindowSize", COORD)]) OSVERSIONINFOEX = rffi_platform.Struct('OSVERSIONINFOEX', [ ('dwOSVersionInfoSize', rffi.UINT), ('dwMajorVersion', rffi.UINT), ('dwMinorVersion', rffi.UINT), ('dwBuildNumber', rffi.UINT), ('dwPlatformId', rffi.UINT), ('szCSDVersion', rffi.CFixedArray(lltype.Char, 1)), ('wServicePackMajor', rffi.USHORT), ('wServicePackMinor', rffi.USHORT), ('wSuiteMask', rffi.USHORT), ('wProductType', rffi.UCHAR), ]) LPSECURITY_ATTRIBUTES = rffi_platform.SimpleType( "LPSECURITY_ATTRIBUTES", rffi.CCHARP) DEFAULT_LANGUAGE = rffi_platform.ConstantInteger( "MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)") defines = """FORMAT_MESSAGE_ALLOCATE_BUFFER FORMAT_MESSAGE_FROM_SYSTEM MAX_PATH _MAX_ENV FORMAT_MESSAGE_IGNORE_INSERTS WAIT_OBJECT_0 WAIT_TIMEOUT INFINITE ERROR_INVALID_HANDLE DELETE READ_CONTROL SYNCHRONIZE WRITE_DAC WRITE_OWNER PROCESS_ALL_ACCESS PROCESS_CREATE_PROCESS PROCESS_CREATE_THREAD PROCESS_DUP_HANDLE PROCESS_QUERY_INFORMATION PROCESS_SET_QUOTA PROCESS_SUSPEND_RESUME PROCESS_TERMINATE PROCESS_VM_OPERATION PROCESS_VM_READ PROCESS_VM_WRITE CTRL_C_EVENT CTRL_BREAK_EVENT MB_ERR_INVALID_CHARS ERROR_NO_UNICODE_TRANSLATION WC_NO_BEST_FIT_CHARS STD_INPUT_HANDLE STD_OUTPUT_HANDLE STD_ERROR_HANDLE HANDLE_FLAG_INHERIT FILE_TYPE_CHAR LOAD_WITH_ALTERED_SEARCH_PATH CT_CTYPE3 C3_HIGHSURROGATE CP_ACP CP_UTF8 CP_UTF7 CP_OEMCP MB_ERR_INVALID_CHARS """ from rpython.translator.platform import host_factory static_platform = host_factory() if static_platform.name == 'msvc': defines += ' PROCESS_QUERY_LIMITED_INFORMATION' for name in defines.split(): locals()[name] = rffi_platform.ConstantInteger(name)
("fd", rffi.INT), ]) CConfig.epoll_event = rffi_platform.Struct("struct epoll_event", [("events", rffi.UINT), ("data", CConfig.epoll_data)]) public_symbols = dict.fromkeys([ "EPOLLIN", "EPOLLOUT", "EPOLLPRI", "EPOLLERR", "EPOLLHUP", "EPOLLET", "EPOLLONESHOT", "EPOLLRDNORM", "EPOLLRDBAND", "EPOLLWRNORM", "EPOLLWRBAND", "EPOLLMSG" ]) for symbol in public_symbols: setattr(CConfig, symbol, rffi_platform.DefinedConstantInteger(symbol)) for symbol in ["EPOLL_CTL_ADD", "EPOLL_CTL_MOD", "EPOLL_CTL_DEL"]: setattr(CConfig, symbol, rffi_platform.ConstantInteger(symbol)) cconfig = rffi_platform.configure(CConfig) for symbol in public_symbols: public_symbols[symbol] = intmask(cconfig[symbol]) epoll_event = cconfig["epoll_event"] EPOLL_CTL_ADD = cconfig["EPOLL_CTL_ADD"] EPOLL_CTL_MOD = cconfig["EPOLL_CTL_MOD"] EPOLL_CTL_DEL = cconfig["EPOLL_CTL_DEL"] DEF_REGISTER_EVENTMASK = (public_symbols["EPOLLIN"] | public_symbols["EPOLLOUT"] | public_symbols["EPOLLPRI"])
from topaz.module import ModuleDef from topaz.system import IS_WINDOWS if not IS_WINDOWS: class CConstants(object): _compilation_info_ = ExternalCompilationInfo(includes=['fcntl.h']) for const in [ "F_DUPFD", "F_GETFD", "F_GETLK", "F_SETFD", "F_GETFL", "F_SETFL", "F_SETLK", "F_SETLKW", "FD_CLOEXEC", "F_RDLCK", "F_UNLCK", "F_WRLCK", "O_CREAT", "O_EXCL", "O_NOCTTY", "O_TRUNC", "O_APPEND", "O_NONBLOCK", "O_NDELAY", "O_RDONLY", "O_RDWR", "O_WRONLY", "O_ACCMODE" ]: setattr(CConstants, const, rffi_platform.ConstantInteger(const)) fcntl_constants = rffi_platform.configure(CConstants) fcntl = _rsocket_rffi.fcntl else: fcntl_constants = {} def fcntl(fdtype, cmd, arg): raise NotImplementedError class Fcntl(object): moduledef = ModuleDef("Fcntl") @moduledef.setup_module def setup_module(space, w_mod): if not IS_WINDOWS:
class CConfig: _compilation_info_ = eci SSLEAY_VERSION = rffi_platform.DefinedConstantString( "SSLEAY_VERSION", "SSLeay_version(SSLEAY_VERSION)") OPENSSL_NO_SSL2 = rffi_platform.Defined("OPENSSL_NO_SSL2") OPENSSL_NO_SSL3 = rffi_platform.Defined("OPENSSL_NO_SSL3") OPENSSL_NO_ECDH = rffi_platform.Defined("OPENSSL_NO_ECDH") OPENSSL_NPN_NEGOTIATED = rffi_platform.Defined("OPENSSL_NPN_NEGOTIATED") SSL_FILETYPE_PEM = rffi_platform.ConstantInteger("SSL_FILETYPE_PEM") SSL_FILETYPE_ASN1 = rffi_platform.ConstantInteger("SSL_FILETYPE_ASN1") SSL_OP_ALL = rffi_platform.ConstantInteger("SSL_OP_ALL") SSL_OP_NO_SSLv2 = rffi_platform.ConstantInteger("SSL_OP_NO_SSLv2") SSL_OP_NO_SSLv3 = rffi_platform.ConstantInteger("SSL_OP_NO_SSLv3") SSL_OP_NO_TLSv1 = rffi_platform.ConstantInteger("SSL_OP_NO_TLSv1") if HAVE_TLSv1_2: SSL_OP_NO_TLSv1_1 = rffi_platform.ConstantInteger("SSL_OP_NO_TLSv1_1") SSL_OP_NO_TLSv1_2 = rffi_platform.ConstantInteger("SSL_OP_NO_TLSv1_2") OPENSSL_NO_TLSEXT = rffi_platform.Defined("OPENSSL_NO_TLSEXT") SSL_OP_CIPHER_SERVER_PREFERENCE = rffi_platform.ConstantInteger( "SSL_OP_CIPHER_SERVER_PREFERENCE") SSL_OP_SINGLE_DH_USE = rffi_platform.ConstantInteger( "SSL_OP_SINGLE_DH_USE") SSL_OP_SINGLE_ECDH_USE = rffi_platform.ConstantInteger( "SSL_OP_SINGLE_ECDH_USE") SSL_OP_NO_COMPRESSION = rffi_platform.DefinedConstantInteger( "SSL_OP_NO_COMPRESSION") SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS = rffi_platform.ConstantInteger( "SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS") HAS_SNI = rffi_platform.Defined("SSL_CTRL_SET_TLSEXT_HOSTNAME") HAS_NPN = rffi_platform.Defined("OPENSSL_NPN_NEGOTIATED") SSL_VERIFY_NONE = rffi_platform.ConstantInteger("SSL_VERIFY_NONE") SSL_VERIFY_PEER = rffi_platform.ConstantInteger("SSL_VERIFY_PEER") SSL_VERIFY_FAIL_IF_NO_PEER_CERT = rffi_platform.ConstantInteger( "SSL_VERIFY_FAIL_IF_NO_PEER_CERT") X509_V_FLAG_CRL_CHECK = rffi_platform.ConstantInteger( "X509_V_FLAG_CRL_CHECK") X509_V_FLAG_CRL_CHECK_ALL = rffi_platform.ConstantInteger( "X509_V_FLAG_CRL_CHECK_ALL") X509_V_FLAG_X509_STRICT = rffi_platform.ConstantInteger( "X509_V_FLAG_X509_STRICT") SSL_ERROR_WANT_READ = rffi_platform.ConstantInteger("SSL_ERROR_WANT_READ") SSL_ERROR_WANT_WRITE = rffi_platform.ConstantInteger( "SSL_ERROR_WANT_WRITE") SSL_ERROR_ZERO_RETURN = rffi_platform.ConstantInteger( "SSL_ERROR_ZERO_RETURN") SSL_ERROR_WANT_X509_LOOKUP = rffi_platform.ConstantInteger( "SSL_ERROR_WANT_X509_LOOKUP") SSL_ERROR_WANT_CONNECT = rffi_platform.ConstantInteger( "SSL_ERROR_WANT_CONNECT") SSL_ERROR_SYSCALL = rffi_platform.ConstantInteger("SSL_ERROR_SYSCALL") SSL_ERROR_SSL = rffi_platform.ConstantInteger("SSL_ERROR_SSL") SSL_RECEIVED_SHUTDOWN = rffi_platform.ConstantInteger( "SSL_RECEIVED_SHUTDOWN") SSL_MODE_AUTO_RETRY = rffi_platform.ConstantInteger("SSL_MODE_AUTO_RETRY") SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER = rffi_platform.ConstantInteger( "SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER") SSL_TLSEXT_ERR_OK = rffi_platform.ConstantInteger("SSL_TLSEXT_ERR_OK") SSL_TLSEXT_ERR_ALERT_FATAL = rffi_platform.ConstantInteger( "SSL_TLSEXT_ERR_ALERT_FATAL") SSL_TLSEXT_ERR_NOACK = rffi_platform.ConstantInteger( "SSL_TLSEXT_ERR_NOACK") SSL_AD_INTERNAL_ERROR = rffi_platform.ConstantInteger( "SSL_AD_INTERNAL_ERROR") SSL_AD_HANDSHAKE_FAILURE = rffi_platform.ConstantInteger( "SSL_AD_HANDSHAKE_FAILURE") TLSEXT_NAMETYPE_host_name = rffi_platform.ConstantInteger( "TLSEXT_NAMETYPE_host_name") ERR_LIB_X509 = rffi_platform.ConstantInteger("ERR_LIB_X509") ERR_LIB_PEM = rffi_platform.ConstantInteger("ERR_LIB_PEM") ERR_LIB_ASN1 = rffi_platform.ConstantInteger("ERR_LIB_ASN1") PEM_R_NO_START_LINE = rffi_platform.ConstantInteger("PEM_R_NO_START_LINE") ASN1_R_HEADER_TOO_LONG = rffi_platform.ConstantInteger( "ASN1_R_HEADER_TOO_LONG") X509_R_CERT_ALREADY_IN_HASH_TABLE = rffi_platform.ConstantInteger( "X509_R_CERT_ALREADY_IN_HASH_TABLE") NID_undef = rffi_platform.ConstantInteger("NID_undef") NID_subject_alt_name = rffi_platform.ConstantInteger( "NID_subject_alt_name") NID_ad_OCSP = rffi_platform.ConstantInteger("NID_ad_OCSP") NID_ad_ca_issuers = rffi_platform.ConstantInteger("NID_ad_ca_issuers") NID_info_access = rffi_platform.ConstantInteger("NID_info_access") NID_X9_62_prime256v1 = rffi_platform.ConstantInteger( "NID_X9_62_prime256v1") NID_crl_distribution_points = rffi_platform.ConstantInteger( "NID_crl_distribution_points") GEN_DIRNAME = rffi_platform.ConstantInteger("GEN_DIRNAME") GEN_EMAIL = rffi_platform.ConstantInteger("GEN_EMAIL") GEN_DNS = rffi_platform.ConstantInteger("GEN_DNS") GEN_URI = rffi_platform.ConstantInteger("GEN_URI") GEN_OTHERNAME = rffi_platform.ConstantInteger("GEN_OTHERNAME") GEN_X400 = rffi_platform.ConstantInteger("GEN_X400") GEN_EDIPARTY = rffi_platform.ConstantInteger("GEN_EDIPARTY") GEN_IPADD = rffi_platform.ConstantInteger("GEN_IPADD") GEN_RID = rffi_platform.ConstantInteger("GEN_RID") CRYPTO_LOCK = rffi_platform.ConstantInteger("CRYPTO_LOCK") OBJ_NAME_TYPE_MD_METH = rffi_platform.ConstantInteger( "OBJ_NAME_TYPE_MD_METH") if OPENSSL_VERSION_NUMBER >= 0x10001000: X509_st = rffi_platform.Struct('struct x509_st', [('crldp', stack_st_DIST_POINT)]) # Some structures, with only the fields used in the _ssl module X509_name_entry_st = rffi_platform.Struct('struct X509_name_entry_st', [('set', rffi.INT)]) asn1_string_st = rffi_platform.Struct('struct asn1_string_st', [('length', rffi.INT), ('data', rffi.CCHARP)]) X509_extension_st = rffi_platform.Struct('struct X509_extension_st', [('value', ASN1_STRING)]) x509_store_st = rffi_platform.Struct('struct x509_store_st', [('objs', stack_st_X509_OBJECT), ('param', X509_VERIFY_PARAM)]) x509_object_st = rffi_platform.Struct('struct x509_object_st', [('type', rffi.INT)]) X509_LU_X509 = rffi_platform.ConstantInteger("X509_LU_X509") X509_LU_CRL = rffi_platform.ConstantInteger("X509_LU_CRL") X509V3_EXT_D2I = lltype.FuncType([rffi.VOIDP, rffi.CCHARPP, rffi.LONG], rffi.VOIDP) v3_ext_method = rffi_platform.Struct('struct v3_ext_method', [('it', ASN1_ITEM_EXP), ('d2i', lltype.Ptr(X509V3_EXT_D2I))]) GENERAL_NAME_st = rffi_platform.Struct('struct GENERAL_NAME_st', [('type', rffi.INT)]) EVP_MD_st = rffi_platform.Struct('EVP_MD', [('md_size', rffi.INT), ('block_size', rffi.INT)]) EVP_MD_SIZE = rffi_platform.SizeOf('EVP_MD') EVP_MD_CTX_SIZE = rffi_platform.SizeOf('EVP_MD_CTX') OBJ_NAME_st = rffi_platform.Struct('OBJ_NAME', [ ('alias', rffi.INT), ('name', rffi.CCHARP), ]) COMP_METHOD_st = rffi_platform.Struct('struct comp_method_st', [ ('type', rffi.INT), ]) ACCESS_DESCRIPTION_st = rffi_platform.Struct( 'struct ACCESS_DESCRIPTION_st', [ ('method', ASN1_OBJECT), ('location', GENERAL_NAME), ])
def add_simple_type(type_name): for name in ['size', 'alignment', 'type']: setattr(CConfig, type_name + '_' + name, rffi_platform.ConstantInteger(type_name + '.' + name))
class CConfig: _compilation_info_ = ExternalCompilationInfo( includes=['windows.h', 'winbase.h', 'sys/stat.h'], ) WIN32_FIND_DATA = platform.Struct( 'struct _WIN32_FIND_DATA' + suffix, # Only interesting fields [('dwFileAttributes', rwin32.DWORD), ('nFileSizeHigh', rwin32.DWORD), ('nFileSizeLow', rwin32.DWORD), ('ftCreationTime', rwin32.FILETIME), ('ftLastAccessTime', rwin32.FILETIME), ('ftLastWriteTime', rwin32.FILETIME), ('cFileName', lltype.FixedSizeArray(traits.CHAR, 250))]) ERROR_FILE_NOT_FOUND = platform.ConstantInteger('ERROR_FILE_NOT_FOUND') ERROR_NO_MORE_FILES = platform.ConstantInteger('ERROR_NO_MORE_FILES') GetFileExInfoStandard = platform.ConstantInteger( 'GetFileExInfoStandard') FILE_ATTRIBUTE_DIRECTORY = platform.ConstantInteger( 'FILE_ATTRIBUTE_DIRECTORY') FILE_ATTRIBUTE_READONLY = platform.ConstantInteger( 'FILE_ATTRIBUTE_READONLY') INVALID_FILE_ATTRIBUTES = platform.ConstantInteger( 'INVALID_FILE_ATTRIBUTES') ERROR_SHARING_VIOLATION = platform.ConstantInteger( 'ERROR_SHARING_VIOLATION') MOVEFILE_REPLACE_EXISTING = platform.ConstantInteger( 'MOVEFILE_REPLACE_EXISTING') _S_IFDIR = platform.ConstantInteger('_S_IFDIR') _S_IFREG = platform.ConstantInteger('_S_IFREG') _S_IFCHR = platform.ConstantInteger('_S_IFCHR') _S_IFIFO = platform.ConstantInteger('_S_IFIFO') FILE_TYPE_UNKNOWN = platform.ConstantInteger('FILE_TYPE_UNKNOWN') FILE_TYPE_CHAR = platform.ConstantInteger('FILE_TYPE_CHAR') FILE_TYPE_PIPE = platform.ConstantInteger('FILE_TYPE_PIPE') FILE_WRITE_ATTRIBUTES = platform.ConstantInteger( 'FILE_WRITE_ATTRIBUTES') OPEN_EXISTING = platform.ConstantInteger('OPEN_EXISTING') FILE_FLAG_BACKUP_SEMANTICS = platform.ConstantInteger( 'FILE_FLAG_BACKUP_SEMANTICS') VOLUME_NAME_DOS = platform.ConstantInteger('VOLUME_NAME_DOS') VOLUME_NAME_NT = platform.ConstantInteger('VOLUME_NAME_NT') WIN32_FILE_ATTRIBUTE_DATA = platform.Struct( 'WIN32_FILE_ATTRIBUTE_DATA', [('dwFileAttributes', rwin32.DWORD), ('nFileSizeHigh', rwin32.DWORD), ('nFileSizeLow', rwin32.DWORD), ('ftCreationTime', rwin32.FILETIME), ('ftLastAccessTime', rwin32.FILETIME), ('ftLastWriteTime', rwin32.FILETIME)]) BY_HANDLE_FILE_INFORMATION = platform.Struct( 'BY_HANDLE_FILE_INFORMATION', [('dwFileAttributes', rwin32.DWORD), ('ftCreationTime', rwin32.FILETIME), ('ftLastAccessTime', rwin32.FILETIME), ('ftLastWriteTime', rwin32.FILETIME), ('dwVolumeSerialNumber', rwin32.DWORD), ('nFileSizeHigh', rwin32.DWORD), ('nFileSizeLow', rwin32.DWORD), ('nNumberOfLinks', rwin32.DWORD), ('nFileIndexHigh', rwin32.DWORD), ('nFileIndexLow', rwin32.DWORD)])
class CConfig: _compilation_info_ = eci OPENSSL_VERSION_NUMBER = rffi_platform.ConstantInteger( "OPENSSL_VERSION_NUMBER") SSLEAY_VERSION = rffi_platform.DefinedConstantString( "SSLEAY_VERSION", "SSLeay_version(SSLEAY_VERSION)") OPENSSL_NO_SSL2 = rffi_platform.Defined("OPENSSL_NO_SSL2") OPENSSL_NO_SSL3 = rffi_platform.Defined("OPENSSL_NO_SSL3") SSL_FILETYPE_PEM = rffi_platform.ConstantInteger("SSL_FILETYPE_PEM") SSL_OP_ALL = rffi_platform.ConstantInteger("SSL_OP_ALL") SSL_OP_NO_SSLv2 = rffi_platform.ConstantInteger("SSL_OP_NO_SSLv2") SSL_OP_NO_SSLv3 = rffi_platform.ConstantInteger("SSL_OP_NO_SSLv3") SSL_OP_NO_TLSv1 = rffi_platform.ConstantInteger("SSL_OP_NO_TLSv1") SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS = rffi_platform.ConstantInteger( "SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS") HAS_SNI = rffi_platform.Defined("SSL_CTRL_SET_TLSEXT_HOSTNAME") SSL_VERIFY_NONE = rffi_platform.ConstantInteger("SSL_VERIFY_NONE") SSL_VERIFY_PEER = rffi_platform.ConstantInteger("SSL_VERIFY_PEER") SSL_VERIFY_FAIL_IF_NO_PEER_CERT = rffi_platform.ConstantInteger( "SSL_VERIFY_FAIL_IF_NO_PEER_CERT") SSL_ERROR_WANT_READ = rffi_platform.ConstantInteger("SSL_ERROR_WANT_READ") SSL_ERROR_WANT_WRITE = rffi_platform.ConstantInteger( "SSL_ERROR_WANT_WRITE") SSL_ERROR_ZERO_RETURN = rffi_platform.ConstantInteger( "SSL_ERROR_ZERO_RETURN") SSL_ERROR_WANT_X509_LOOKUP = rffi_platform.ConstantInteger( "SSL_ERROR_WANT_X509_LOOKUP") SSL_ERROR_WANT_CONNECT = rffi_platform.ConstantInteger( "SSL_ERROR_WANT_CONNECT") SSL_ERROR_SYSCALL = rffi_platform.ConstantInteger("SSL_ERROR_SYSCALL") SSL_ERROR_SSL = rffi_platform.ConstantInteger("SSL_ERROR_SSL") SSL_RECEIVED_SHUTDOWN = rffi_platform.ConstantInteger( "SSL_RECEIVED_SHUTDOWN") SSL_MODE_AUTO_RETRY = rffi_platform.ConstantInteger("SSL_MODE_AUTO_RETRY") SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER = rffi_platform.ConstantInteger( "SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER") NID_subject_alt_name = rffi_platform.ConstantInteger( "NID_subject_alt_name") GEN_DIRNAME = rffi_platform.ConstantInteger("GEN_DIRNAME") GEN_EMAIL = rffi_platform.ConstantInteger("GEN_EMAIL") GEN_DNS = rffi_platform.ConstantInteger("GEN_DNS") GEN_URI = rffi_platform.ConstantInteger("GEN_URI") GEN_OTHERNAME = rffi_platform.ConstantInteger("GEN_OTHERNAME") GEN_X400 = rffi_platform.ConstantInteger("GEN_X400") GEN_EDIPARTY = rffi_platform.ConstantInteger("GEN_EDIPARTY") GEN_IPADD = rffi_platform.ConstantInteger("GEN_IPADD") GEN_RID = rffi_platform.ConstantInteger("GEN_RID") CRYPTO_LOCK = rffi_platform.ConstantInteger("CRYPTO_LOCK") OBJ_NAME_TYPE_MD_METH = rffi_platform.ConstantInteger( "OBJ_NAME_TYPE_MD_METH") # Some structures, with only the fields used in the _ssl module X509_name_entry_st = rffi_platform.Struct('struct X509_name_entry_st', [('set', rffi.INT)]) asn1_string_st = rffi_platform.Struct('struct asn1_string_st', [('length', rffi.INT), ('data', rffi.CCHARP)]) X509_extension_st = rffi_platform.Struct('struct X509_extension_st', [('value', ASN1_STRING)]) X509V3_EXT_D2I = lltype.FuncType([rffi.VOIDP, rffi.CCHARPP, rffi.LONG], rffi.VOIDP) v3_ext_method = rffi_platform.Struct('struct v3_ext_method', [('it', ASN1_ITEM_EXP), ('d2i', lltype.Ptr(X509V3_EXT_D2I))]) GENERAL_NAME_st = rffi_platform.Struct('struct GENERAL_NAME_st', [('type', rffi.INT)]) EVP_MD_st = rffi_platform.Struct('EVP_MD', [('md_size', rffi.INT), ('block_size', rffi.INT)]) EVP_MD_SIZE = rffi_platform.SizeOf('EVP_MD') EVP_MD_CTX_SIZE = rffi_platform.SizeOf('EVP_MD_CTX') OBJ_NAME_st = rffi_platform.Struct('OBJ_NAME', [ ('alias', rffi.INT), ('name', rffi.CCHARP), ])
LLVMRealONE LLVMRealORD LLVMRealUNO LLVMRealUEQ LLVMRealUGT LLVMRealUGE LLVMRealULT LLVMRealULE LLVMRealUNE LLVMRealPredicateTrue ''' ops = opcodes_string.split() for cmd in ops: setattr(CConfig, cmd, rffi_platform.ConstantInteger(cmd)) types = types_string.split() for llvm_type in types: setattr(CConfig, llvm_type, rffi_platform.ConstantInteger(llvm_type)) int_predicates = int_predicate_string.split() for pred in int_predicates: setattr(CConfig, pred, rffi_platform.ConstantInteger(pred)) real_predicates = real_predicate_string.split() for pred in real_predicates: setattr(CConfig, pred, rffi_platform.ConstantInteger(pred))