/* Returns: (type GObject.TypeInterface) (transfer none): the #GTypeInterface structure of @iface_type if implemented by @instance_class, NULL otherwise  */
gpointer g_type_interface_peek(gpointer instance_class, GType iface_type)
/* Returns: (type GObject.TypeInterface) (transfer none): the #GTypeInterface structure of @iface_type if implemented by @instance_class, NULL otherwise  */
gpointer g_type_interface_peek(gpointer instance_class, GType iface_type)
{
  TypeNode *node;
  TypeNode *iface;
  gpointer vtable = NULL;
  GTypeClass *class = instance_class;
  g_return_val_if_fail (instance_class != NULL, NULL);
  node = lookup_type_node_I (class->g_type);
  iface = lookup_type_node_I (iface_type);
  if (node && node->is_instantiatable && iface)
    type_lookup_iface_vtable_I (node, iface, &vtable);
  else
    g_warning (G_STRLOC ": invalid class pointer '%p'", class);
  return vtable;
}