+---------------+-----------------------+-----------+ |ctypes' type |C type |Python type| +===============+=======================+===========+ |``c_char`` |``char`` |character | +---------------+-----------------------+-----------+ |``c_byte`` |``char`` |integer | +---------------+-----------------------+-----------+ |``c_ubyte`` |``unsigned char`` |integer | +---------------+-----------------------+-----------+ |``c_short`` |``short`` |integer | +---------------+-----------------------+-----------+ |``c_ushort`` |``unsigned short`` |integer | +---------------+-----------------------+-----------+ |``c_int`` |``int`` |integer | +---------------+-----------------------+-----------+ |``c_uint`` |``unsigned int`` |integer | +---------------+-----------------------+-----------+ |``c_long`` |``long`` |integer | +---------------+-----------------------+-----------+ |``c_ulong`` |``unsigned long`` |long | +---------------+-----------------------+-----------+ |``c_longlong`` |``__int64`` or |long | | |``long long`` | | +---------------+-----------------------+-----------+ |``c_ulonglong``|``unsigned __int64`` or|long | | |``unsigned long long`` | | +---------------+-----------------------+-----------+ |``c_float`` |``float`` |float | +---------------+-----------------------+-----------+ |``c_double`` |``double`` |float | +---------------+-----------------------+-----------+ |``c_char_p`` |``char *`` |string or | | |(NUL terminated) |``None`` | +---------------+-----------------------+-----------+ |``c_wchar_p`` |``wchar_t *`` |unicode or | | |(NUL terminated) |``None`` | +---------------+-----------------------+-----------+ |``c_void_p`` |``void *`` |integer or | | | |``None`` | +---------------+-----------------------+-----------+