relay_open — create a new relay channel


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);


const char * base_filename

base name of files to create, NULL for buffering only

struct dentry * parent

dentry of parent directory, NULL for root directory or buffer

size_t subbuf_size

size of sub-buffers

size_t n_subbufs

number of sub-buffers

struct rchan_callbacks * cb

client callback functions

void * private_data

user-defined data


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.