diff options
author | Gedare Bloom <gedare@rtems.org> | 2017-03-15 14:31:00 -0400 |
---|---|---|
committer | Gedare Bloom <gedare@rtems.org> | 2017-05-05 10:34:08 -0400 |
commit | 87de70a2984cece87db94f4b445589c4e24e5c77 (patch) | |
tree | 945d211b09e3b7714a2bba6d06ceae7a601d4116 /cpukit/posix/src/shmwkspace.c | |
parent | posix: Add mmap/unmap support for mapping files. (diff) | |
download | rtems-87de70a2984cece87db94f4b445589c4e24e5c77.tar.bz2 |
posix/mman: add mmap support for shm objects
Update #2859.
Diffstat (limited to 'cpukit/posix/src/shmwkspace.c')
-rw-r--r-- | cpukit/posix/src/shmwkspace.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/cpukit/posix/src/shmwkspace.c b/cpukit/posix/src/shmwkspace.c index 6d6cd211a5..bcef3531ef 100644 --- a/cpukit/posix/src/shmwkspace.c +++ b/cpukit/posix/src/shmwkspace.c @@ -75,4 +75,21 @@ int _POSIX_Shm_Object_read_from_workspace( return count; } +void * _POSIX_Shm_Object_mmap_from_workspace( + POSIX_Shm_Object *shm_obj, + size_t len, + int prot, + off_t off +) +{ + if ( shm_obj == NULL || shm_obj->handle == NULL ) + return 0; + + /* This is already checked by mmap. Maybe make it a debug assert? */ + if ( shm_obj->size < len + off ) { + return NULL; + } + + return &(shm_obj->handle[off]); +} |