---
name: "cxl_new"
section: "3"
platform: "linux"
package: "ndctl"
version: "85-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/cxl_new"
---

# cxl\_new(3)

Create a new library context object that acts as a handle for all library operations

## NAME

cxl\_new - Create a new library context object that acts as a handle for all library operations

## SYNOPSIS

```
#include <cxl/libcxl.h>
int cxl_new(struct cxl_ctx **ctx);
```

## DESCRIPTION

Instantiates a new library context, and stores an opaque pointer in ctx. The context is freed by linklibcxl:cxl\_unref\[3\], i.e. [cxl\_new(3)](/cxl_new/3.md) implies an internal linklibcxl:cxl\_ref\[3\].

## RETURN VALUE

Returns 0 on success, and a negative errno on failure. Possible error codes are:

• -ENOMEM

• -ENXIO

## EXAMPLE

See example usage in test/libcxl.c

## COPYRIGHT

Copyright © 2016 - 2022, Intel Corporation. License GPLv2: GNU GPL version 2  \<http://gnu.org/licenses/gpl.html\>. This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.

## SEE ALSO

linklibcxl:cxl\_ref\[3\], linklibcxl:cxl\_unref\[3\]
