## void *memset(void *, int, size_t)
memset = CFUNCTYPE(c_void_p, c_void_p, c_int, c_size_t)(_memset_addr)

def PYFUNCTYPE(restype, *argtypes):
    class CFunctionType(_CFuncPtr):
        _argtypes_ = argtypes
        _restype_ = restype
        _flags_ = _FUNCFLAG_CDECL | _FUNCFLAG_PYTHONAPI
    return CFunctionType

def cast(obj, typ):
    try:
        c_void_p.from_param(obj)
    except TypeError, e:
        raise ArgumentError(str(e))
    return _cast_addr(obj, obj, typ)

_string_at = PYFUNCTYPE(py_object, c_void_p, c_int)(_string_at_addr)
def string_at(ptr, size=-1):
    """string_at(addr[, size]) -> string

    Return the string at addr."""
    return _string_at(ptr, size)

try:
    from _ctypes import _wstring_at_addr
except ImportError:
    pass
else:
    _wstring_at = PYFUNCTYPE(py_object, c_void_p, c_int)(_wstring_at_addr)
    def wstring_at(ptr, size=-1):
示例#2
0
文件: __init__.py 项目: alemacgo/pypy
## void *memset(void *, int, size_t)
memset = CFUNCTYPE(c_void_p, c_void_p, c_int, c_size_t)(_memset_addr)

def PYFUNCTYPE(restype, *argtypes):
    class CFunctionType(_CFuncPtr):
        _argtypes_ = argtypes
        _restype_ = restype
        _flags_ = _FUNCFLAG_CDECL | _FUNCFLAG_PYTHONAPI
    return CFunctionType

def cast(obj, typ):
    try:
        c_void_p.from_param(obj)
    except TypeError, e:
        raise ArgumentError(str(e))
    return _cast_addr(obj, obj, typ)

_string_at = PYFUNCTYPE(py_object, c_void_p, c_int)(_string_at_addr)
def string_at(ptr, size=-1):
    """string_at(addr[, size]) -> string

    Return the string at addr."""
    return _string_at(ptr, size)

try:
    from _ctypes import _wstring_at_addr
except ImportError:
    pass
else:
    _wstring_at = PYFUNCTYPE(py_object, c_void_p, c_int)(_wstring_at_addr)
    def wstring_at(ptr, size=-1):
示例#3
0
文件: __init__.py 项目: timm/timmnix
def cast(obj, typ):
    try:
        c_void_p.from_param(obj)
    except TypeError as e:
        raise ArgumentError(str(e))
    return _cast_addr(obj, obj, typ)
示例#4
0
def cast(obj, typ):
    try:
        c_void_p.from_param(obj)
    except TypeError as e:
        raise ArgumentError(str(e))
    return _cast_addr(obj, obj, typ)