### Method

# Gck Builder take_data

#### Declaration [src]

    void
    gck_builder_take_data (
      GckBuilder* builder,
      gulong attr_type,
      guchar* value,
      gsize length
    )

#### Description [src]

Add a new attribute to the builder with an arbitrary value. Unconditionally adds a new attribute, even if one with the same `attr_type` already exists.

Ownership of the `value` memory is taken by the builder, may be reallocated, and is eventually freed with g_free(). The memory must have been allocated using the standard GLib memory allocation routines.

`NULL` may be specified for the `value` argument, in which case an empty attribute is created. `GCK_INVALID` may be specified for the length, in which case an invalid attribute is created in the PKCS#11 style.

#### Parameters

`attr_type`

  Type: `gulong`

  The new attribute type.

`value`

  Type: An array of `guchar`

  The new attribute memory.

  The argument can be `NULL`.
  The length of the array is specified in the `length` argument.
  The instance takes ownership of the data, and is responsible for freeing it.

`length`

  Type: `gsize`

  The length of the memory.