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();
struct rtems_filesystem_location_info_tt rtems_filesystem_location_info_t
File system location.
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