### Method

# Gck Slot open_session_full

#### Declaration [src]

    GckSession*
    gck_slot_open_session_full (
      GckSlot* self,
      GckSessionOptions options,
      gulong pkcs11_flags,
      gpointer app_data,
      CK_NOTIFY notify,
      GCancellable* cancellable,
      GError** error
    )

#### Description [src]

Open a session on the slot. If the ‘auto reuse’ setting is set, then this may be a recycled session with the same flags.

This call may block for an indefinite period.

This method is not directly available to language bindings.

#### Parameters

`options` | `GckSessionOptions`
| The options to open the new session with.
`pkcs11_flags` | `gulong`
| Additional raw PKCS#11 flags.
`app_data` | `gpointer`
| Application data for notification callback.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`notify` | `CK_NOTIFY`
| PKCS#11 notification callback.
`cancellable` | `GCancellable`
| Optional cancellation object, or `NULL`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`error` | `GError **`
| The return location for a `GError*`, or `NULL`.

#### Return value

Returns: | `GckSession`
| A new session or `NULL` if an error occurs.
| The caller of the method takes ownership of the data, and is responsible for freeing it.