From 8290f95cbdd5129561d8a375a223055ee7941116 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Mon, 13 Mar 2017 12:00:35 -0400 Subject: 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. --- cpukit/posix/include/rtems/posix/mmanimpl.h | 44 +++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 cpukit/posix/include/rtems/posix/mmanimpl.h (limited to 'cpukit/posix/include/rtems/posix/mmanimpl.h') 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 + +#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 -- cgit v1.2.3