diff options
author | Chris Johns <chrisj@rtems.org> | 2017-03-13 12:00:35 -0400 |
---|---|---|
committer | Gedare Bloom <gedare@rtems.org> | 2017-05-05 10:34:08 -0400 |
commit | 8290f95cbdd5129561d8a375a223055ee7941116 (patch) | |
tree | 96d25c735f662d0bed0044d5dc88976b0e8e341b /cpukit/posix/include/rtems/posix | |
parent | posix/shm: replace threadq with mutex (allocator lock) (diff) | |
download | rtems-8290f95cbdd5129561d8a375a223055ee7941116.tar.bz2 |
posix: Add mmap/unmap support for mapping files.
This version of mmap comes from early work done
on the RTL code base circa 2012.
Update #2859.
Diffstat (limited to 'cpukit/posix/include/rtems/posix')
-rw-r--r-- | cpukit/posix/include/rtems/posix/mmanimpl.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/cpukit/posix/include/rtems/posix/mmanimpl.h b/cpukit/posix/include/rtems/posix/mmanimpl.h new file mode 100644 index 0000000000..9743685a57 --- /dev/null +++ b/cpukit/posix/include/rtems/posix/mmanimpl.h @@ -0,0 +1,44 @@ +/** + * @file + * + * @brief Internal Support for POSIX 1003.1b 6.3.1 - map pages of memory + * + */ + +/* + * Copyright (c) 2012 Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#ifndef _RTEMS_POSIX_MMANIMPL_H +#define _RTEMS_POSIX_MMANIMPL_H + +#include <rtems/chain.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Every mmap'ed region has a mapping. + */ +typedef struct mmap_mappings_s { + rtems_chain_node node; /**< The mapping chain's node */ + void* addr; /**< The address of the mapped memory */ + size_t len; /**< The length of memory mapped */ + int flags; /**< The mapping flags */ +} mmap_mapping; + +extern rtems_chain_control mmap_mappings; + +bool mmap_mappings_lock_obtain( void ); +bool mmap_mappings_lock_release( void ); + +#ifdef __cplusplus +} +#endif + +#endif |