On Apr 25, 5:15 am, sturlamolden <[EMAIL PROTECTED]> wrote: > First define a struct type IP2LocationRecord by subclassing from > ctypes.Structure. Then define a pointer type as > ctypes.POINTER(IP2LocationRecord) and set that as the function's > restype attribute. See the ctypes tutorial or reference for details.
Which is to say: import ctypes class IP2LocationRecord(ctypes.Structure): _fields_ = [ ('country_short', ctypes.c_char_p), ('country_long', ctypes.c_char_p), ('region', ctypes.c_char_p), ('city', ctypes.c_char_p), ('isp', ctypes.c_char_p), ('latitude', ctypes.c_float), ('longitude', ctypes.c_float), ('domain', ctypes.c_char_p), ('zipcode', ctypes.c_char_p), ('timezone', ctypes.c_char_p), ('netspeed', ctypes.c_char_p), ] IP2LocationRecord_Ptr_t = ctypes.POINTER(IP2LocationRecord) function.restype = IP2LocationRecord_Ptr_t -- http://mail.python.org/mailman/listinfo/python-list