def from_in6_addr(in6_addr): result = instantiate(INET6Address) # store the malloc'ed data into 'result' as soon as possible # to avoid leaks if an exception occurs inbetween sin = lltype.malloc(_c.sockaddr_in6, flavor='raw', zero=True) result.setdata(sin, sizeof(_c.sockaddr_in6)) rffi.setintfield(sin, 'c_sin6_family', AF_INET) rffi.structcopy(sin.c_sin6_addr, in6_addr) return result
def attributes_from_dir(l_path, data): filedata = lltype.malloc(WIN32_FIND_DATA, flavor='raw') hFindFile = FindFirstFile(l_path, filedata) if hFindFile == rwin32.INVALID_HANDLE_VALUE: return 0 FindClose(hFindFile) data.c_dwFileAttributes = filedata.c_dwFileAttributes rffi.structcopy(data.c_ftCreationTime, filedata.c_ftCreationTime) rffi.structcopy(data.c_ftLastAccessTime, filedata.c_ftLastAccessTime) rffi.structcopy(data.c_ftLastWriteTime, filedata.c_ftLastWriteTime) data.c_nFileSizeHigh = filedata.c_nFileSizeHigh data.c_nFileSizeLow = filedata.c_nFileSizeLow return 1
def attributes_from_dir(l_path, data): filedata = lltype.malloc(win32traits.WIN32_FIND_DATA, flavor="raw") try: hFindFile = win32traits.FindFirstFile(l_path, filedata) if hFindFile == rwin32.INVALID_HANDLE_VALUE: return 0 win32traits.FindClose(hFindFile) data.c_dwFileAttributes = filedata.c_dwFileAttributes rffi.structcopy(data.c_ftCreationTime, filedata.c_ftCreationTime) rffi.structcopy(data.c_ftLastAccessTime, filedata.c_ftLastAccessTime) rffi.structcopy(data.c_ftLastWriteTime, filedata.c_ftLastWriteTime) data.c_nFileSizeHigh = filedata.c_nFileSizeHigh data.c_nFileSizeLow = filedata.c_nFileSizeLow return 1 finally: lltype.free(filedata, flavor="raw")