### Function

# GObject type_register_static_simple

since: 2.12

#### Declaration

    GType
    g_type_register_static_simple (
      GType parent_type,
      const gchar* type_name,
      guint class_size,
      GClassInitFunc class_init,
      guint instance_size,
      GInstanceInitFunc instance_init,
      GTypeFlags flags
    )

#### Description

Registers `type_name` as the name of a new static type derived from `parent_type`. The value of `flags` determines the nature (e.g. abstract or not) of the type. It works by filling a `GTypeInfo` struct and calling g_type_register_static().

Available since: 2.12

This function is not directly available to language bindings.

#### Parameters

`parent_type`

  Type: `GType`

  Type from which this type will be derived.

`type_name`

  Type: `const gchar*`

  0-terminated string used as the name of the new type.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`class_size`

  Type: `guint`

  Size of the class structure (see `GTypeInfo`).

`class_init`

  Type: `GClassInitFunc`

  Location of the class initialization function (see `GTypeInfo`).

`instance_size`

  Type: `guint`

  Size of the instance structure (see `GTypeInfo`).

`instance_init`

  Type: `GInstanceInitFunc`

  Location of the instance initialization function (see `GTypeInfo`).

`flags`

  Type: `GTypeFlags`

  Bitwise combination of `GTypeFlags` values.

#### Return value

Type: `GType`

The new type identifier.