## Parameters and Values Parameters and Values — Standard Parameter and Value Types |

## Functions

#define | G_IS_PARAM_SPEC_BOOLEAN()
#define | G_PARAM_SPEC_BOOLEAN()
#define | G_VALUE_HOLDS_BOOLEAN()
GParamSpec * | g_param_spec_boolean ()
void | g_value_set_boolean ()
gboolean | g_value_get_boolean ()
#define | G_IS_PARAM_SPEC_CHAR()
#define | G_PARAM_SPEC_CHAR()
#define | G_VALUE_HOLDS_CHAR()
GParamSpec * | g_param_spec_char ()
void | g_value_set_char ()
gchar | g_value_get_char ()
gint8 | g_value_get_schar ()
void | g_value_set_schar ()
#define | G_IS_PARAM_SPEC_UCHAR()
#define | G_PARAM_SPEC_UCHAR()
#define | G_VALUE_HOLDS_UCHAR()
GParamSpec * | g_param_spec_uchar ()
void | g_value_set_uchar ()
guchar | g_value_get_uchar ()
#define | G_IS_PARAM_SPEC_INT()
#define | G_PARAM_SPEC_INT()
#define | G_VALUE_HOLDS_INT()
GParamSpec * | g_param_spec_int ()
void | g_value_set_int ()
gint | g_value_get_int ()
#define | G_IS_PARAM_SPEC_UINT()
#define | G_PARAM_SPEC_UINT()
#define | G_VALUE_HOLDS_UINT()
GParamSpec * | g_param_spec_uint ()
void | g_value_set_uint ()
guint | g_value_get_uint ()
#define | G_IS_PARAM_SPEC_LONG()
#define | G_PARAM_SPEC_LONG()
#define | G_VALUE_HOLDS_LONG()
GParamSpec * | g_param_spec_long ()
void | g_value_set_long ()
glong | g_value_get_long ()
#define | G_IS_PARAM_SPEC_ULONG()
#define | G_PARAM_SPEC_ULONG()
#define | G_VALUE_HOLDS_ULONG()
GParamSpec * | g_param_spec_ulong ()
void | g_value_set_ulong ()
gulong | g_value_get_ulong ()
#define | G_IS_PARAM_SPEC_INT64()
#define | G_PARAM_SPEC_INT64()
#define | G_VALUE_HOLDS_INT64()
GParamSpec * | g_param_spec_int64 ()
void | g_value_set_int64 ()
gint64 | g_value_get_int64 ()
#define | G_IS_PARAM_SPEC_UINT64()
#define | G_PARAM_SPEC_UINT64()
#define | G_VALUE_HOLDS_UINT64()
GParamSpec * | g_param_spec_uint64 ()
void | g_value_set_uint64 ()
guint64 | g_value_get_uint64 ()
#define | G_IS_PARAM_SPEC_FLOAT()
#define | G_PARAM_SPEC_FLOAT()
#define | G_VALUE_HOLDS_FLOAT()
GParamSpec * | g_param_spec_float ()
void | g_value_set_float ()
gfloat | g_value_get_float ()
#define | G_IS_PARAM_SPEC_DOUBLE()
#define | G_PARAM_SPEC_DOUBLE()
#define | G_VALUE_HOLDS_DOUBLE()
GParamSpec * | g_param_spec_double ()
void | g_value_set_double ()
gdouble | g_value_get_double ()
#define | G_IS_PARAM_SPEC_ENUM()
#define | G_PARAM_SPEC_ENUM()
#define | G_VALUE_HOLDS_ENUM()
GParamSpec * | g_param_spec_enum ()
void | g_value_set_enum ()
gint | g_value_get_enum ()
#define | G_IS_PARAM_SPEC_FLAGS()
#define | G_PARAM_SPEC_FLAGS()
#define | G_VALUE_HOLDS_FLAGS()
GParamSpec * | g_param_spec_flags ()
void | g_value_set_flags ()
guint | g_value_get_flags ()
#define | G_IS_PARAM_SPEC_STRING()
#define | G_PARAM_SPEC_STRING()
#define | G_VALUE_HOLDS_STRING()
#define | G_VALUE_IS_INTERNED_STRING()
GParamSpec * | g_param_spec_string ()
void | g_value_set_string ()
void | g_value_set_static_string ()
void | g_value_take_string ()
void | g_value_set_string_take_ownership ()
const gchar * | g_value_get_string ()
gchar * | g_value_dup_string ()
void | g_value_set_interned_string ()
#define | G_IS_PARAM_SPEC_PARAM()
#define | G_PARAM_SPEC_PARAM()
#define | G_VALUE_HOLDS_PARAM()
GParamSpec * | g_param_spec_param ()
void | g_value_set_param ()
void | g_value_take_param ()
void | g_value_set_param_take_ownership ()
GParamSpec * | g_value_get_param ()
GParamSpec * | g_value_dup_param ()
#define | G_IS_PARAM_SPEC_BOXED()
#define | G_PARAM_SPEC_BOXED()
#define | G_VALUE_HOLDS_BOXED()
GParamSpec * | g_param_spec_boxed ()
void | g_value_set_boxed ()
void | g_value_set_static_boxed ()
void | g_value_take_boxed ()
void | g_value_set_boxed_take_ownership ()
gpointer | g_value_get_boxed ()
gpointer | g_value_dup_boxed ()
#define | G_IS_PARAM_SPEC_POINTER()
#define | G_PARAM_SPEC_POINTER()
#define | G_VALUE_HOLDS_POINTER()
GParamSpec * | g_param_spec_pointer ()
void | g_value_set_pointer ()
gpointer | g_value_get_pointer ()
#define | G_IS_PARAM_SPEC_OBJECT()
#define | G_PARAM_SPEC_OBJECT()
#define | G_VALUE_HOLDS_OBJECT()
GParamSpec * | g_param_spec_object ()
void | g_value_set_object ()
void | g_value_take_object ()
void | g_value_set_object_take_ownership ()
gpointer | g_value_get_object ()
gpointer | g_value_dup_object ()
#define | G_IS_PARAM_SPEC_UNICHAR()
#define | G_PARAM_SPEC_UNICHAR()
GParamSpec * | g_param_spec_unichar ()
#define | G_IS_PARAM_SPEC_VALUE_ARRAY()
#define | G_PARAM_SPEC_VALUE_ARRAY()
GParamSpec * | g_param_spec_value_array ()
#define | G_IS_PARAM_SPEC_OVERRIDE()
#define | G_PARAM_SPEC_OVERRIDE()
GParamSpec * | g_param_spec_override ()
#define | G_IS_PARAM_SPEC_GTYPE()
#define | G_PARAM_SPEC_GTYPE()
#define | G_VALUE_HOLDS_GTYPE()
GParamSpec * | g_param_spec_gtype ()
GType | g_value_get_gtype ()
void | g_value_set_gtype ()
#define | G_IS_PARAM_SPEC_VARIANT()
#define | G_PARAM_SPEC_VARIANT()
#define | G_VALUE_HOLDS_VARIANT()
GParamSpec * | g_param_spec_variant ()
GVariant * | g_value_get_variant ()
GVariant * | g_value_dup_variant ()
void | g_value_set_variant ()
void | g_value_take_variant ()

## Types and Values

#define | G_TYPE_PARAM_BOOLEAN
struct | GParamSpecBoolean
#define | G_TYPE_PARAM_CHAR
struct | GParamSpecChar
#define | G_TYPE_PARAM_UCHAR
struct | GParamSpecUChar
#define | G_TYPE_PARAM_INT
struct | GParamSpecInt
#define | G_TYPE_PARAM_UINT
struct | GParamSpecUInt
#define | G_TYPE_PARAM_LONG
struct | GParamSpecLong
#define | G_TYPE_PARAM_ULONG
struct | GParamSpecULong
#define | G_TYPE_PARAM_INT64
struct | GParamSpecInt64
#define | G_TYPE_PARAM_UINT64
struct | GParamSpecUInt64
#define | G_TYPE_PARAM_FLOAT
struct | GParamSpecFloat
#define | G_TYPE_PARAM_DOUBLE
struct | GParamSpecDouble
#define | G_TYPE_PARAM_ENUM
struct | GParamSpecEnum
#define | G_TYPE_PARAM_FLAGS
struct | GParamSpecFlags
#define | G_TYPE_PARAM_STRING
#define | G_VALUE_INTERNED_STRING
struct | GParamSpecString
typedef | gchararray
#define | G_TYPE_PARAM_PARAM
struct | GParamSpecParam
#define | G_TYPE_PARAM_BOXED
struct | GParamSpecBoxed
#define | G_TYPE_PARAM_POINTER
struct | GParamSpecPointer
#define | G_TYPE_PARAM_OBJECT
struct | GParamSpecObject
#define | G_TYPE_PARAM_UNICHAR
struct | GParamSpecUnichar
#define | G_TYPE_PARAM_VALUE_ARRAY
struct | GParamSpecValueArray
#define | G_TYPE_PARAM_OVERRIDE
struct | GParamSpecOverride
#define | G_TYPE_PARAM_GTYPE
struct | GParamSpecGType
#define | G_TYPE_PARAM_VARIANT
struct | GParamSpecVariant

## Includes

    #include <glib-object.h>

## Description

GValue provides an abstract container structure which can be copied, transformed and compared while holding a value of any (derived) type, which is registered as a GType with a GTypeValueTable in its GTypeInfo structure. Parameter specifications for most value types can be created as GParamSpec derived instances, to implement e.g. GObject properties which operate on GValue containers.

Parameter names need to start with a letter (a-z or A-Z). Subsequent characters can be letters, numbers or a '-'. All other characters are replaced by a '-' during construction.

## Functions

### G_IS_PARAM_SPEC_BOOLEAN()

    #define G_IS_PARAM_SPEC_BOOLEAN(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_BOOLEAN`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_BOOLEAN()

    #define G_PARAM_SPEC_BOOLEAN(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, GParamSpecBoolean))

Cast a GParamSpec instance into a GParamSpecBoolean.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_BOOLEAN()

    #define G_VALUE_HOLDS_BOOLEAN(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOOLEAN))

Checks whether the given GValue can hold values of type `G_TYPE_BOOLEAN`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_boolean ()

    GParamSpec *
    g_param_spec_boolean (const gchar *name,
                          const gchar *nick,
                          const gchar *blurb,
                          gboolean default_value,
                          GParamFlags flags);

Creates a new GParamSpecBoolean instance specifying a `G_TYPE_BOOLEAN` property. In many cases, it may be more appropriate to use an enum with `g_param_spec_enum()`, both to improve code clarity by using explicitly named values, and to allow for more values to be added in future without breaking API.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_boolean ()

    void
    g_value_set_boolean (GValue *value,
                         gboolean v_boolean);

Set the contents of a `G_TYPE_BOOLEAN` GValue to `v_boolean` .

#### Parameters

value | a valid GValue of type `G_TYPE_BOOLEAN` |
v_boolean | boolean value to be set |

### g_value_get_boolean ()

    gboolean
    g_value_get_boolean (const GValue *value);

Get the contents of a `G_TYPE_BOOLEAN` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_BOOLEAN` |

#### Returns

boolean contents of `value`

### G_IS_PARAM_SPEC_CHAR()

    #define G_IS_PARAM_SPEC_CHAR(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_CHAR`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_CHAR()

    #define G_PARAM_SPEC_CHAR(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, GParamSpecChar))

Cast a GParamSpec instance into a GParamSpecChar.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_CHAR()

    #define G_VALUE_HOLDS_CHAR(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_CHAR))

Checks whether the given GValue can hold values of type `G_TYPE_CHAR`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_char ()

    GParamSpec *
    g_param_spec_char (const gchar *name,
                       const gchar *nick,
                       const gchar *blurb,
                       gint8 minimum,
                       gint8 maximum,
                       gint8 default_value,
                       GParamFlags flags);

Creates a new GParamSpecChar instance specifying a `G_TYPE_CHAR` property.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
minimum | minimum value for the property specified |
maximum | maximum value for the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_char ()

    void
    g_value_set_char (GValue *value,
                      gchar v_char);

`g_value_set_char` has been deprecated since version 2.32 and should not be used in newly-written code.

This function's input type is broken, see `g_value_set_schar()`

Set the contents of a `G_TYPE_CHAR` GValue to `v_char` .

#### Parameters

value | a valid GValue of type `G_TYPE_CHAR` |
v_char | character value to be set |

### g_value_get_char ()

    gchar
    g_value_get_char (const GValue *value);

`g_value_get_char` has been deprecated since version 2.32 and should not be used in newly-written code.

This function's return type is broken, see `g_value_get_schar()`

Do not use this function; it is broken on platforms where the `char` type is unsigned, such as ARM and PowerPC. See `g_value_get_schar()`.

Get the contents of a `G_TYPE_CHAR` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_CHAR` |

#### Returns

character contents of `value`

### g_value_get_schar ()

    gint8
    g_value_get_schar (const GValue *value);

Get the contents of a `G_TYPE_CHAR` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_CHAR` |

#### Returns

signed 8 bit integer contents of `value`

Since: 2.32

### g_value_set_schar ()

    void
    g_value_set_schar (GValue *value,
                       gint8 v_char);

Set the contents of a `G_TYPE_CHAR` GValue to `v_char` .

#### Parameters

value | a valid GValue of type `G_TYPE_CHAR` |
v_char | signed 8 bit integer to be set |

Since: 2.32

### G_IS_PARAM_SPEC_UCHAR()

    #define G_IS_PARAM_SPEC_UCHAR(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_UCHAR`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_UCHAR()

    #define G_PARAM_SPEC_UCHAR(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, GParamSpecUChar))

Cast a GParamSpec instance into a GParamSpecUChar.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_UCHAR()

    #define G_VALUE_HOLDS_UCHAR(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UCHAR))

Checks whether the given GValue can hold values of type `G_TYPE_UCHAR`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_uchar ()

    GParamSpec *
    g_param_spec_uchar (const gchar *name,
                        const gchar *nick,
                        const gchar *blurb,
                        guint8 minimum,
                        guint8 maximum,
                        guint8 default_value,
                        GParamFlags flags);

Creates a new GParamSpecUChar instance specifying a `G_TYPE_UCHAR` property.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
minimum | minimum value for the property specified |
maximum | maximum value for the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_uchar ()

    void
    g_value_set_uchar (GValue *value,
                       guchar v_uchar);

Set the contents of a `G_TYPE_UCHAR` GValue to `v_uchar` .

#### Parameters

value | a valid GValue of type `G_TYPE_UCHAR` |
v_uchar | unsigned character value to be set |

### g_value_get_uchar ()

    guchar
    g_value_get_uchar (const GValue *value);

Get the contents of a `G_TYPE_UCHAR` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_UCHAR` |

#### Returns

unsigned character contents of `value`

### G_IS_PARAM_SPEC_INT()

    #define G_IS_PARAM_SPEC_INT(pspec)         (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_INT`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_INT()

    #define G_PARAM_SPEC_INT(pspec)            (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, GParamSpecInt))

Cast a GParamSpec instance into a GParamSpecInt.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_INT()

    #define G_VALUE_HOLDS_INT(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_INT))

Checks whether the given GValue can hold values of type `G_TYPE_INT`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_int ()

    GParamSpec *
    g_param_spec_int (const gchar *name,
                      const gchar *nick,
                      const gchar *blurb,
                      gint minimum,
                      gint maximum,
                      gint default_value,
                      GParamFlags flags);

Creates a new GParamSpecInt instance specifying a `G_TYPE_INT` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
minimum | minimum value for the property specified |
maximum | maximum value for the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_int ()

    void
    g_value_set_int (GValue *value,
                     gint v_int);

Set the contents of a `G_TYPE_INT` GValue to `v_int` .

#### Parameters

value | a valid GValue of type `G_TYPE_INT` |
v_int | integer value to be set |

### g_value_get_int ()

    gint
    g_value_get_int (const GValue *value);

Get the contents of a `G_TYPE_INT` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_INT` |

#### Returns

integer contents of `value`

### G_IS_PARAM_SPEC_UINT()

    #define G_IS_PARAM_SPEC_UINT(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_UINT`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_UINT()

    #define G_PARAM_SPEC_UINT(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))

Cast a GParamSpec instance into a GParamSpecUInt.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_UINT()

    #define G_VALUE_HOLDS_UINT(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UINT))

Checks whether the given GValue can hold values of type `G_TYPE_UINT`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_uint ()

    GParamSpec *
    g_param_spec_uint (const gchar *name,
                       const gchar *nick,
                       const gchar *blurb,
                       guint minimum,
                       guint maximum,
                       guint default_value,
                       GParamFlags flags);

Creates a new GParamSpecUInt instance specifying a `G_TYPE_UINT` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
minimum | minimum value for the property specified |
maximum | maximum value for the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_uint ()

    void
    g_value_set_uint (GValue *value,
                      guint v_uint);

Set the contents of a `G_TYPE_UINT` GValue to `v_uint` .

#### Parameters

value | a valid GValue of type `G_TYPE_UINT` |
v_uint | unsigned integer value to be set |

### g_value_get_uint ()

    guint
    g_value_get_uint (const GValue *value);

Get the contents of a `G_TYPE_UINT` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_UINT` |

#### Returns

unsigned integer contents of `value`

### G_IS_PARAM_SPEC_LONG()

    #define G_IS_PARAM_SPEC_LONG(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_LONG`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_LONG()

    #define G_PARAM_SPEC_LONG(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, GParamSpecLong))

Cast a GParamSpec instance into a GParamSpecLong.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_LONG()

    #define G_VALUE_HOLDS_LONG(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_LONG))

Checks whether the given GValue can hold values of type `G_TYPE_LONG`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_long ()

    GParamSpec *
    g_param_spec_long (const gchar *name,
                       const gchar *nick,
                       const gchar *blurb,
                       glong minimum,
                       glong maximum,
                       glong default_value,
                       GParamFlags flags);

Creates a new GParamSpecLong instance specifying a `G_TYPE_LONG` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
minimum | minimum value for the property specified |
maximum | maximum value for the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_long ()

    void
    g_value_set_long (GValue *value,
                      glong v_long);

Set the contents of a `G_TYPE_LONG` GValue to `v_long` .

#### Parameters

value | a valid GValue of type `G_TYPE_LONG` |
v_long | long integer value to be set |

### g_value_get_long ()

    glong
    g_value_get_long (const GValue *value);

Get the contents of a `G_TYPE_LONG` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_LONG` |

#### Returns

long integer contents of `value`

### G_IS_PARAM_SPEC_ULONG()

    #define G_IS_PARAM_SPEC_ULONG(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_ULONG`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_ULONG()

    #define G_PARAM_SPEC_ULONG(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, GParamSpecULong))

Cast a GParamSpec instance into a GParamSpecULong.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_ULONG()

    #define G_VALUE_HOLDS_ULONG(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ULONG))

Checks whether the given GValue can hold values of type `G_TYPE_ULONG`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_ulong ()

    GParamSpec *
    g_param_spec_ulong (const gchar *name,
                        const gchar *nick,
                        const gchar *blurb,
                        gulong minimum,
                        gulong maximum,
                        gulong default_value,
                        GParamFlags flags);

Creates a new GParamSpecULong instance specifying a `G_TYPE_ULONG` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
minimum | minimum value for the property specified |
maximum | maximum value for the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_ulong ()

    void
    g_value_set_ulong (GValue *value,
                       gulong v_ulong);

Set the contents of a `G_TYPE_ULONG` GValue to `v_ulong` .

#### Parameters

value | a valid GValue of type `G_TYPE_ULONG` |
v_ulong | unsigned long integer value to be set |

### g_value_get_ulong ()

    gulong
    g_value_get_ulong (const GValue *value);

Get the contents of a `G_TYPE_ULONG` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_ULONG` |

#### Returns

unsigned long integer contents of `value`

### G_IS_PARAM_SPEC_INT64()

    #define G_IS_PARAM_SPEC_INT64(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT64))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_INT64`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_INT64()

    #define G_PARAM_SPEC_INT64(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT64, GParamSpecInt64))

Cast a GParamSpec instance into a GParamSpecInt64.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_INT64()

    #define G_VALUE_HOLDS_INT64(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_INT64))

Checks whether the given GValue can hold values of type `G_TYPE_INT64`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_int64 ()

    GParamSpec *
    g_param_spec_int64 (const gchar *name,
                        const gchar *nick,
                        const gchar *blurb,
                        gint64 minimum,
                        gint64 maximum,
                        gint64 default_value,
                        GParamFlags flags);

Creates a new GParamSpecInt64 instance specifying a `G_TYPE_INT64` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
minimum | minimum value for the property specified |
maximum | maximum value for the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_int64 ()

    void
    g_value_set_int64 (GValue *value,
                       gint64 v_int64);

Set the contents of a `G_TYPE_INT64` GValue to `v_int64` .

#### Parameters

value | a valid GValue of type `G_TYPE_INT64` |
v_int64 | 64bit integer value to be set |

### g_value_get_int64 ()

    gint64
    g_value_get_int64 (const GValue *value);

Get the contents of a `G_TYPE_INT64` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_INT64` |

#### Returns

64bit integer contents of `value`

### G_IS_PARAM_SPEC_UINT64()

    #define G_IS_PARAM_SPEC_UINT64(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT64))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_UINT64`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_UINT64()

    #define G_PARAM_SPEC_UINT64(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT64, GParamSpecUInt64))

Cast a GParamSpec instance into a GParamSpecUInt64.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_UINT64()

    #define G_VALUE_HOLDS_UINT64(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UINT64))

Checks whether the given GValue can hold values of type `G_TYPE_UINT64`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_uint64 ()

    GParamSpec *
    g_param_spec_uint64 (const gchar *name,
                         const gchar *nick,
                         const gchar *blurb,
                         guint64 minimum,
                         guint64 maximum,
                         guint64 default_value,
                         GParamFlags flags);

Creates a new GParamSpecUInt64 instance specifying a `G_TYPE_UINT64` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
minimum | minimum value for the property specified |
maximum | maximum value for the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_uint64 ()

    void
    g_value_set_uint64 (GValue *value,
                        guint64 v_uint64);

Set the contents of a `G_TYPE_UINT64` GValue to `v_uint64` .

#### Parameters

value | a valid GValue of type `G_TYPE_UINT64` |
v_uint64 | unsigned 64bit integer value to be set |

### g_value_get_uint64 ()

    guint64
    g_value_get_uint64 (const GValue *value);

Get the contents of a `G_TYPE_UINT64` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_UINT64` |

#### Returns

unsigned 64bit integer contents of `value`

### G_IS_PARAM_SPEC_FLOAT()

    #define G_IS_PARAM_SPEC_FLOAT(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_FLOAT`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_FLOAT()

    #define G_PARAM_SPEC_FLOAT(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, GParamSpecFloat))

Cast a GParamSpec instance into a GParamSpecFloat.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_FLOAT()

    #define G_VALUE_HOLDS_FLOAT(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLOAT))

Checks whether the given GValue can hold values of type `G_TYPE_FLOAT`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_float ()

    GParamSpec *
    g_param_spec_float (const gchar *name,
                        const gchar *nick,
                        const gchar *blurb,
                        gfloat minimum,
                        gfloat maximum,
                        gfloat default_value,
                        GParamFlags flags);

Creates a new GParamSpecFloat instance specifying a `G_TYPE_FLOAT` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
minimum | minimum value for the property specified |
maximum | maximum value for the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_float ()

    void
    g_value_set_float (GValue *value,
                       gfloat v_float);

Set the contents of a `G_TYPE_FLOAT` GValue to `v_float` .

#### Parameters

value | a valid GValue of type `G_TYPE_FLOAT` |
v_float | float value to be set |

### g_value_get_float ()

    gfloat
    g_value_get_float (const GValue *value);

Get the contents of a `G_TYPE_FLOAT` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_FLOAT` |

#### Returns

float contents of `value`

### G_IS_PARAM_SPEC_DOUBLE()

    #define G_IS_PARAM_SPEC_DOUBLE(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_DOUBLE`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_DOUBLE()

    #define G_PARAM_SPEC_DOUBLE(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, GParamSpecDouble))

Cast a GParamSpec instance into a GParamSpecDouble.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_DOUBLE()

    #define G_VALUE_HOLDS_DOUBLE(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_DOUBLE))

Checks whether the given GValue can hold values of type `G_TYPE_DOUBLE`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_double ()

    GParamSpec *
    g_param_spec_double (const gchar *name,
                         const gchar *nick,
                         const gchar *blurb,
                         gdouble minimum,
                         gdouble maximum,
                         gdouble default_value,
                         GParamFlags flags);

Creates a new GParamSpecDouble instance specifying a `G_TYPE_DOUBLE` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
minimum | minimum value for the property specified |
maximum | maximum value for the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_double ()

    void
    g_value_set_double (GValue *value,
                        gdouble v_double);

Set the contents of a `G_TYPE_DOUBLE` GValue to `v_double` .

#### Parameters

value | a valid GValue of type `G_TYPE_DOUBLE` |
v_double | double value to be set |

### g_value_get_double ()

    gdouble
    g_value_get_double (const GValue *value);

Get the contents of a `G_TYPE_DOUBLE` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_DOUBLE` |

#### Returns

double contents of `value`

### G_IS_PARAM_SPEC_ENUM()

    #define G_IS_PARAM_SPEC_ENUM(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_ENUM`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_ENUM()

    #define G_PARAM_SPEC_ENUM(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, GParamSpecEnum))

Cast a GParamSpec instance into a GParamSpecEnum.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_ENUM()

    #define G_VALUE_HOLDS_ENUM(value)      (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ENUM))

Checks whether the given GValue can hold values derived from type `G_TYPE_ENUM`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_enum ()

    GParamSpec *
    g_param_spec_enum (const gchar *name,
                       const gchar *nick,
                       const gchar *blurb,
                       GType enum_type,
                       gint default_value,
                       GParamFlags flags);

Creates a new GParamSpecEnum instance specifying a `G_TYPE_ENUM` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
enum_type | a GType derived from `G_TYPE_ENUM` |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_enum ()

    void
    g_value_set_enum (GValue *value,
                      gint v_enum);

Set the contents of a `G_TYPE_ENUM` GValue to `v_enum` .

#### Parameters

value | a valid GValue whose type is derived from `G_TYPE_ENUM` |
v_enum | enum value to be set |

### g_value_get_enum ()

    gint
    g_value_get_enum (const GValue *value);

Get the contents of a `G_TYPE_ENUM` GValue.

#### Parameters

value | a valid GValue whose type is derived from `G_TYPE_ENUM` |

#### Returns

enum contents of `value`

### G_IS_PARAM_SPEC_FLAGS()

    #define G_IS_PARAM_SPEC_FLAGS(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_FLAGS`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_FLAGS()

    #define G_PARAM_SPEC_FLAGS(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, GParamSpecFlags))

Cast a GParamSpec instance into a GParamSpecFlags.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_FLAGS()

    #define G_VALUE_HOLDS_FLAGS(value)     (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLAGS))

Checks whether the given GValue can hold values derived from type `G_TYPE_FLAGS`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_flags ()

    GParamSpec *
    g_param_spec_flags (const gchar *name,
                        const gchar *nick,
                        const gchar *blurb,
                        GType flags_type,
                        guint default_value,
                        GParamFlags flags);

Creates a new GParamSpecFlags instance specifying a `G_TYPE_FLAGS` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
flags_type | a GType derived from `G_TYPE_FLAGS` |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_flags ()

    void
    g_value_set_flags (GValue *value,
                       guint v_flags);

Set the contents of a `G_TYPE_FLAGS` GValue to `v_flags` .

#### Parameters

value | a valid GValue whose type is derived from `G_TYPE_FLAGS` |
v_flags | flags value to be set |

### g_value_get_flags ()

    guint
    g_value_get_flags (const GValue *value);

Get the contents of a `G_TYPE_FLAGS` GValue.

#### Parameters

value | a valid GValue whose type is derived from `G_TYPE_FLAGS` |

#### Returns

flags contents of `value`

### G_IS_PARAM_SPEC_STRING()

    #define G_IS_PARAM_SPEC_STRING(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_STRING`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_STRING()

    #define G_PARAM_SPEC_STRING(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, GParamSpecString))

Casts a GParamSpec instance into a GParamSpecString.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_STRING()

    #define G_VALUE_HOLDS_STRING(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_STRING))

Checks whether the given GValue can hold values of type `G_TYPE_STRING`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### G_VALUE_IS_INTERNED_STRING()

    #define G_VALUE_IS_INTERNED_STRING(value) (G_VALUE_HOLDS_STRING (value) && ((value)->data[1].v_uint & G_VALUE_INTERNED_STRING)) GLIB_AVAILABLE_MACRO_IN_2_66

Checks whether `value` contains a string which is canonical.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` if the value contains a string in its canonical representation, as returned by `g_intern_string()`. See also `g_value_set_interned_string()`.

Since: 2.66

### g_param_spec_string ()

    GParamSpec *
    g_param_spec_string (const gchar *name,
                         const gchar *nick,
                         const gchar *blurb,
                         const gchar *default_value,
                         GParamFlags flags);

Creates a new GParamSpecString instance.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
default_value | default value for the property specified. | [nullable]
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_string ()

    void
    g_value_set_string (GValue *value,
                        const gchar *v_string);

Set the contents of a `G_TYPE_STRING` GValue to `v_string` .

#### Parameters

value | a valid GValue of type `G_TYPE_STRING` |
v_string | caller-owned string to be duplicated for the GValue. | [nullable]

### g_value_set_static_string ()

    void
    g_value_set_static_string (GValue *value,
                               const gchar *v_string);

Set the contents of a `G_TYPE_STRING` GValue to `v_string` . The string is assumed to be static, and is thus not duplicated when setting the GValue.

If the the string is a canonical string, using `g_value_set_interned_string()` is more appropriate.

#### Parameters

value | a valid GValue of type `G_TYPE_STRING` |
v_string | static string to be set. | [nullable]

### g_value_take_string ()

    void
    g_value_take_string (GValue *value,
                         gchar *v_string);

Sets the contents of a `G_TYPE_STRING` GValue to `v_string` .

#### Parameters

value | a valid GValue of type `G_TYPE_STRING` |
v_string | string to take ownership of. | [nullable]

Since: 2.4

### g_value_set_string_take_ownership ()

    void
    g_value_set_string_take_ownership (GValue *value,
                                       gchar *v_string);

`g_value_set_string_take_ownership` has been deprecated since version 2.4 and should not be used in newly-written code.

Use `g_value_take_string()` instead.

This is an internal function introduced mainly for C marshallers.

#### Parameters

value | a valid GValue of type `G_TYPE_STRING` |
v_string | duplicated unowned string to be set. | [nullable]

### g_value_get_string ()

    const gchar *
    g_value_get_string (const GValue *value);

Get the contents of a `G_TYPE_STRING` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_STRING` |

#### Returns

string content of `value`

### g_value_dup_string ()

    gchar *
    g_value_dup_string (const GValue *value);

Get a copy the contents of a `G_TYPE_STRING` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_STRING` |

#### Returns

a newly allocated copy of the string content of `value`

### g_value_set_interned_string ()

    void
    g_value_set_interned_string (GValue *value,
                                 const gchar *v_string);

Set the contents of a `G_TYPE_STRING` GValue to `v_string` . The string is assumed to be static and interned (canonical, for example from `g_intern_string()`), and is thus not duplicated when setting the GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_STRING` |
v_string | static string to be set. | [nullable]

Since: 2.66

### G_IS_PARAM_SPEC_PARAM()

    #define G_IS_PARAM_SPEC_PARAM(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_PARAM))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_PARAM`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_PARAM()

    #define G_PARAM_SPEC_PARAM(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_PARAM, GParamSpecParam))

Casts a GParamSpec instance into a GParamSpecParam.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_PARAM()

    #define G_VALUE_HOLDS_PARAM(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_PARAM))

Checks whether the given GValue can hold values derived from type `G_TYPE_PARAM`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_param ()

    GParamSpec *
    g_param_spec_param (const gchar *name,
                        const gchar *nick,
                        const gchar *blurb,
                        GType param_type,
                        GParamFlags flags);

Creates a new GParamSpecParam instance specifying a `G_TYPE_PARAM` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
param_type | a GType derived from `G_TYPE_PARAM` |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_param ()

    void
    g_value_set_param (GValue *value,
                       GParamSpec *param);

Set the contents of a `G_TYPE_PARAM` GValue to `param` .

#### Parameters

value | a valid GValue of type `G_TYPE_PARAM` |
param | the GParamSpec to be set. | [nullable]

### g_value_take_param ()

    void
    g_value_take_param (GValue *value,
                        GParamSpec *param);

Sets the contents of a `G_TYPE_PARAM` GValue to `param` and takes over the ownership of the caller’s reference to `param` ; the caller doesn’t have to unref it any more.

[skip]

#### Parameters

value | a valid GValue of type `G_TYPE_PARAM` |
param | the GParamSpec to be set. | [nullable]

Since: 2.4

### g_value_set_param_take_ownership ()

    void
    g_value_set_param_take_ownership (GValue *value,
                                      GParamSpec *param);

`g_value_set_param_take_ownership` has been deprecated since version 2.4 and should not be used in newly-written code.

Use `g_value_take_param()` instead.

This is an internal function introduced mainly for C marshallers.

[skip]

#### Parameters

value | a valid GValue of type `G_TYPE_PARAM` |
param | the GParamSpec to be set. | [nullable]

### g_value_get_param ()

    GParamSpec *
    g_value_get_param (const GValue *value);

Get the contents of a `G_TYPE_PARAM` GValue.

#### Parameters

value | a valid GValue whose type is derived from `G_TYPE_PARAM` |

#### Returns

GParamSpec content of `value` .

[transfer none]

### g_value_dup_param ()

    GParamSpec *
    g_value_dup_param (const GValue *value);

Get the contents of a `G_TYPE_PARAM` GValue, increasing its reference count.

[skip]

#### Parameters

value | a valid GValue whose type is derived from `G_TYPE_PARAM` |

#### Returns

GParamSpec content of `value` , should be unreferenced when no longer needed.

### G_IS_PARAM_SPEC_BOXED()

    #define G_IS_PARAM_SPEC_BOXED(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOXED))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_BOXED`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_BOXED()

    #define G_PARAM_SPEC_BOXED(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOXED, GParamSpecBoxed))

Cast a GParamSpec instance into a GParamSpecBoxed.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_BOXED()

    #define G_VALUE_HOLDS_BOXED(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOXED))

Checks whether the given GValue can hold values derived from type `G_TYPE_BOXED`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_boxed ()

    GParamSpec *
    g_param_spec_boxed (const gchar *name,
                        const gchar *nick,
                        const gchar *blurb,
                        GType boxed_type,
                        GParamFlags flags);

Creates a new GParamSpecBoxed instance specifying a `G_TYPE_BOXED` derived property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
boxed_type | `G_TYPE_BOXED` derived type of this property |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_boxed ()

    void
    g_value_set_boxed (GValue *value,
                       gconstpointer v_boxed);

Set the contents of a `G_TYPE_BOXED` derived GValue to `v_boxed` .

#### Parameters

value | a valid GValue of `G_TYPE_BOXED` derived type |
v_boxed | boxed value to be set. | [nullable]

### g_value_set_static_boxed ()

    void
    g_value_set_static_boxed (GValue *value,
                              gconstpointer v_boxed);

Set the contents of a `G_TYPE_BOXED` derived GValue to `v_boxed` . The boxed value is assumed to be static, and is thus not duplicated when setting the GValue.

#### Parameters

value | a valid GValue of `G_TYPE_BOXED` derived type |
v_boxed | static boxed value to be set. | [nullable]

### g_value_take_boxed ()

    void
    g_value_take_boxed (GValue *value,
                        gconstpointer v_boxed);

Sets the contents of a `G_TYPE_BOXED` derived GValue to `v_boxed` and takes over the ownership of the caller’s reference to `v_boxed` ; the caller doesn’t have to unref it any more.

#### Parameters

value | a valid GValue of `G_TYPE_BOXED` derived type |
v_boxed | duplicated unowned boxed value to be set. | [nullable]

Since: 2.4

### g_value_set_boxed_take_ownership ()

    void
    g_value_set_boxed_take_ownership (GValue *value,
                                      gconstpointer v_boxed);

`g_value_set_boxed_take_ownership` has been deprecated since version 2.4 and should not be used in newly-written code.

Use `g_value_take_boxed()` instead.

This is an internal function introduced mainly for C marshallers.

#### Parameters

value | a valid GValue of `G_TYPE_BOXED` derived type |
v_boxed | duplicated unowned boxed value to be set. | [nullable]

### g_value_get_boxed ()

    gpointer
    g_value_get_boxed (const GValue *value);

Get the contents of a `G_TYPE_BOXED` derived GValue.

#### Parameters

value | a valid GValue of `G_TYPE_BOXED` derived type |

#### Returns

boxed contents of `value` .

[transfer none]

### g_value_dup_boxed ()

    gpointer
    g_value_dup_boxed (const GValue *value);

Get the contents of a `G_TYPE_BOXED` derived GValue. Upon getting, the boxed value is duplicated and needs to be later freed with `g_boxed_free()`, e.g. like: g_boxed_free (G_VALUE_TYPE (`value` ), return_value);

[skip]

#### Parameters

value | a valid GValue of `G_TYPE_BOXED` derived type |

#### Returns

boxed contents of `value`

### G_IS_PARAM_SPEC_POINTER()

    #define G_IS_PARAM_SPEC_POINTER(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_POINTER))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_POINTER`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_POINTER()

    #define G_PARAM_SPEC_POINTER(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_POINTER, GParamSpecPointer))

Casts a GParamSpec instance into a GParamSpecPointer.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_POINTER()

    #define G_VALUE_HOLDS_POINTER(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_POINTER))

Checks whether the given GValue can hold values of type `G_TYPE_POINTER`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_pointer ()

    GParamSpec *
    g_param_spec_pointer (const gchar *name,
                          const gchar *nick,
                          const gchar *blurb,
                          GParamFlags flags);

Creates a new GParamSpecPointer instance specifying a pointer property. Where possible, it is better to use `g_param_spec_object()` or `g_param_spec_boxed()` to expose memory management information.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_pointer ()

    void
    g_value_set_pointer (GValue *value,
                         gpointer v_pointer);

Set the contents of a pointer GValue to `v_pointer` .

#### Parameters

value | a valid GValue of `G_TYPE_POINTER` |
v_pointer | pointer value to be set |

### g_value_get_pointer ()

    gpointer
    g_value_get_pointer (const GValue *value);

Get the contents of a pointer GValue.

#### Parameters

value | a valid GValue of `G_TYPE_POINTER` |

#### Returns

pointer contents of `value` .

[transfer none]

### G_IS_PARAM_SPEC_OBJECT()

    #define G_IS_PARAM_SPEC_OBJECT(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_OBJECT`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_OBJECT()

    #define G_PARAM_SPEC_OBJECT(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, GParamSpecObject))

Casts a GParamSpec instance into a GParamSpecObject.

#### Parameters

pspec | a valid GParamSpec instance |

### G_VALUE_HOLDS_OBJECT()

    #define G_VALUE_HOLDS_OBJECT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_OBJECT))

Checks whether the given GValue can hold values derived from type `G_TYPE_OBJECT`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

### g_param_spec_object ()

    GParamSpec *
    g_param_spec_object (const gchar *name,
                         const gchar *nick,
                         const gchar *blurb,
                         GType object_type,
                         GParamFlags flags);

Creates a new GParamSpecBoxed instance specifying a `G_TYPE_OBJECT` derived property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
object_type | `G_TYPE_OBJECT` derived type of this property |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### g_value_set_object ()

    void
    g_value_set_object (GValue *value,
                        gpointer v_object);

Set the contents of a `G_TYPE_OBJECT` derived GValue to `v_object` .

g_value_set_object() increases the reference count of `v_object` (the GValue holds a reference to `v_object` ). If you do not wish to increase the reference count of the object (i.e. you wish to pass your current reference to the GValue because you no longer need it), use `g_value_take_object()` instead.

It is important that your GValue holds a reference to `v_object` (either its own, or one it has taken) to ensure that the object won't be destroyed while the GValue still exists).

#### Parameters

value | a valid GValue of `G_TYPE_OBJECT` derived type |
v_object | object value to be set. | [type GObject.Object][nullable]

### g_value_take_object ()

    void
    g_value_take_object (GValue *value,
                         gpointer v_object);

Sets the contents of a `G_TYPE_OBJECT` derived GValue to `v_object` and takes over the ownership of the caller’s reference to `v_object` ; the caller doesn’t have to unref it any more (i.e. the reference count of the object is not increased).

If you want the GValue to hold its own reference to `v_object` , use `g_value_set_object()` instead.

[skip]

#### Parameters

value | a valid GValue of `G_TYPE_OBJECT` derived type |
v_object | object value to be set. | [nullable]

Since: 2.4

### g_value_set_object_take_ownership ()

    void
    g_value_set_object_take_ownership (GValue *value,
                                       gpointer v_object);

`g_value_set_object_take_ownership` has been deprecated since version 2.4 and should not be used in newly-written code.

Use `g_value_take_object()` instead.

This is an internal function introduced mainly for C marshallers.

[skip]

#### Parameters

value | a valid GValue of `G_TYPE_OBJECT` derived type |
v_object | object value to be set. | [nullable]

### g_value_get_object ()

    gpointer
    g_value_get_object (const GValue *value);

Get the contents of a `G_TYPE_OBJECT` derived GValue.

#### Parameters

value | a valid GValue of `G_TYPE_OBJECT` derived type |

#### Returns

object contents of `value` .

[type GObject.Object][transfer none]

### g_value_dup_object ()

    gpointer
    g_value_dup_object (const GValue *value);

Get the contents of a `G_TYPE_OBJECT` derived GValue, increasing its reference count. If the contents of the GValue are `NULL`, then `NULL` will be returned.

#### Parameters

value | a valid GValue whose type is derived from `G_TYPE_OBJECT` |

#### Returns

object content of `value` , should be unreferenced when no longer needed.

[type GObject.Object][transfer full]

### G_IS_PARAM_SPEC_UNICHAR()

    #define G_IS_PARAM_SPEC_UNICHAR(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UNICHAR))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_UNICHAR`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_UNICHAR()

    #define G_PARAM_SPEC_UNICHAR(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UNICHAR, GParamSpecUnichar))

Cast a GParamSpec instance into a GParamSpecUnichar.

#### Parameters

pspec | a valid GParamSpec instance |

### g_param_spec_unichar ()

    GParamSpec *
    g_param_spec_unichar (const gchar *name,
                          const gchar *nick,
                          const gchar *blurb,
                          gunichar default_value,
                          GParamFlags flags);

Creates a new GParamSpecUnichar instance specifying a `G_TYPE_UINT` property. GValue structures for this property can be accessed with `g_value_set_uint()` and `g_value_get_uint()`.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
default_value | default value for the property specified |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

### G_IS_PARAM_SPEC_VALUE_ARRAY()

    #define G_IS_PARAM_SPEC_VALUE_ARRAY(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VALUE_ARRAY)) GLIB_DEPRECATED_MACRO_IN_2_32

`G_IS_PARAM_SPEC_VALUE_ARRAY` has been deprecated since version 2.32 and should not be used in newly-written code.

Use GArray instead of GValueArray

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_VALUE_ARRAY`.

#### Parameters

pspec | a valid GParamSpec instance |

#### Returns

`TRUE` on success.

### G_PARAM_SPEC_VALUE_ARRAY()

    #define G_PARAM_SPEC_VALUE_ARRAY(pspec)    (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VALUE_ARRAY, GParamSpecValueArray)) GLIB_DEPRECATED_MACRO_IN_2_32

`G_PARAM_SPEC_VALUE_ARRAY` has been deprecated since version 2.32 and should not be used in newly-written code.

Use GArray instead of GValueArray

Cast a GParamSpec instance into a GParamSpecValueArray.

#### Parameters

pspec | a valid GParamSpec instance |

### g_param_spec_value_array ()

    GParamSpec *
    g_param_spec_value_array (const gchar *name,
                              const gchar *nick,
                              const gchar *blurb,
                              GParamSpec *element_spec,
                              GParamFlags flags);

Creates a new GParamSpecValueArray instance specifying a `G_TYPE_VALUE_ARRAY` property. `G_TYPE_VALUE_ARRAY` is a `G_TYPE_BOXED` type, as such, GValue structures for this property can be accessed with `g_value_set_boxed()` and `g_value_get_boxed()`.

See `g_param_spec_internal()` for details on property names.

[skip]

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
element_spec | a GParamSpec describing the elements contained in arrays of this property, may be `NULL` |
flags | flags for the property specified |

#### Returns

a newly created parameter specification

### G_IS_PARAM_SPEC_OVERRIDE()

    #define G_IS_PARAM_SPEC_OVERRIDE(pspec)    (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OVERRIDE))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_OVERRIDE`.

#### Parameters

pspec | a GParamSpec |

#### Returns

`TRUE` on success.

Since: 2.4

### G_PARAM_SPEC_OVERRIDE()

    #define G_PARAM_SPEC_OVERRIDE(pspec)       (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OVERRIDE, GParamSpecOverride))

Casts a GParamSpec into a GParamSpecOverride.

#### Parameters

pspec | a GParamSpec |

Since: 2.4

### g_param_spec_override ()

    GParamSpec *
    g_param_spec_override (const gchar *name,
                           GParamSpec *overridden);

Creates a new property of type GParamSpecOverride. This is used to direct operations to another paramspec, and will not be directly useful unless you are implementing a new base type similar to GObject.

[skip]

#### Parameters

name | the name of the property. |
overridden | The property that is being overridden |

#### Returns

the newly created GParamSpec

Since: 2.4

### G_IS_PARAM_SPEC_GTYPE()

    #define G_IS_PARAM_SPEC_GTYPE(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_GTYPE))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_GTYPE`.

#### Parameters

pspec | a GParamSpec |

#### Returns

`TRUE` on success.

Since: 2.10

### G_PARAM_SPEC_GTYPE()

    #define G_PARAM_SPEC_GTYPE(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_GTYPE, GParamSpecGType))

Casts a GParamSpec into a GParamSpecGType.

#### Parameters

pspec | a GParamSpec |

Since: 2.10

### G_VALUE_HOLDS_GTYPE()

    #define G_VALUE_HOLDS_GTYPE(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_GTYPE))

Checks whether the given GValue can hold values of type `G_TYPE_GTYPE`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

Since: 2.12

### g_param_spec_gtype ()

    GParamSpec *
    g_param_spec_gtype (const gchar *name,
                        const gchar *nick,
                        const gchar *blurb,
                        GType is_a_type,
                        GParamFlags flags);

Creates a new GParamSpecGType instance specifying a `G_TYPE_GTYPE` property.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
is_a_type | a GType whose subtypes are allowed as values of the property (use `G_TYPE_NONE` for any type) |
flags | flags for the property specified |

#### Returns

a newly created parameter specification.

[transfer full]

Since: 2.10

### g_value_get_gtype ()

    GType
    g_value_get_gtype (const GValue *value);

Get the contents of a `G_TYPE_GTYPE` GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_GTYPE` |

#### Returns

the GType stored in `value`

Since: 2.12

### g_value_set_gtype ()

    void
    g_value_set_gtype (GValue *value,
                       GType v_gtype);

Set the contents of a `G_TYPE_GTYPE` GValue to `v_gtype` .

#### Parameters

value | a valid GValue of type `G_TYPE_GTYPE` |
v_gtype | GType to be set |

Since: 2.12

### G_IS_PARAM_SPEC_VARIANT()

    #define G_IS_PARAM_SPEC_VARIANT(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VARIANT))

Checks whether the given GParamSpec is of type `G_TYPE_PARAM_VARIANT`.

#### Parameters

pspec | a GParamSpec |

#### Returns

`TRUE` on success

Since: 2.26

### G_PARAM_SPEC_VARIANT()

    #define G_PARAM_SPEC_VARIANT(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VARIANT, GParamSpecVariant))

Casts a GParamSpec into a GParamSpecVariant.

#### Parameters

pspec | a GParamSpec |

Since: 2.26

### G_VALUE_HOLDS_VARIANT()

    #define G_VALUE_HOLDS_VARIANT(value)     (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_VARIANT))

Checks whether the given GValue can hold values of type `G_TYPE_VARIANT`.

#### Parameters

value | a valid GValue structure |

#### Returns

`TRUE` on success.

Since: 2.26

### g_param_spec_variant ()

    GParamSpec *
    g_param_spec_variant (const gchar *name,
                          const gchar *nick,
                          const gchar *blurb,
                          const GVariantType *type,
                          GVariant *default_value,
                          GParamFlags flags);

Creates a new GParamSpecVariant instance specifying a GVariant property.

If `default_value` is floating, it is consumed.

See `g_param_spec_internal()` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
type | a GVariantType |
default_value | a GVariant of type `type` to use as the default value, or `NULL`. | [nullable][transfer full]
flags | flags for the property specified |

#### Returns

the newly created GParamSpec.

[transfer full]

Since: 2.26

### g_value_get_variant ()

    GVariant *
    g_value_get_variant (const GValue *value);

Get the contents of a variant GValue.

#### Parameters

value | a valid GValue of type `G_TYPE_VARIANT` |

#### Returns

variant contents of `value` (may be `NULL`).

[transfer none][nullable]

Since: 2.26

### g_value_dup_variant ()

    GVariant *
    g_value_dup_variant (const GValue *value);

Get the contents of a variant GValue, increasing its refcount. The returned GVariant is never floating.

#### Parameters

value | a valid GValue of type `G_TYPE_VARIANT` |

#### Returns

variant contents of `value` (may be `NULL`); should be unreffed using `g_variant_unref()` when no longer needed.

[transfer full][nullable]

Since: 2.26

### g_value_set_variant ()

    void
    g_value_set_variant (GValue *value,
                         GVariant *variant);

Set the contents of a variant GValue to `variant` . If the variant is floating, it is consumed.

#### Parameters

value | a valid GValue of type `G_TYPE_VARIANT` |
variant | a GVariant, or `NULL`. | [nullable]

Since: 2.26

### g_value_take_variant ()

    void
    g_value_take_variant (GValue *value,
                          GVariant *variant);

Set the contents of a variant GValue to `variant` , and takes over the ownership of the caller's reference to `variant` ; the caller doesn't have to unref it any more (i.e. the reference count of the variant is not increased).

If `variant` was floating then its floating reference is converted to a hard reference.

If you want the GValue to hold its own reference to `variant` , use `g_value_set_variant()` instead.

This is an internal function introduced mainly for C marshallers.

#### Parameters

value | a valid GValue of type `G_TYPE_VARIANT` |
variant | a GVariant, or `NULL`. | [nullable][transfer full]

Since: 2.26

## Types and Values

### G_TYPE_PARAM_BOOLEAN

    #define G_TYPE_PARAM_BOOLEAN		   (g_param_spec_types[2])

The GType of GParamSpecBoolean.

### struct GParamSpecBoolean

    struct GParamSpecBoolean {
      GParamSpec    parent_instance;

      gboolean      default_value;
    };

A GParamSpec derived structure that contains the meta data for boolean properties.

#### Members

gboolean `default_value`; | default value for the property specified |

### G_TYPE_PARAM_CHAR

    #define G_TYPE_PARAM_CHAR		   (g_param_spec_types[0])

The GType of GParamSpecChar.

### struct GParamSpecChar

    struct GParamSpecChar {
      GParamSpec    parent_instance;

      gint8         minimum;
      gint8         maximum;
      gint8         default_value;
    };

A GParamSpec derived structure that contains the meta data for character properties.

#### Members

gint8 `minimum`; | minimum value for the property specified |
gint8 `maximum`; | maximum value for the property specified |
gint8 `default_value`; | default value for the property specified |

### G_TYPE_PARAM_UCHAR

    #define G_TYPE_PARAM_UCHAR		   (g_param_spec_types[1])

The GType of GParamSpecUChar.

### struct GParamSpecUChar

    struct GParamSpecUChar {
      GParamSpec    parent_instance;

      guint8        minimum;
      guint8        maximum;
      guint8        default_value;
    };

A GParamSpec derived structure that contains the meta data for unsigned character properties.

#### Members

guint8 `minimum`; | minimum value for the property specified |
guint8 `maximum`; | maximum value for the property specified |
guint8 `default_value`; | default value for the property specified |

### G_TYPE_PARAM_INT

    #define G_TYPE_PARAM_INT		   (g_param_spec_types[3])

The GType of GParamSpecInt.

### struct GParamSpecInt

    struct GParamSpecInt {
      GParamSpec    parent_instance;

      gint          minimum;
      gint          maximum;
      gint          default_value;
    };

A GParamSpec derived structure that contains the meta data for integer properties.

#### Members

gint `minimum`; | minimum value for the property specified |
gint `maximum`; | maximum value for the property specified |
gint `default_value`; | default value for the property specified |

### G_TYPE_PARAM_UINT

    #define G_TYPE_PARAM_UINT		   (g_param_spec_types[4])

The GType of GParamSpecUInt.

### struct GParamSpecUInt

    struct GParamSpecUInt {
      GParamSpec    parent_instance;

      guint         minimum;
      guint         maximum;
      guint         default_value;
    };

A GParamSpec derived structure that contains the meta data for unsigned integer properties.

#### Members

guint `minimum`; | minimum value for the property specified |
guint `maximum`; | maximum value for the property specified |
guint `default_value`; | default value for the property specified |

### G_TYPE_PARAM_LONG

    #define G_TYPE_PARAM_LONG		   (g_param_spec_types[5])

The GType of GParamSpecLong.

### struct GParamSpecLong

    struct GParamSpecLong {
      GParamSpec    parent_instance;

      glong         minimum;
      glong         maximum;
      glong         default_value;
    };

A GParamSpec derived structure that contains the meta data for long integer properties.

#### Members

glong `minimum`; | minimum value for the property specified |
glong `maximum`; | maximum value for the property specified |
glong `default_value`; | default value for the property specified |

### G_TYPE_PARAM_ULONG

    #define G_TYPE_PARAM_ULONG		   (g_param_spec_types[6])

The GType of GParamSpecULong.

### struct GParamSpecULong

    struct GParamSpecULong {
      GParamSpec    parent_instance;

      gulong        minimum;
      gulong        maximum;
      gulong        default_value;
    };

A GParamSpec derived structure that contains the meta data for unsigned long integer properties.

#### Members

gulong `minimum`; | minimum value for the property specified |
gulong `maximum`; | maximum value for the property specified |
gulong `default_value`; | default value for the property specified |

### G_TYPE_PARAM_INT64

    #define G_TYPE_PARAM_INT64		   (g_param_spec_types[7])

The GType of GParamSpecInt64.

### struct GParamSpecInt64

    struct GParamSpecInt64 {
      GParamSpec    parent_instance;

      gint64        minimum;
      gint64        maximum;
      gint64        default_value;
    };

A GParamSpec derived structure that contains the meta data for 64bit integer properties.

#### Members

gint64 `minimum`; | minimum value for the property specified |
gint64 `maximum`; | maximum value for the property specified |
gint64 `default_value`; | default value for the property specified |

### G_TYPE_PARAM_UINT64

    #define G_TYPE_PARAM_UINT64		   (g_param_spec_types[8])

The GType of GParamSpecUInt64.

### struct GParamSpecUInt64

    struct GParamSpecUInt64 {
      GParamSpec    parent_instance;

      guint64       minimum;
      guint64       maximum;
      guint64       default_value;
    };

A GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.

#### Members

guint64 `minimum`; | minimum value for the property specified |
guint64 `maximum`; | maximum value for the property specified |
guint64 `default_value`; | default value for the property specified |

### G_TYPE_PARAM_FLOAT

    #define G_TYPE_PARAM_FLOAT		   (g_param_spec_types[12])

The GType of GParamSpecFloat.

### struct GParamSpecFloat

    struct GParamSpecFloat {
      GParamSpec    parent_instance;

      gfloat        minimum;
      gfloat        maximum;
      gfloat        default_value;
      gfloat        epsilon;
    };

A GParamSpec derived structure that contains the meta data for float properties.

#### Members

gfloat `minimum`; | minimum value for the property specified |
gfloat `maximum`; | maximum value for the property specified |
gfloat `default_value`; | default value for the property specified |
gfloat `epsilon`; | values closer than `epsilon` will be considered identical by `g_param_values_cmp()`; the default value is 1e-30. |

### G_TYPE_PARAM_DOUBLE

    #define G_TYPE_PARAM_DOUBLE		   (g_param_spec_types[13])

The GType of GParamSpecDouble.

### struct GParamSpecDouble

    struct GParamSpecDouble {
      GParamSpec    parent_instance;

      gdouble       minimum;
      gdouble       maximum;
      gdouble       default_value;
      gdouble       epsilon;
    };

A GParamSpec derived structure that contains the meta data for double properties.

#### Members

gdouble `minimum`; | minimum value for the property specified |
gdouble `maximum`; | maximum value for the property specified |
gdouble `default_value`; | default value for the property specified |
gdouble `epsilon`; | values closer than `epsilon` will be considered identical by `g_param_values_cmp()`; the default value is 1e-90. |

### G_TYPE_PARAM_ENUM

    #define G_TYPE_PARAM_ENUM		   (g_param_spec_types[10])

The GType of GParamSpecEnum.

### struct GParamSpecEnum

    struct GParamSpecEnum {
      GParamSpec    parent_instance;

      GEnumClass   *enum_class;
      gint          default_value;
    };

A GParamSpec derived structure that contains the meta data for enum properties.

#### Members

GEnumClass *`enum_class`; | the GEnumClass for the enum |
gint `default_value`; | default value for the property specified |

### G_TYPE_PARAM_FLAGS

    #define G_TYPE_PARAM_FLAGS		   (g_param_spec_types[11])

The GType of GParamSpecFlags.

### struct GParamSpecFlags

    struct GParamSpecFlags {
      GParamSpec    parent_instance;

      GFlagsClass  *flags_class;
      guint         default_value;
    };

A GParamSpec derived structure that contains the meta data for flags properties.

#### Members

GFlagsClass *`flags_class`; | the GFlagsClass for the flags |
guint `default_value`; | default value for the property specified |

### G_TYPE_PARAM_STRING

    #define G_TYPE_PARAM_STRING		   (g_param_spec_types[14])

The GType of GParamSpecString.

### G_VALUE_INTERNED_STRING

    #define G_VALUE_INTERNED_STRING (1 << 28) GLIB_AVAILABLE_MACRO_IN_2_66

For string values, indicates that the string contained is canonical and will exist for the duration of the process. See `g_value_set_interned_string()`.

Since: 2.66

### struct GParamSpecString

    struct GParamSpecString {
      GParamSpec    parent_instance;

      gchar        *default_value;
      gchar        *cset_first;
      gchar        *cset_nth;
      gchar         substitutor;
      guint         null_fold_if_empty : 1;
      guint         ensure_non_null : 1;
    };

A GParamSpec derived structure that contains the meta data for string properties.

#### Members

gchar *`default_value`; | default value for the property specified |
gchar *`cset_first`; | a string containing the allowed values for the first byte |
gchar *`cset_nth`; | a string containing the allowed values for the subsequent bytes |
gchar `substitutor`; | the replacement byte for bytes which don't match `cset_first` or `cset_nth` . |
guint `null_fold_if_empty` : 1; | replace empty string by `NULL` |
guint `ensure_non_null` : 1; | replace `NULL` strings by an empty string |

### gchararray

    typedef gchar* gchararray;

A C representable type name for G_TYPE_STRING.

### G_TYPE_PARAM_PARAM

    #define G_TYPE_PARAM_PARAM		   (g_param_spec_types[15])

The GType of GParamSpecParam.

### struct GParamSpecParam

    struct GParamSpecParam {
      GParamSpec    parent_instance;
    };

A GParamSpec derived structure that contains the meta data for `G_TYPE_PARAM` properties.

#### Members

### G_TYPE_PARAM_BOXED

    #define G_TYPE_PARAM_BOXED		   (g_param_spec_types[16])

The GType of GParamSpecBoxed.

### struct GParamSpecBoxed

    struct GParamSpecBoxed {
      GParamSpec    parent_instance;
    };

A GParamSpec derived structure that contains the meta data for boxed properties.

#### Members

### G_TYPE_PARAM_POINTER

    #define G_TYPE_PARAM_POINTER		   (g_param_spec_types[17])

The GType of GParamSpecPointer.

### struct GParamSpecPointer

    struct GParamSpecPointer {
      GParamSpec    parent_instance;
    };

A GParamSpec derived structure that contains the meta data for pointer properties.

#### Members

### G_TYPE_PARAM_OBJECT

    #define G_TYPE_PARAM_OBJECT		   (g_param_spec_types[19])

The GType of GParamSpecObject.

### struct GParamSpecObject

    struct GParamSpecObject {
      GParamSpec    parent_instance;
    };

A GParamSpec derived structure that contains the meta data for object properties.

#### Members

### G_TYPE_PARAM_UNICHAR

    #define G_TYPE_PARAM_UNICHAR		   (g_param_spec_types[9])

The GType of GParamSpecUnichar.

### struct GParamSpecUnichar

    struct GParamSpecUnichar {
      GParamSpec    parent_instance;

      gunichar      default_value;
    };

A GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.

#### Members

gunichar `default_value`; | default value for the property specified |

### G_TYPE_PARAM_VALUE_ARRAY

    #define G_TYPE_PARAM_VALUE_ARRAY	   (g_param_spec_types[18]) GLIB_DEPRECATED_MACRO_IN_2_32

`G_TYPE_PARAM_VALUE_ARRAY` has been deprecated since version 2.32 and should not be used in newly-written code.

Use GArray instead of GValueArray

The GType of GParamSpecValueArray.

### struct GParamSpecValueArray

    struct GParamSpecValueArray {
      GParamSpec    parent_instance;
      GParamSpec   *element_spec;
      guint		fixed_n_elements;
    };

A GParamSpec derived structure that contains the meta data for GValueArray properties.

#### Members

GParamSpec *`element_spec`; | a GParamSpec describing the elements contained in arrays of this property, may be `NULL` |
guint `fixed_n_elements`; | if greater than 0, arrays of this property will always have this many elements |

### G_TYPE_PARAM_OVERRIDE

    #define G_TYPE_PARAM_OVERRIDE		   (g_param_spec_types[20])

The GType of GParamSpecOverride.

Since: 2.4

### struct GParamSpecOverride

    struct GParamSpecOverride {
    };

This is a type of GParamSpec type that simply redirects operations to another paramspec. All operations other than getting or setting the value are redirected, including accessing the nick and blurb, validating a value, and so forth. See `g_param_spec_get_redirect_target()` for retrieving the overridden property. GParamSpecOverride is used in implementing `g_object_class_override_property()`, and will not be directly useful unless you are implementing a new base type similar to GObject.

Since: 2.4

### G_TYPE_PARAM_GTYPE

    #define G_TYPE_PARAM_GTYPE		   (g_param_spec_types[21])

The GType of GParamSpecGType.

Since: 2.10

### struct GParamSpecGType

    struct GParamSpecGType {
      GParamSpec    parent_instance;
      GType         is_a_type;
    };

A GParamSpec derived structure that contains the meta data for GType properties.

#### Members

GType `is_a_type`; | a GType whose subtypes can occur as values |

Since: 2.10

### G_TYPE_PARAM_VARIANT

    #define G_TYPE_PARAM_VARIANT                (g_param_spec_types[22])

The GType of GParamSpecVariant.

Since: 2.26

### struct GParamSpecVariant

    struct GParamSpecVariant {
      GParamSpec    parent_instance;
      GVariantType *type;
      GVariant     *default_value;
    };

A GParamSpec derived structure that contains the meta data for GVariant properties.

When comparing values with `g_param_values_cmp()`, scalar values with the same type will be compared with `g_variant_compare()`. Other non-`NULL` variants will be checked for equality with `g_variant_equal()`, and their sort order is otherwise undefined. `NULL` is ordered before non-`NULL` variants. Two `NULL` values compare equal.

#### Members

GVariantType *`type`; | a GVariantType, or `NULL` |
GVariant *`default_value`; | a GVariant, or `NULL` |

Since: 2.26

## See Also

GParamSpec, GValue, `g_object_class_install_property()`.