86#if !defined (PLIBSYS_H_INSIDE) && !defined (PLIBSYS_COMPILATION)
87# error "Header files shouldn't be included directly, consider using <plibsys.h> instead."
90#ifndef PLIBSYS_HEADER_PSHM_H
91#define PLIBSYS_HEADER_PSHM_H
struct PError_ PError
Opaque data structure for an error object.
#define P_BEGIN_DECLS
Starts .h file declarations to be exported as C functions.
#define P_END_DECLS
Closes .h file declarations to be exported as C functions, should be always used after P_BEGIN_DECLS.
#define P_LIB_API
Exports a symbol from a shared library.
P_LIB_API pboolean p_shm_lock(PShm *shm, PError **error)
Locks PShm object for usage.
P_LIB_API psize p_shm_get_size(const PShm *shm)
Gets the size of a PShm memory segment.
struct PShm_ PShm
Shared memory opaque data structure.
P_LIB_API void p_shm_take_ownership(PShm *shm)
Takes ownership of a shared memory segment.
PShmAccessPerms_
Enum with shared memory access permissions.
@ P_SHM_ACCESS_READONLY
Read-only access.
@ P_SHM_ACCESS_READWRITE
Read/write access.
P_LIB_API ppointer p_shm_get_address(const PShm *shm)
Gets a starting address of a PShm memory segment.
enum PShmAccessPerms_ PShmAccessPerms
Enum with shared memory access permissions.
P_LIB_API pboolean p_shm_unlock(PShm *shm, PError **error)
Unlocks PShm object.
P_LIB_API void p_shm_free(PShm *shm)
Frees PShm object.
P_LIB_API PShm * p_shm_new(const pchar *name, psize size, PShmAccessPerms perms, PError **error)
Creates a new PShm object.
char pchar
Type for a char.
unsigned int psize
Type for a platform independent size_t.
void * ppointer
Type for a pointer.
signed int pboolean
Type for a bool.