cnet v3.1.4

home
FAQ

cmdline options
topology files
attributes

datatypes
data structures
core API
support API

download/install

cnet's Application Programming Interface

NAME
CNET_shmem, CNET_shmem2- create, or attach to, a memory segment shared by all nodes.

SYNOPSIS
#include <cnet.h>

void *CNET_shmem(size_t length);
void *CNET_shmem2(const char *name, size_t length);

DESCRIPTION
CNET_shmem() returns a pointer to a block of memory of at least the requested number of bytes. If multiple nodes each make the same request, they will each receive a pointer to the same shared memory. When first allocated, the memory is cleared using memset(addr,0,length). CNET_shmem2() accepts a string, name, to identify the required shared memory segment.

The shared memory can be used to conveniently maintain some global statistics, accessible by all nodes. The provision of CNET_shmem() and CNET_shmem2() is not intended to provide a covert communication channel between nodes.

RETURN VALUE
On success, a valid pointer is returned. On failure, the NULL pointer is returned, and the global variable cnet_errno is set to one of the following values to describe the error:

ER_BADARG
length is equal to zero.

ER_BADSIZE
The node has requested a shared memory segment whose length is greater than the currently available shared segment.

cnet was written and is maintained by Chris McDonald (chris@csse.uwa.edu.au).

cnet development has been supported by an ACM-SIGCSE Special Project Grant, and an Australian Apple University Consortium Scholarship.