### Function

# GObject type_register_static

#### Declaration

    GType
    g_type_register_static (
      GType parent_type,
      const gchar* type_name,
      const GTypeInfo* info,
      GTypeFlags flags
    )

#### Description

Registers `type_name` as the name of a new static type derived from `parent_type`. The type system uses the information contained in the `GTypeInfo` structure pointed to by `info` to manage the type and its instances (if not abstract). The value of `flags` determines the nature (e.g. abstract or not) of the type.

#### 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.

`info`

  Type: `GTypeInfo`

  `GTypeInfo` structure for this type.

  The data is owned by the caller of the function.

`flags`

  Type: `GTypeFlags`

  Bitwise combination of `GTypeFlags` values.

#### Return value

Type: `GType`

The new type identifier.