### Function

# Foundry Triplet new_with_triplet

#### Declaration [src]

    FoundryTriplet*
    foundry_triplet_new_with_triplet (
      const char* arch,
      const char* kernel,
      const char* operating_system
    )

#### Description [src]

Creates a new `FoundryTriplet` from a given triplet of “arch-kernel-os” (like “x86_64-linux-gnu”).

#### Parameters

`arch`

  Type: `const char*`

  The name of the architecture of the machine (like “x86_64”).

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

`kernel`

  Type: `const char*`

  The name of the kernel of the machine (like “linux”).

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`operating_system`

  Type: `const char*`

  The name of the os of the machine (like “gnuabi64”).

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

#### Return value

Type: `FoundryTriplet`

An `FoundryTriplet`.

The caller of the function takes ownership of the data, and is responsible for freeing it.