35#ifndef _RTEMS_POSIX_SHMIMPL_H
36#define _RTEMS_POSIX_SHMIMPL_H
64static inline void _POSIX_Shm_Free (
73 size_t *name_length_p,
74 Objects_Get_by_name_error *error
85static inline void _POSIX_Shm_Update_atime(
90 gettimeofday( &now, 0 );
91 shm->atime = now.tv_sec;
94static inline void _POSIX_Shm_Update_mtime_ctime(
99 gettimeofday( &now, 0 );
100 shm->mtime = now.tv_sec;
101 shm->ctime = now.tv_sec;
116static inline int POSIX_Shm_Attempt_delete(
126 _Objects_Allocator_lock();
127 --shm->reference_count;
128 if ( shm->reference_count == 0 ) {
137 _POSIX_Shm_Free( shm );
142 _Objects_Allocator_unlock();
Objects_Information _POSIX_Shm_Information
The POSIX Shared Memory objects information.
#define _ISR_lock_ISR_enable(_context)
Restores the saved interrupt state of the ISR lock context.
Definition: isrlock.h:385
Objects_Control * _Objects_Get_by_name(const Objects_Information *information, const char *name, size_t *name_length_p, Objects_Get_by_name_error *error)
Gets an object control block identified by its name.
Definition: objectnametoidstring.c:46
Objects_Control * _Objects_Get(Objects_Id id, ISR_lock_Context *lock_context, const Objects_Information *information)
Maps the specified object identifier to the associated local object control block.
Definition: objectgetlocal.c:43
This header file provides interfaces used by the POSIX API implementation.
This header file provides interfaces of the Object Handler which are only used by the implementation.
Internal Support for POSIX Shared Memory.
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:94
Definition: objectdata.h:61
Objects_Id id
Definition: objectdata.h:65
Control for a POSIX Shared Memory Object.
Definition: shm.h:130
int(* object_delete)(POSIX_Shm_Object *shm_obj)
Deletes the shm_obj.
Definition: shm.h:107
const POSIX_Shm_Object_operations * ops
Implementation-specific operations on shm objects.
Definition: shm.h:75
File system location.
Definition: fs.h:72
An open file data structure.
Definition: libio.h:1338