sharedmem.h File Reference

#include "shm_config.h"
#include <limits.h>
#include <sys/types.h>
#include <pthread.h>
#include <semaphore.h>

Include dependency graph for debian/libsharedmem1-dev/usr/include/sharedmem.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _sharedmem_ctrl_t
struct  _sharedmem_error_t
struct  _sharedmem_t

Defines

#define SHAREDMEM_ERROR_SIZE   256
#define SHAREDMEM_NAME_LENGTH   _POSIX_PATH_MAX
#define likely(x)   (x)
#define unlikely(x)   (x)
#define prefetch(x, w, l)
#define SHAREDMEM_MUTEX(i)   (&(i)->ctrl->mutex)
#define SHAREDMEM_COND(i)   (&(i)->ctrl->cond)
#define SHAREDMEM_SEM(i)   ((i)->sem)
#define SHAREDMEM_PTR(i)   ((i)->pdata)
#define SHAREDMEM_SIZE(i)   ((i)->mapped_size)

Typedefs

typedef _sharedmem_ctrl_t sharedmem_ctrl_t
typedef _sharedmem_error_t sharedmem_error_t
typedef _sharedmem_t sharedmem_t

Functions

int sharedmem_create (sharedmem_t *inst, const char *name, size_t size)
int sharedmem_open (sharedmem_t *inst, const char *name)
int sharedmem_close (sharedmem_t *inst)
int sharedmem_resize (sharedmem_t *inst, size_t size)
int sharedmem_resize2 (sharedmem_t *inst)
int sharedmem_size_changed (sharedmem_t *inst)
int sharedmem_lock (sharedmem_t *inst)
int sharedmem_unlock (sharedmem_t *inst)
int sharedmem_get_error_code (sharedmem_t *inst)
const char * sharedmem_get_error_string (sharedmem_t *inst)


Define Documentation

#define likely (  )     (x)

Definition at line 88 of file debian/libsharedmem1-dev/usr/include/sharedmem.h.

#define prefetch ( x,
w,
 ) 

Definition at line 90 of file debian/libsharedmem1-dev/usr/include/sharedmem.h.

#define SHAREDMEM_COND (  )     (&(i)->ctrl->cond)

Get pointer to shared memory condition variable.

Examples:
test.c.

Definition at line 141 of file debian/libsharedmem1-dev/usr/include/sharedmem.h.

#define SHAREDMEM_ERROR_SIZE   256

Definition at line 79 of file debian/libsharedmem1-dev/usr/include/sharedmem.h.

Referenced by _sharedmem_set_error().

#define SHAREDMEM_MUTEX (  )     (&(i)->ctrl->mutex)

Get pointer to shared memory mutex.

Examples:
test.c.

Definition at line 139 of file debian/libsharedmem1-dev/usr/include/sharedmem.h.

#define SHAREDMEM_NAME_LENGTH   _POSIX_PATH_MAX

Definition at line 80 of file debian/libsharedmem1-dev/usr/include/sharedmem.h.

Referenced by sharedmem_create(), and sharedmem_open().

#define SHAREDMEM_PTR (  )     ((i)->pdata)

Get pointer to shared memory.

Examples:
test.c, and test4.c.

Definition at line 145 of file debian/libsharedmem1-dev/usr/include/sharedmem.h.

Referenced by sharedmem_alloc_create(), and sharedmem_alloc_get_ptr().

#define SHAREDMEM_SEM (  )     ((i)->sem)

Get pointer to shared memory semaphore.

Definition at line 143 of file debian/libsharedmem1-dev/usr/include/sharedmem.h.

#define SHAREDMEM_SIZE (  )     ((i)->mapped_size)

Get size of the shared memory.

Definition at line 147 of file debian/libsharedmem1-dev/usr/include/sharedmem.h.

Referenced by sharedmem_alloc_create(), and sharedmem_alloc_grow().

#define unlikely (  )     (x)

Definition at line 89 of file debian/libsharedmem1-dev/usr/include/sharedmem.h.


Typedef Documentation

typedef struct _sharedmem_ctrl_t sharedmem_ctrl_t

Shared memory control structure. Separately mapped.

typedef struct _sharedmem_error_t sharedmem_error_t

Error information structure.

typedef struct _sharedmem_t sharedmem_t

Shared memory object instance structure.


Function Documentation

int sharedmem_close ( sharedmem_t inst  ) 

Close named shared memory.

Parameters:
inst Instance of shared memory object
Returns:
0 on success
Examples:
test.c, test3.c, and test4.c.

Definition at line 413 of file sharedmem.c.

int sharedmem_create ( sharedmem_t inst,
const char *  name,
size_t  size 
)

Create named shared memory of specified size.

Parameters:
inst Instance of shared memory object
name Name of the shared memory (with leading slash)
size Size of the shared memory
Returns:
0 on success
Examples:
test.c, test3.c, and test4.c.

Definition at line 295 of file sharedmem.c.

int sharedmem_get_error_code ( sharedmem_t inst  ) 

Get error code.

Parameters:
inst Instance of shared memory object
Returns:
error code

Definition at line 649 of file sharedmem.c.

const char* sharedmem_get_error_string ( sharedmem_t inst  ) 

Get error string.

Parameters:
inst Instance of shared memory object
Returns:
pointer to error string
Examples:
test.c, test3.c, and test4.c.

Definition at line 658 of file sharedmem.c.

int sharedmem_lock ( sharedmem_t inst  ) 

Lock shared memory.

Parameters:
inst Instance of shared memory object
Returns:
success?

Definition at line 637 of file sharedmem.c.

Referenced by sharedmem_alloc(), sharedmem_alloc_create(), sharedmem_alloc_grow(), sharedmem_free(), and sharedmem_realloc().

int sharedmem_open ( sharedmem_t inst,
const char *  name 
)

Open named shared memory.

Parameters:
inst Instance of shared memory object
name Name of shared memory
Returns:
0 on success
Examples:
test.c.

Definition at line 362 of file sharedmem.c.

int sharedmem_resize ( sharedmem_t inst,
size_t  size 
)

Resize named shared memory.

Parameters:
inst Instance of shared memory object
size New size of shared memory
Returns:
0 on success

Definition at line 508 of file sharedmem.c.

Referenced by sharedmem_alloc_grow().

int sharedmem_resize2 ( sharedmem_t inst  ) 

Resize named shared memory.

Note:
This updates the size of the mapping to a new size in shared memory.
Parameters:
inst Instance of shared memory object
Returns:
0 on success

Definition at line 570 of file sharedmem.c.

int sharedmem_size_changed ( sharedmem_t inst  ) 

Check for changes in named shared memory size.

Note:
This function does not acquire mutex!
Parameters:
inst Instance of shared memory object
Returns:
0 for no changes, 1 if changed and -1 on error

Definition at line 621 of file sharedmem.c.

int sharedmem_unlock ( sharedmem_t inst  ) 

Unlock shared memory.

Parameters:
inst Instance of shared memory object
Returns:
success?

Definition at line 643 of file sharedmem.c.

Referenced by sharedmem_alloc(), sharedmem_alloc_create(), sharedmem_alloc_grow(), sharedmem_free(), and sharedmem_realloc().


Generated on Thu Sep 13 18:14:25 2007 for libsharedmem by  doxygen 1.5.1