### Method

# Camel SExp add_ifunction

since: 3.4

#### Declaration [src]

    void
    camel_sexp_add_ifunction (
      CamelSExp* sexp,
      guint scope,
      const gchar* name,
      CamelSExpIFunc ifunc,
      gpointer user_data
    )

#### Description [src]

Adds a function symbol which can perform short evaluation, or doesn’t execute everything. Use `camel_sexp_add_function()` for any other types of the function symbols.

Available since: 3.4

This method is not directly available to language bindings.

#### Parameters

`scope`

  Type: `guint`

  A scope.

`name`

  Type: `const gchar*`

  A function name.

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

`ifunc`

  Type: `CamelSExpIFunc`

  A function callback.

`user_data`

  Type: `gpointer`

  User data for `ifunc`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.