title: Setting ctypes.Structure default values
body: <p>This doesn't work:</p>
  
  <pre><code>class ifinfomsg(ctypes.Structure):
      _fields_ = [
                   ('ifi_family',  ctypes.c_ubyte),
                   ('__ifi_pad',   ctypes.c_ubyte),
                   ('ifi_type',    ctypes.c_ushort),
                   ('ifi_index',   ctypes.c_int),
                   ('ifi_flags',   ctypes.c_uint),
                   ('ifi_change',  ctypes.c_uint(0xFFFFFFFF))
                 ]
  </code></pre>
  
  <p>It errors with:</p>
  
  <pre><code>  File "rtnetlink.py", line 243, in &lt;module&gt;
      class ifinfomsg(ctypes.Structure):
  TypeError: Error when calling the metaclass bases
      second item in _fields_ tuple (index 5) must be a C type
  </code></pre>
  
  <p>However I can set the values in <code>__init__()</code>:</p>
  
  <pre><code>class ifinfomsg(ctypes.Structure):
      _fields_ = [
                   ('ifi_family',  ctypes.c_ubyte),
                   ('__ifi_pad',   ctypes.c_ubyte),
                   ('ifi_type',    ctypes.c_ushort),
                   ('ifi_index',   ctypes.c_int),
                   ('ifi_flags',   ctypes.c_uint),
                   ('ifi_change',  ctypes.c_uint)
                 ]
  
      def __init__(self):
          self.__ifi_pad = 0
          self.ifi_change = 0xFFFFFFFF
  </code></pre>
  
  <p>Is this the 'correct' way to do this, via <code>__init__</code>?</p>