### Struct

# GLib HookList

#### Description

    struct GHookList {
      gulong seq_id;
      guint hook_size : 16;
      guint is_setup : 1;
      GHook* hooks;
      gpointer dummy3;
      GHookFinalizeFunc finalize_hook;
      None dummy;
    }

The `GHookList` struct represents a list of hook functions.

###### Structure members

`seq_id`

  The next free `GHook` id.

`hook_size`

  The size of the `GHookList` elements, in bytes.

`is_setup`

  1 if the `GHookList` has been initialized.

`hooks`

  The first `GHook` element in the list.

`dummy3`

  Unused.

`finalize_hook`

  The function to call to finalize a `GHook` element. The default behaviour is to call the hooks `destroy` function.

`dummy`

  Unused.

#### Instance methods

###### g_hook_list_clear

Removes all the `GHook` elements from a `GHookList`.

###### g_hook_list_init

Initializes a `GHookList`. This must be called before the `GHookList` is used.

###### g_hook_list_invoke

Calls all of the `GHook` functions in a `GHookList`.

###### g_hook_list_invoke_check

Calls all of the `GHook` functions in a `GHookList`. Any function which returns `FALSE` is removed from the `GHookList`.

###### g_hook_list_marshal

Calls a function on each valid `GHook`.

###### g_hook_list_marshal_check

Calls a function on each valid `GHook` and destroys it if the function returns `FALSE`.