extending and embedding python table ctypes datatypes ctypes type name datatype python value c_bool c_bytes c_char bool signed char char true or false small integer single character c_char_p c_double c_longdouble c_float c_int c_int c_int c_int c_int c_long c_longlong c_short c_size_t c_ubyte c_uint c_uint c_uint c_uint c_uint c_ulong c_ulonglong c_ushort c_void_p c_wchar c_wchar_p char double long double float int signed char short int long long long long long short size_t unsigned char unsigned int unsigned char unsigned short unsigned int unsigned long long unsigned long unsigned long long unsigned short void wchar_t wchar_t null-terminated string or bytes floating point floating point floating point integer -bit integer -bit integer -bit integer -bit integer integer integer integer integer unsigned integer unsigned integer -bit unsigned integer -bit unsigned integer -bit unsigned integer -bit unsigned integer unsigned integer unsigned integer unsigned integer integer single unicode character null-terminated unicode to create type representing pointerapply the following function to one of the other typespointer(typedefines type that is pointer to type type for examplepointer(c_intrepresents the type int to define type representing fixed-size arraymultiply an existing type by the number of array dimensions for examplec_int* represents the datatype int[ to define type representing structure or unionyou inherit from one of the base classes structure or union within each derived classyou define class variable _fields_ that describes the contents _fields_ is list of or tuples of the form (namectypeor (namectypewidth)where name is an identifier for the lib fl ff