In an earlier post, I was interested in passing a pointer to a structure to fcntl.ioctl.
This works: c = create_string_buffer (...) args = struct.pack("iP", len(c), cast (pointer (c), c_void_p).value) err = fcntl.ioctl(eos_fd, request, args) Now to do the same with ctypes, I have one problem. class eos_dl_args_t (Structure): _fields_ = [("length", c_ulong), ("data", c_void_p)] ... args = eos_dl_args_t() args_p = cast(pointer(args), c_void_ptr).value fcntl.ioctl(fd, request, args_p) <<< May fail here That last may fail, because .value creates a long int, and ioctl needs a string. How can I convert my ctypes structure to a string? It _cannot_ be a c-style 0-terminate string, because the structure may contain '0' values. -- http://mail.python.org/mailman/listinfo/python-list