L4Re Operating System Framework
Interface and Usage Documentation
|
Shared memory library header file. More...
#include <l4/sys/linkage.h>
#include <l4/sys/types.h>
#include <l4/sys/err.h>
#include <l4/shmc/types.h>
#include <l4/shmc/internal.h>
Go to the source code of this file.
Functions | |
long | l4shmc_create (char const *shmc_name) |
Create a shared memory area. | |
long | l4shmc_attach (char const *shmc_name, l4shmc_area_t *shmarea) |
Attach to a shared memory area. | |
long | l4shmc_get_client_nr (l4shmc_area_t const *shmarea) |
Determine the client number of the shared memory region. | |
long | l4shmc_mark_client_initialized (l4shmc_area_t *shmarea) |
Mark this shared memory client as 'initialized'. | |
long | l4shmc_get_initialized_clients (l4shmc_area_t *shmarea, l4_umword_t *bitmask) |
Fetch the _clients_init_done bitmask of the shared memory area. | |
long | l4shmc_add_chunk (l4shmc_area_t *shmarea, char const *chunk_name, l4_umword_t chunk_capacity, l4shmc_chunk_t *chunk) |
Add a chunk in the shared memory area. | |
long | l4shmc_add_signal (l4shmc_area_t *shmarea, char const *signal_name, l4shmc_signal_t *signal) |
Add a signal for the shared memory area. | |
long | l4shmc_trigger (l4shmc_signal_t *signal) |
Trigger a signal. | |
long | l4shmc_chunk_try_to_take (l4shmc_chunk_t *chunk) |
Try to mark chunk busy. | |
long | l4shmc_chunk_try_to_take_for_writing (l4shmc_chunk_t *chunk) |
Try to mark chunk busy writing. | |
long | l4shmc_chunk_try_to_take_for_overwriting (l4shmc_chunk_t *chunk) |
Try to mark the chunk busy writing after it was ready for reading. | |
long | l4shmc_chunk_try_to_take_for_reading (l4shmc_chunk_t *chunk) |
Try to mark chunk busy reading. | |
long | l4shmc_chunk_ready (l4shmc_chunk_t *chunk, l4_umword_t size) |
Mark chunk as filled (ready). | |
long | l4shmc_chunk_ready_sig (l4shmc_chunk_t *chunk, l4_umword_t size) |
Mark chunk as filled (ready) and signal consumer. | |
long | l4shmc_get_chunk (l4shmc_area_t *shmarea, char const *chunk_name, l4shmc_chunk_t *chunk) |
Get chunk out of shared memory area. | |
long | l4shmc_get_chunk_to (l4shmc_area_t *shmarea, char const *chunk_name, l4_umword_t timeout_ms, l4shmc_chunk_t *chunk) |
Get chunk out of shared memory area, with timeout. | |
long | l4shmc_iterate_chunk (l4shmc_area_t const *shmarea, char const **chunk_name, long offs) |
Iterate over names of all existing chunks. | |
long | l4shmc_attach_signal (l4shmc_area_t *shmarea, char const *signal_name, l4_cap_idx_t thread, l4shmc_signal_t *signal) |
Attach to signal. | |
long | l4shmc_get_signal (l4shmc_area_t *shmarea, char const *signal_name, l4shmc_signal_t *signal) |
Get signal object from the shared memory area. | |
long | l4shmc_enable_signal (l4shmc_signal_t *signal) |
Enable a signal. | |
long | l4shmc_enable_chunk (l4shmc_chunk_t *chunk) |
Enable a signal connected with a chunk. | |
long | l4shmc_wait_any (l4shmc_signal_t **retsignal) |
Wait on any signal. | |
long | l4shmc_wait_any_try (l4shmc_signal_t **retsignal) |
Check whether any waited signal has an event pending. | |
long | l4shmc_wait_any_to (l4_timeout_t timeout, l4shmc_signal_t **retsignal) |
Wait for any signal with timeout. | |
long | l4shmc_wait_signal (l4shmc_signal_t *signal) |
Wait on a specific signal. | |
long | l4shmc_wait_signal_to (l4shmc_signal_t *signal, l4_timeout_t timeout) |
Wait on a specific signal, with timeout. | |
long | l4shmc_wait_signal_try (l4shmc_signal_t *signal) |
Check whether a specific signal has an event pending. | |
long | l4shmc_wait_chunk (l4shmc_chunk_t *chunk) |
Wait on a specific chunk. | |
long | l4shmc_wait_chunk_to (l4shmc_chunk_t *chunk, l4_timeout_t timeout) |
Check whether a specific chunk has an event pending, with timeout. | |
long | l4shmc_wait_chunk_try (l4shmc_chunk_t *chunk) |
Check whether a specific chunk has an event pending. | |
long | l4shmc_chunk_consumed (l4shmc_chunk_t *chunk) |
Mark a chunk as free. | |
long | l4shmc_connect_chunk_signal (l4shmc_chunk_t *chunk, l4shmc_signal_t *signal) |
Connect a signal with a chunk. | |
long | l4shmc_is_chunk_ready (l4shmc_chunk_t const *chunk) |
Check whether data is available. | |
long | l4shmc_is_chunk_clear (l4shmc_chunk_t const *chunk) |
Check whether chunk is free. | |
void * | l4shmc_chunk_ptr (l4shmc_chunk_t const *chunk) |
Get data pointer to chunk. | |
long | l4shmc_chunk_size (l4shmc_chunk_t const *chunk) |
Get current size of a chunk. | |
long | l4shmc_chunk_capacity (l4shmc_chunk_t const *chunk) |
Get capacity of a chunk. | |
l4shmc_signal_t * | l4shmc_chunk_signal (l4shmc_chunk_t const *chunk) |
Get the registered signal of a chunk. | |
l4_cap_idx_t | l4shmc_signal_cap (l4shmc_signal_t const *signal) |
Get the signal capability of a signal. | |
long | l4shmc_check_magic (l4shmc_chunk_t const *chunk) |
Check magic value of a chunk. | |
long | l4shmc_area_size (l4shmc_area_t const *shmarea) |
Get size of shared memory area. | |
long | l4shmc_area_size_free (l4shmc_area_t const *shmarea) |
Get free size of shared memory area. | |
long | l4shmc_area_overhead (void) |
Get memory overhead per area that is not available for chunks. | |
long | l4shmc_chunk_overhead (void) |
Get memory overhead required in addition to the chunk capacity for adding one chunk. | |
Shared memory library header file.
Definition in file shmc.h.