---
name: "relay_open"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/relay_open"
---

# relay\_open(9)

create a new relay channel

## NAME

relay\_open - create a new relay channel

## SYNOPSIS

**struct rchan \* relay\_open(const char \*** *base\_filename***, struct dentry \*** *parent***, size\_t** *subbuf\_size***, size\_t** *n\_subbufs***, struct rchan\_callbacks \*** *cb***, void \*** *private\_data***);**

## ARGUMENTS

*base\_filename*

base name of files to create, **NULL** for buffering only

*parent*

dentry of parent directory, **NULL** for root directory or buffer

*subbuf\_size*

size of sub-buffers

*n\_subbufs*

number of sub-buffers

*cb*

client callback functions

*private\_data*

user-defined data

## DESCRIPTION

Returns channel pointer if successful, **NULL** otherwise.

Creates a channel buffer for each cpu using the sizes and attributes specified. The created channel buffer files will be named base\_filename0...base\_filenameN-1. File permissions will be **S\_IRUSR**.

If opening a buffer (*parent* = NULL) that you later wish to register in a filesystem, call **relay\_late\_setup\_files** once the *parent* dentry is available.

## COPYRIGHT
