#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <time.h>
#include <signal.h>
#include <unistd.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <semaphore.h>
#include "sharedmem.h"
#include "sharedmem_private.h"
Include dependency graph for sharedmem.c:
Go to the source code of this file.
Defines | |
#define | _XOPEN_SOURCE 600 |
#define | _POSIX_C_SOURCE 200112L |
Functions | |
void | _sharedmem_set_error (sharedmem_t *inst, int error_code, const char *error_str) |
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) |
Variables | |
long | sharedmem_page_size = 0 |
#define _POSIX_C_SOURCE 200112L |
Definition at line 30 of file sharedmem.c.
#define _XOPEN_SOURCE 600 |
Definition at line 29 of file sharedmem.c.
void _sharedmem_set_error | ( | sharedmem_t * | inst, | |
int | error_code, | |||
const char * | error_str | |||
) |
Definition at line 60 of file sharedmem.c.
References _sharedmem_error_t::code, _sharedmem_t::error, SHAREDMEM_ERROR_SIZE, and _sharedmem_error_t::string.
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.
long sharedmem_page_size = 0 |
System page size
Definition at line 56 of file sharedmem.c.