### Function

# GObject ParamSpec internal

#### Declaration

    GObject.ParamSpec*
    g_param_spec_internal (
      GType param_type,
      const gchar* name,
      const gchar* nick,
      const gchar* blurb,
      GParamFlags flags
    )

#### Description

Creates a new `GParamSpec` instance.

See [canonical parameter names][canonical-parameter-names] for details of the rules for `name`. Names which violate these rules lead to undefined behaviour.

Beyond the name, `GParamSpecs` have two more descriptive strings, the `nick` and `blurb`, which may be used as a localized label and description. For GTK and related libraries these are considered deprecated and may be omitted, while for other libraries such as GStreamer and its plugins they are essential. When in doubt, follow the conventions used in the surrounding code and supporting libraries.

This function is not directly available to language bindings.

#### Parameters

`param_type`

  Type: `GType`

  The `GType` for the property; must be derived from `G_TYPE_PARAM`.

`name`

  Type: `const gchar*`

  The canonical name of the property.

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

`nick`

  Type: `const gchar*`

  The nickname of the property.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`blurb`

  Type: `const gchar*`

  A short description of the property.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`flags`

  Type: `GParamFlags`

  A combination of `GParamFlags`.

#### Return value

Type: `GParamSpec`

(transfer floating): a newly allocated `GParamSpec` instance, which is initially floating.

The data is owned by the called function.