#include "shm_config.h"
#include <limits.h>
#include <sys/types.h>
#include <pthread.h>
#include <semaphore.h>
Include dependency graph for sharedmem.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
#define likely | ( | x | ) | (x) |
Definition at line 88 of file sharedmem.h.
#define prefetch | ( | x, | |||
w, | |||||
l | ) |
Definition at line 90 of file sharedmem.h.
#define SHAREDMEM_COND | ( | i | ) | (&(i)->ctrl->cond) |
Get pointer to shared memory condition variable.
Definition at line 141 of file sharedmem.h.
#define SHAREDMEM_ERROR_SIZE 256 |
Definition at line 79 of file sharedmem.h.
#define SHAREDMEM_MUTEX | ( | i | ) | (&(i)->ctrl->mutex) |
Get pointer to shared memory mutex.
Definition at line 139 of file sharedmem.h.
#define SHAREDMEM_NAME_LENGTH _POSIX_PATH_MAX |
Definition at line 80 of file sharedmem.h.
#define SHAREDMEM_PTR | ( | i | ) | ((i)->pdata) |
Get pointer to shared memory.
Definition at line 145 of file sharedmem.h.
#define SHAREDMEM_SEM | ( | i | ) | ((i)->sem) |
Get pointer to shared memory semaphore.
Definition at line 143 of file sharedmem.h.
#define SHAREDMEM_SIZE | ( | i | ) | ((i)->mapped_size) |
Get size of the shared memory.
Definition at line 147 of file sharedmem.h.
#define unlikely | ( | x | ) | (x) |
Definition at line 89 of file sharedmem.h.
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.
int sharedmem_close | ( | sharedmem_t * | inst | ) |
Close named shared memory.
inst | Instance of shared memory object |
Definition at line 413 of file sharedmem.c.
References _sharedmem_t::ctrl, _sharedmem_t::fd, _sharedmem_t::name, _sharedmem_ctrl_t::ref, and _sharedmem_t::sem.
int sharedmem_create | ( | sharedmem_t * | inst, | |
const char * | name, | |||
size_t | size | |||
) |
Create named shared memory of specified size.
inst | Instance of shared memory object | |
name | Name of the shared memory (with leading slash) | |
size | Size of the shared memory |
Definition at line 295 of file sharedmem.c.
References _sharedmem_t::ctrl, _sharedmem_t::fd, _sharedmem_t::name, _sharedmem_ctrl_t::ref, _sharedmem_t::sem, SHAREDMEM_NAME_LENGTH, and _sharedmem_ctrl_t::size.
int sharedmem_get_error_code | ( | sharedmem_t * | inst | ) |
Get error code.
inst | Instance of shared memory object |
Definition at line 649 of file sharedmem.c.
References _sharedmem_error_t::code, and _sharedmem_t::error.
const char* sharedmem_get_error_string | ( | sharedmem_t * | inst | ) |
Get error string.
inst | Instance of shared memory object |
Definition at line 658 of file sharedmem.c.
References _sharedmem_t::error, and _sharedmem_error_t::string.
int sharedmem_lock | ( | sharedmem_t * | inst | ) |
Lock shared memory.
inst | Instance of shared memory object |
Definition at line 637 of file sharedmem.c.
int sharedmem_open | ( | sharedmem_t * | inst, | |
const char * | name | |||
) |
Open named shared memory.
inst | Instance of shared memory object | |
name | Name of shared memory |
Definition at line 362 of file sharedmem.c.
References _sharedmem_t::ctrl, _sharedmem_t::fd, _sharedmem_t::name, _sharedmem_ctrl_t::ref, _sharedmem_t::sem, and SHAREDMEM_NAME_LENGTH.
int sharedmem_resize | ( | sharedmem_t * | inst, | |
size_t | size | |||
) |
Resize named shared memory.
inst | Instance of shared memory object | |
size | New size of shared memory |
Definition at line 508 of file sharedmem.c.
References _sharedmem_t::ctrl, _sharedmem_t::fd, _sharedmem_t::mapped_size, _sharedmem_t::pdata, and _sharedmem_ctrl_t::size.
int sharedmem_resize2 | ( | sharedmem_t * | inst | ) |
Resize named shared memory.
inst | Instance of shared memory object |
Definition at line 570 of file sharedmem.c.
References _sharedmem_t::ctrl, _sharedmem_t::fd, _sharedmem_t::mapped_size, _sharedmem_t::pdata, and _sharedmem_ctrl_t::size.
int sharedmem_size_changed | ( | sharedmem_t * | inst | ) |
Check for changes in named shared memory size.
inst | Instance of shared memory object |
Definition at line 621 of file sharedmem.c.
References _sharedmem_t::ctrl, _sharedmem_t::mapped_size, and _sharedmem_ctrl_t::size.
int sharedmem_unlock | ( | sharedmem_t * | inst | ) |
Unlock shared memory.
inst | Instance of shared memory object |
Definition at line 643 of file sharedmem.c.